移动端 Patterns
- 作者仓库星标 0
- 作者仓库 skills-registry
Mobile Patterns
⚠️ EXPERIMENTAL — Ainda não validado em produção.
Quando Usar
- Implementar features em React Native, Flutter, Swift ou Kotlin
- Configurar builds para iOS e Android
- Resolver problemas específicos de plataforma
- Adaptar componentes web para comportamento mobile
Padrões Fundamentais
Performance Mobile
- Evitar re-renders em listas longas: usar
FlatList(RN) ouListView.builder(Flutter) — nunca renderizar tudo de uma vez - Imagens: usar CDN, tamanhos otimizados, lazy loading
- Animações: rodar na thread nativa, não na JS thread (React Native:
useNativeDriver: true) - Evitar operações síncronas pesadas na main thread
Navegação
- Separar navegação de lógica de negócio
- Gerenciar deep links com atenção a segurança (validar parâmetros)
- Preservar estado de scroll e posição ao voltar de screens
Offline e Conectividade
- Detectar estado de rede antes de operações críticas
- Implementar retry com backoff para chamadas de API
- Cache local para dados frequentemente acessados
- Sincronização de dados offline com conflito handling
Segurança Mobile
- Nunca armazenar secrets ou tokens no código
- Usar Keychain (iOS) ou Keystore (Android) para dados sensíveis
- Certificate pinning para APIs críticas
- Ofuscação de código em builds de produção
Build e Deploy
# React Native — build Android
cd android && ./gradlew assembleRelease
# React Native — build iOS
xcodebuild -workspace ios/App.xcworkspace -scheme App -configuration Release
# Flutter — build
flutter build apk --release
flutter build ios --release
Checklist Pré-Release
- Testado em dispositivo real (não só emulador)
- Testado nos tamanhos de tela principais
- Permissões solicitadas com justificativa clara
- Deep links testados
- Performance em dispositivos de baixo desempenho
- Sem dados sensíveis em logs de produção
- Build assinado com certificado correto
Passos
1. Identificar a plataforma alvo
- React Native: JavaScript/TypeScript, código compartilhado iOS+Android
- Flutter: Dart, alta fidelidade visual multiplataforma
- Swift/SwiftUI: iOS/macOS nativo
- Kotlin/Jetpack Compose: Android nativo
2. Mapear os padrões fundamentais necessários
Consultar ## Padrões Fundamentais para identificar quais aplicam:
- Navegação (Stack, Tab, Drawer)
- Gerenciamento de estado
- Requisições HTTP e cache
- Armazenamento local
3. Implementar com padrões da plataforma
- Seguir as Human Interface Guidelines (iOS) ou Material Design (Android)
- Componentes nativos sempre que possível (evitar custom widgets desnecessários)
- Adaptar layout para diferentes tamanhos de tela (
SafeAreaView, responsive units)
4. Validar em dispositivo real
- Testar em iOS e Android (não só em emulador)
- Verificar orientação portrait e landscape
- Testar com conectividade ruim e offline
5. Completar o checklist antes de release
Usar ## Checklist Pré-Release antes de submeter para as stores.
Exemplos
React Native — Componente com estados de loading/error
function ListaPedidos() {
const { data, isLoading, error } = usePedidos()
if (isLoading) return <ActivityIndicator size="large" />
if (error) return <ErrorState message={error.message} onRetry={refetch} />
if (!data?.length) return <EmptyState message="Nenhum pedido encontrado" />
return (
<FlatList
data={data}
keyExtractor={(item) => item.id}
renderItem={({ item }) => <PedidoCard pedido={item} />}
/>
)
}
Flutter — Tratamento de estado com riverpod
final pedidosProvider = FutureProvider<List<Pedido>>((ref) async {
return ref.watch(pedidoRepositoryProvider).listarPedidos();
});
class PedidosScreen extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final pedidosAsync = ref.watch(pedidosProvider);
return pedidosAsync.when(
loading: () => const CircularProgressIndicator(),
error: (err, _) => Text('Erro: $err'),
data: (pedidos) => ListView.builder(
itemCount: pedidos.length,
itemBuilder: (ctx, i) => PedidoTile(pedido: pedidos[i]),
),
);
}
}
<!-- tomevault:4.0:skill_md:2026-05-22 -->Source: ATNexusLab/skills — distributed by TomeVault.
- 流狐分类
- 工程开发
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 88 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @tomevault-io · 未声明 license
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 即装即用
- 是否需要外部 API Key
- 未发现要求
- 检测到的系统要求
- macOS
- 底层运行要求
- 未声明
- 检测到的文件与系统行为
-
- 只读
- 检测到的网络行为
- 仅限本地
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 Implementar features em React Native, Flutter, Swift ou Kotlin Configurar builds para iOS e Android Resolver problemas específicos de plataforma
Padrões Fundamentais
Evitar re-renders em listas longas: usar FlatList (RN) ou ListView.builder (Flutter) — nunca renderizar tudo de uma vez Imagens: usar CDN, tamanhos otimizados, lazy loading Animações: rodar na thread nativa, não na JS thread (React Native: useNativeDriver:…
Separar navegação de lógica de negócio Gerenciar deep links com atenção a segurança (validar parâmetros) Preservar estado de scroll e posição ao voltar de screens
Detectar estado de rede antes de operações críticas Implementar retry com backoff para chamadas de API Cache local para dados frequentemente acessados
Nunca armazenar secrets ou tokens no código Usar Keychain (iOS) ou Keystore (Android) para dados sensíveis Certificate pinning para APIs críticas
# Mobile Patterns
> ⚠️ EXPERIMENTAL — Ainda não validado em produção.
## Quando Usar
- Implementar features em React Native, Flutter, Swift ou Kotlin
- Configurar builds para iOS e Android
- Resolver problemas específicos de plataforma
- Adaptar componentes web para comportamento mobile
## Padrões Fundamentais
### Performance Mobile
- Evitar re-renders em listas longas: usar `FlatList` (RN) ou `ListView.builder` (Flutter) — nunca renderizar tudo de uma vez
- Imagens: usar CDN, tamanhos otimizados, lazy loading
- Animações: rodar na thread nativa, não na JS thread (React Native: `useNativeDriver: true`)
- Evitar operações síncronas pesadas na main thread
### Navegação
- Separar navegação de lógica de negócio
- Gerenciar deep links com atenção a segurança (validar parâmetros)
- Preservar estado de scroll e posição ao voltar de screens
### Offline e Conectividade
- Detectar estado de rede antes de operações críticas
- Implementar retry com backoff para chamadas de API
- Cache local para dados frequentemente acessados
- Sincronização de dados offline com conflito handling
### Segurança Mobile
- Nunca armazenar secrets ou tokens no código
- Usar Keychain (iOS) ou Keystore (Android) para dados sensíveis
- Certificate pinning para APIs críticas
- Ofuscação de código em builds de produção
### Build e Deploy
```bash
# React Native — build Android
cd android && ./gradlew assembleRelease
# React Native — build iOS
xcodebuild -workspace ios/App.xcworkspace -scheme App -configuration Release
# Flutter — build
flutter build apk --release
flutter build ios --release
```
## Checklist Pré-Release
- [ ] Testado em dispositivo real (não só emulador)
- [ ] Testado nos tamanhos de tela principais
- [ ] Permissões solicitadas com justificativa clara
… 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> Quando Usar → Padrões Fundamentais → Performance Mobile → Navegação → Offline e Conectividade → Segurança Mobile
要点 -> React Native · Flutter · Swift/SwiftUI · Kotlin/Jetpack Compose · Human Interface Guidelines · Material Design
文件/命令 -> FlatList · ListView.builder · useNativeDriver: true · ## Padrões Fundamentais · SafeAreaView · ## Checklist Pré-Release
内容 SHA-256 -> bfea778901a2
原文结构
适用与边界
原文中的明确线索
FlatList、ListView.builder、useNativeDriver: true、## Padrões Fundamentais、SafeAreaView、## Checklist Pré-Release