// Build mobile applications for iOS, Android, and cross-platform with React Native and Flutter. Learn native development, responsive UI design, performance optimization, and mobile-specific patterns. Use when developing mobile apps, learning iOS/Android, or cross-platform frameworks.
| name | mobile-development |
| description | Build mobile applications for iOS, Android, and cross-platform with React Native and Flutter. Learn native development, responsive UI design, performance optimization, and mobile-specific patterns. Use when developing mobile apps, learning iOS/Android, or cross-platform frameworks. |
Create mobile applications that work across iOS, Android, and web platforms.
// Kotlin Android Development with Jetpack Compose
import androidx.compose.foundation.layout.Column
import androidx.compose.material.Button
import androidx.compose.material.Text
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
@Composable
fun CounterApp() {
var count by remember { mutableStateOf(0) }
Column {
Text(text = "Count: $count")
Button(onClick = { count++ }) {
Text("Increment")
}
}
}
Cross-Platform:
Native Development:
// Flutter Provider Pattern
final counterProvider = StateNotifier<int>((ref) => 0);
class Counter extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final count = ref.watch(counterProvider);
return Scaffold(
body: Center(
child: Column(
children: [
Text('Count: $count'),
ElevatedButton(
onPressed: () => ref.read(counterProvider.notifier).state++,
child: Text('Increment'),
),
],
),
),
);
}
}
After completing this skill:
โ Build native iOS apps with Swift โ Build native Android apps with Kotlin โ Master React Native for cross-platform โ Master Flutter for cross-platform โ Design responsive mobile UIs โ Implement local data persistence โ Integrate with backend APIs โ Optimize mobile performance โ Deploy to App Store and Google Play โ Handle platform-specific requirements
// React Native Performance Tips
import React, { memo, useCallback } from 'react';
import { FlatList } from 'react-native';
// Memoize components
const ListItem = memo(({ item, onPress }) => (
<TouchableOpacity onPress={onPress}>
<Text>{item.name}</Text>
</TouchableOpacity>
));
// Use useCallback for stable references
const handleItemPress = useCallback((id) => {
navigation.navigate('Detail', { id });
}, [navigation]);
// Use FlatList key extractors
<FlatList
data={items}
keyExtractor={(item) => item.id}
renderItem={({ item }) => (
<ListItem item={item} onPress={handleItemPress} />
)}
removeClippedSubviews={true}
initialNumToRender={10}
/>
iOS:
Android:
Official Documentation:
Books:
Courses:
Status: Comprehensive mobile skill covering 7 roles and all major platforms