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.

16 stars

Best use case

mobile-guide is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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.

Teams using mobile-guide should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/mobile-guide/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/mobile-guide/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/mobile-guide/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How mobile-guide Compares

Feature / Agentmobile-guideStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Mobile Development Guide

Master native and cross-platform mobile development for iOS and Android platforms.

## Quick Start

### iOS with Swift
```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
```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
```javascript
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
```dart
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
1. Apple Developer Account registration
2. Create certificates and identifiers
3. Build and archive app
4. Submit to App Store
5. Review and approval (1-3 days)

### Android
1. Google Play Account registration
2. Create signing certificate
3. Build release APK/AAB
4. Upload to Google Play
5. Testing and release (instant)

### Publishing Best Practices
- App Store Optimization (ASO)
- Beta testing programs
- Update strategy
- Versioning and release notes

## Projects

1. **Todo App** - Basic CRUD, storage
2. **Weather App** - API integration, UI
3. **Chat Application** - Real-time, networking
4. **E-commerce App** - Complex UI, payments
5. **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
- [Swift.org](https://swift.org/)
- [Android Developers](https://developer.android.com/)
- [React Native](https://reactnative.dev/)
- [Flutter](https://flutter.dev/)

### 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

Related Skills

mobile_react_native

16
from diegosouzapw/awesome-omni-skill

React Native best practices, hooks, navigation ve performance optimization.

mobile-ui-development-rule

16
from diegosouzapw/awesome-omni-skill

General rules pertaining to Mobile UI development. Covers UI/UX best practices, state management, and navigation patterns.

mobile-security-expert

16
from diegosouzapw/awesome-omni-skill

移动安全漏洞挖掘知识库,基于HackerOne公开报告提供Android和iOS应用的漏洞挖掘手法、技术细节和代码模式分析;用于安全研究人员和漏洞挖掘者学习参考、代码审计和漏洞检测指导。

mobile-security-coder

16
from diegosouzapw/awesome-omni-skill

Expert in secure mobile coding practices specializing in input validation, WebView security, and mobile-specific security patterns.

mobile-offline-support

16
from diegosouzapw/awesome-omni-skill

Implement offline-first mobile apps with local storage, sync strategies, and conflict resolution. Covers AsyncStorage, Realm, SQLite, and background sync patterns.

mobile-games

16
from diegosouzapw/awesome-omni-skill

Mobile game development principles. Touch input, battery, performance, app stores.

mobile-frontend

16
from diegosouzapw/awesome-omni-skill

React Native patterns, NativeWind styling, React Native Reusables components, mobile-specific patterns

mobile-first-design-rules

16
from diegosouzapw/awesome-omni-skill

Focuses on rules and best practices for mobile-first design and responsive typography using tailwind.

mobile-development

16
from diegosouzapw/awesome-omni-skill

Cross-platform and native mobile development. Frameworks: React Native, Flutter, Swift/SwiftUI, Kotlin/Jetpack Compose. Capabilities: mobile UI, offline-first architecture, push notifications, deep linking, biometrics, app store deployment. Actions: build, create, implement, optimize, test, deploy mobile apps. Keywords: iOS, Android, React Native, Flutter, Swift, Kotlin, mobile app, offline sync, push notification, deep link, biometric auth, App Store, Play Store, iOS HIG, Material Design, battery optimization, memory management, mobile performance. Use when: building mobile apps, implementing mobile-first UX, choosing native vs cross-platform, optimizing battery/memory/network, deploying to app stores, handling mobile-specific features.

mobile-developer

16
from diegosouzapw/awesome-omni-skill

Develop React Native, Flutter, or native mobile apps with modern architecture patterns. Masters cross-platform development, native integrations, offline sync, and app store optimization. Use PROACTIVELY for mobile features, cross-platform code, or app optimization.

mobile-design

16
from diegosouzapw/awesome-omni-skill

Mobile-first design and engineering doctrine for iOS and Android apps. Covers touch interaction, performance, platform conventions, offline behavior, and mobile-specific decision-making. Teaches pr...

mobile-app-testing

16
from diegosouzapw/awesome-omni-skill

Comprehensive mobile app testing strategies for iOS and Android. Covers unit tests, UI tests, integration tests, performance testing, and test automation with Detox, Appium, and XCTest.