Awesome-omni-skill mobile-guide
Comprehensive mobile development guide for iOS, Android, React Native, and Flutter. Includes Swift, Kotlin, and cross-platform frameworks. Use when building mobile applications, iOS, Android, or cross-platform apps.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/mobile-guide-majiayu000" ~/.claude/skills/diegosouzapw-awesome-omni-skill-mobile-guide && rm -rf "$T"
manifest:
skills/development/mobile-guide-majiayu000/SKILL.mdsource content
Mobile Development Guide
Master native and cross-platform mobile development for iOS and Android platforms.
Quick Start
iOS with Swift
import SwiftUI struct ContentView: View { @State private var todos: [String] = [] @State private var newTodo = "" var body: some View { VStack { TextField("Add todo", text: $newTodo) Button("Add") { todos.append(newTodo) newTodo = "" } List { ForEach(todos, id: \.self) { todo in Text(todo) } } } } }
Android with Kotlin
import androidx.compose.material3.Button import androidx.compose.material3.TextField import androidx.compose.runtime.mutableStateOf @Composable fun TodoApp() { var todos by remember { mutableStateOf(listOf<String>()) } var newTodo by remember { mutableStateOf("") } Column { TextField( value = newTodo, onValueChange = { newTodo = it }, label = { Text("Add todo") } ) Button(onClick = { todos = todos + newTodo newTodo = "" }) { Text("Add") } LazyColumn { items(todos) { todo -> Text(todo) } } } }
React Native
import React, { useState } from 'react'; import { View, TextInput, TouchableOpacity, FlatList, Text } from 'react-native'; export default function TodoApp() { const [todos, setTodos] = useState([]); const [input, setInput] = useState(''); const addTodo = () => { setTodos([...todos, input]); setInput(''); }; return ( <View> <TextInput placeholder="Add todo" value={input} onChangeText={setInput} /> <TouchableOpacity onPress={addTodo}> <Text>Add</Text> </TouchableOpacity> <FlatList data={todos} renderItem={({ item }) => <Text>{item}</Text>} /> </View> ); }
Flutter
import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class TodoApp extends StatefulWidget { const TodoApp({Key? key}) : super(key: key); @override State<TodoApp> createState() => _TodoAppState(); } class _TodoAppState extends State<TodoApp> { List<String> todos = []; TextEditingController controller = TextEditingController(); @override Widget build(BuildContext context) { return Scaffold( body: Column( children: [ TextField(controller: controller), ElevatedButton( onPressed: () { setState(() => todos.add(controller.text)); controller.clear(); }, child: const Text('Add'), ), Expanded( child: ListView.builder( itemCount: todos.length, itemBuilder: (context, index) => Text(todos[index]), ), ), ], ), ); } }
iOS Development Path
Swift Basics
- Variables & Types: var, let, type safety
- Functions: Parameters, return types, closures
- Structs & Classes: Value vs reference types
- Error Handling: try/catch, Result type
- Concurrency: async/await, actors
UI Frameworks
-
SwiftUI: Modern declarative UI (recommended)
- Views, state management, modifiers
- Navigation, animation, gestures
- Data binding with @State, @ObservedObject
-
UIKit: Older imperative framework
- View controllers, navigation stack
- Delegates and data sources
- Auto Layout constraints
iOS Architecture
- MVC: Model-View-Controller
- MVVM: Model-View-ViewModel with observable
- CLEAN: Entity, Use Case, Interface
- Coordinator Pattern: Navigation management
Key Frameworks
- Foundation: Core utilities and data types
- CoreData: Local persistence
- Networking: URLSession for API calls
- CoreLocation: Location services
- AVFoundation: Camera and media
Android Development Path
Kotlin Basics
- Variables & Functions: val, var, fun
- Classes & Objects: Data classes, sealed classes
- Extension Functions: Adding methods to types
- Coroutines: async/await equivalent
- Flow: Reactive streams
UI Frameworks
-
Jetpack Compose: Modern declarative UI (recommended)
- Composables, state hoisting
- Layouts and modifiers
- Navigation, animation
-
XML Layouts: Traditional approach
- Activity, Fragment architecture
- View binding, data binding
Android Architecture
- MVC: Model-View-Controller
- MVVM: ViewModel, LiveData, Data Binding
- CLEAN: Separation of concerns
- Repository Pattern: Data abstraction
Key Libraries
- Jetpack Components: Room, Lifecycle, ViewModel
- Retrofit: HTTP client
- Hilt: Dependency injection
- Firebase: Analytics, push notifications
Cross-Platform: React Native
Setup & Development
- Expo: Managed development environment
- React Native CLI: Full control
- Navigation: React Navigation
- State Management: Redux, Context API
Advantages & Tradeoffs
- Pros: Code sharing, JavaScript ecosystem
- Cons: Performance, native feel, tooling maturity
Best Practices
- Platform-specific code separation
- Native module development
- Performance optimization
- Bridge communication with native
Cross-Platform: Flutter
Setup & Development
- Dart Language: Flutter's language
- Widget Tree: UI composition
- State Management: Provider, Riverpod, Bloc
- Navigation: Named routes, deep linking
Advantages
- Performance: Compiled to native
- Hot Reload: Fast development
- Beautiful UI: Rich widget library
- Single Codebase: iOS and Android
Ecosystem
- Pub.dev: Package registry
- Popular Packages: http, provider, get
- Plugins: Native functionality access
- Firebase Integration: Easy setup
Mobile Development Essentials
Networking
- REST APIs: JSON parsing, error handling
- GraphQL: Mobile query language
- Offline Sync: Local storage, sync strategies
- SSL Pinning: Security
Local Data
- SQLite: Structured data
- Key-Value Storage: SharedPreferences, UserDefaults
- File System: Documents, cache directories
Authentication
- OAuth 2.0: Third-party login
- JWT: Token-based auth
- Biometric: Face ID, fingerprint
- Session Management: Token refresh
Testing
- Unit Tests: Business logic
- Widget/Component Tests: UI testing
- Integration Tests: Full app flows
- UI Automation: End-to-end testing
Deployment
iOS
- Apple Developer Account registration
- Create certificates and identifiers
- Build and archive app
- Submit to App Store
- Review and approval (1-3 days)
Android
- Google Play Account registration
- Create signing certificate
- Build release APK/AAB
- Upload to Google Play
- Testing and release (instant)
Publishing Best Practices
- App Store Optimization (ASO)
- Beta testing programs
- Update strategy
- Versioning and release notes
Projects
- Todo App - Basic CRUD, storage
- Weather App - API integration, UI
- Chat Application - Real-time, networking
- E-commerce App - Complex UI, payments
- Fitness Tracker - Sensors, data analysis
Resources
Learning Platforms
- Udemy: Framework-specific courses
- Pluralsight: In-depth iOS/Android paths
- Google Codelabs: Official Android tutorials
- Apple Developer: Official iOS resources
Documentation
Communities
- Stack Overflow: Question and answers
- Reddit: r/iOSProgramming, r/android, r/flutterdev
- GitHub: Open source projects
- Local Meetups: Developer communities
Roadmap.sh Reference: https://roadmap.sh/mobile
Status: ✅ Production Ready | SASMP: v1.3.0 | Bonded Agent: 05-mobile-specialist