### Install Example Dependencies Source: https://github.com/swc-project/swc/blob/main/bindings/binding_core_wasm/example/readme.txt Navigate to the example directory and install npm dependencies. ```bash cd swc/wasm/example npm install ``` -------------------------------- ### Start Webpack Dev Server Source: https://github.com/swc-project/swc/blob/main/bindings/binding_core_wasm/example/readme.txt Run the npm script to start the webpack development server for the example. ```bash cd swc/wasm/example npm run serve ``` -------------------------------- ### View Example Source: https://github.com/swc-project/swc/blob/main/crates/swc/tests/flow-projects/react-native/manifest.txt Basic example of the View component. ```javascript import React from 'react'; import { StyleSheet, Text, View } from 'react-native'; const ViewExample = () => ( View Example ); const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, }); export default ViewExample; ``` -------------------------------- ### Url Example Source: https://github.com/swc-project/swc/blob/main/crates/swc/tests/flow-projects/react-native/manifest.txt Example demonstrating URL handling. ```javascript import React from 'react'; import { StyleSheet, Text, View } from 'react-native'; const UrlExample = () => ( URL Example ); const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, }); export default UrlExample; ``` -------------------------------- ### WebSocket Example Source: https://github.com/swc-project/swc/blob/main/crates/swc/tests/flow-projects/react-native/manifest.txt Example demonstrating WebSocket communication. ```javascript import React, { useEffect, useState } from 'react'; import { StyleSheet, Text, View } from 'react-native'; const WebSocketExample = () => { const [message, setMessage] = useState(''); useEffect(() => { const ws = new WebSocket('ws://localhost:8080'); ws.onopen = () => { setMessage('Connected'); }; ws.onmessage = (event) => { setMessage('Received: ' + event.data); }; ws.onerror = (error) => { setMessage('Error: ' + error.message); }; ws.onclose = () => { setMessage('Disconnected'); }; return () => { ws.close(); }; }, []); return ( {message} ); }; const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, }); export default WebSocketExample; ``` -------------------------------- ### TurboModule Example Source: https://github.com/swc-project/swc/blob/main/crates/swc/tests/flow-projects/react-native/manifest.txt General example of a TurboModule. ```javascript import React from 'react'; import { StyleSheet, Text, View } from 'react-native'; const TurboModuleExample = () => ( Turbo Module Example ); const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, }); export default TurboModuleExample; ``` -------------------------------- ### TextInput Key Prop Example Source: https://github.com/swc-project/swc/blob/main/crates/swc/tests/flow-projects/react-native/manifest.txt Example demonstrating the 'key' prop with TextInput. ```javascript import React, { useState } from 'react'; import { StyleSheet, TextInput, View } from 'react-native'; const TextInputKeyProp = () => { const [text, setText] = useState(''); return ( ); }; const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, input: { height: 40, margin: 12, borderWidth: 1, padding: 10, }, }); export default TextInputKeyProp; ``` -------------------------------- ### Timer Example Source: https://github.com/swc-project/swc/blob/main/crates/swc/tests/flow-projects/react-native/manifest.txt Example demonstrating timer functionalities. ```javascript import React, { useEffect, useState } from 'react'; import { StyleSheet, Text, View } from 'react-native'; const TimerExample = () => { const [seconds, setSeconds] = useState(0); useEffect(() => { const interval = setInterval(() => { setSeconds(seconds => seconds + 1); }, 1000); return () => clearInterval(interval); }, []); return ( Timer: {seconds}s ); }; const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, }); export default TimerExample; ``` -------------------------------- ### NativeCxxModuleExample Example Source: https://github.com/swc-project/swc/blob/main/crates/swc/tests/flow-projects/react-native/manifest.txt Example of a native C++ module. ```javascript import React from 'react'; import { StyleSheet, Text, View } from 'react-native'; const NativeCxxModuleExample = () => ( Native CXX Module Example ); const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, }); export default NativeCxxModuleExample; ``` -------------------------------- ### Dimensions Example Source: https://github.com/swc-project/swc/blob/main/crates/swc/tests/flow-projects/react-native/manifest.txt Shows how to get screen dimensions using the Dimensions API. Useful for responsive layouts. ```javascript import * as React from 'react'; import { Dimensions, StyleSheet, Text, View, } from 'react-native'; const DimensionsExample = () => { const windowWidth = Dimensions.get('window').width; const windowHeight = Dimensions.get('window').height; const screenWidth = Dimensions.get('screen').width; const screenHeight = Dimensions.get('screen').height; return ( Screen Dimensions: Window Width: {windowWidth.toFixed(2)} Window Height: {windowHeight.toFixed(2)} Screen Width: {screenWidth.toFixed(2)} Screen Height: {screenHeight.toFixed(2)} ); }; const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#F5FCFF', }, text: { fontSize: 20, textAlign: 'center', margin: 10, }, dimensionText: { fontSize: 18, color: 'blue', }, }); export default DimensionsExample; ``` -------------------------------- ### SnapshotViewIOS Example Source: https://github.com/swc-project/swc/blob/main/crates/swc/tests/flow-projects/react-native/manifest.txt Example for taking snapshots of views on iOS. ```javascript import React from 'react'; import { StyleSheet, Text, View } from 'react-native'; const SnapshotViewIOS = () => ( SnapshotViewIOS Example ); const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, }); export default SnapshotViewIOS; ``` -------------------------------- ### Animated.View Example with Pan Gesture Source: https://github.com/swc-project/swc/blob/main/crates/swc/tests/flow-projects/react-native/manifest.txt Integrates pan gestures with animations using Animated.event. Requires a gesture handler setup. ```javascript import * as React from 'react'; import { Animated, StyleSheet, Text, View, } from 'react-native'; import { PanGestureHandler } from 'react-native-gesture-handler'; const PanGestureExample = () => { const translateX = React.useRef(new Animated.Value(0)).current; const translateY = React.useRef(new Animated.Value(0)).current; const handlePanGesture = Animated.event([ { nativeEvent: { translationX: translateX, translationY: translateY, }, }, ], { useNativeDriver: true, }); return ( Drag Me ); }; const styles = StyleSheet.create({ container: { flex: 1, alignItems: 'center', justifyContent: 'center', }, box: { width: 100, height: 100, backgroundColor: 'tomato', justifyContent: 'center', alignItems: 'center', }, text: { color: 'white', fontSize: 20, }, }); export default PanGestureExample; ``` -------------------------------- ### SetPropertiesExample Source: https://github.com/swc-project/swc/blob/main/crates/swc/tests/flow-projects/react-native/manifest.txt Example demonstrating how to set properties on components. ```javascript import React from 'react'; import { StyleSheet, Text, View } from 'react-native'; const SetPropertiesExample = () => ( Hello World ); const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, text: { fontSize: 20, }, }); export default SetPropertiesExample; ``` -------------------------------- ### ToastAndroid Example Source: https://github.com/swc-project/swc/blob/main/crates/swc/tests/flow-projects/react-native/manifest.txt Example of using the ToastAndroid API. ```javascript import React from 'react'; import { Button, StyleSheet, Text, ToastAndroid, View } from 'react-native'; const ToastAndroidExample = () => { const showToast = () => { ToastAndroid.show('This is a toast!', ToastAndroid.SHORT); }; return (