Pular para o conteúdo

Diário de desenvolvimento

Posts com a tag: Expo

Notas publicadas sobre este tema.

Feed RSS
Arquitetura de monorepo

Como manter assets canônicos em um monorepo React Native

10 min de leitura

Escrito por: Jonathan Reis em

Um padrão prático para organizar fontes, exports e entregas técnicas de apps React Native, sites estáticos, lojas e áudio compartilhado.

Builds nativos com Expo

Como criar ícones para Android e iOS no Expo sem o Android cortar a arte

9 min de leitura

Escrito por: Jonathan Reis em

Use uma fonte editável, um raster opaco para iOS e um foreground Android transparente para evitar que máscaras do launcher cortem seu ícone.

Expo e React Native iOS

Como rodar o primeiro build iOS de um app Expo num monorepo pnpm

14 min de leitura

Escrito por: Jonathan Reis em

O passo a passo de como fiz o primeiro build iOS de um app Expo (Sudoku) que já buildava no Android, num monorepo pnpm: prebuild, pod install, xcodebuild Release, simulador. Inclui as três armadilhas que travam o build (babel, Hermes prebuilt, Firebase mock) e como resolver cada uma nas fontes versionadas.

Game Development

Como embutir Godot em um app React Native e medir o custo real

17 min read

Escrito por: Jonathan Reis em

Uma POC Expo hospeda Godot em uma View nativa Android, corrige a ponte RN↔GDScript e troca milhares de nós por desenho batched; no iOS, o diagnóstico mostra por que build e bootstrap não provam renderização no Simulator.

React Native Skia

Como desenhar um tabuleiro de Sudoku inteiro em um SkPicture (e por que o Canvas declarativo travava)

9 min read

Escrito por: Jonathan Reis em

Por que o renderer Skia declarativo com 81 componentes React por célula sofria em dispositivos antigos, e como reimplementar o tabuleiro com Skia.PictureRecorder + <Picture> elimina o reconciler do caminho crítico de render.

Release Android com Expo

Versão, versionCode e config gerada: três números que o release Android precisa alinhar

8 min de leitura

Escrito por: Jonathan Reis em

Depois de nove uploads na Play com versionName 0.1.0, lint sobrescrevendo config de produção e comandos de build com nomes ambíguos, documentamos a regra SemVer, os scripts dev/prd e o porquê de não regenerar config no lint.

Analytics React Native

Como validar eventos no Firebase DebugView em um APK release React Native

9 min de leitura

Escrito por: Jonathan Reis em

Valide Firebase Analytics num APK React Native de produção combinando logs locais com a resposta realtime por trás do GA4 DebugView, mesmo quando o contador de dispositivos mostra zero.

Anúncios em React Native

AdMob UMP em React Native: mensagens de privacidade não são só painel

9 min de leitura

Escrito por: Jonathan Reis em

Um checklist prático para AdMob UMP em um app Android Expo/React Native, cobrindo GDPR, regulamentos estaduais dos EUA, vínculo com a loja e o gate do SDK antes dos anúncios.

React Native

Um TextInput escondido não captura teclado físico na New Architecture do React Native

8 min de leitura

Escrito por: Jonathan Reis em

Queríamos teclado físico num jogo React Native no Android. O truque clássico do TextInput escondido falhou no Fabric porque o showSoftInputOnFocus é ignorado. O adb provou isso, e um config plugin resolveu de vez.

React Native Skia

A borda arredondada que jogou todos os dígitos do Sudoku para o lado

8 min de leitura

Escrito por: Jonathan Reis em

Uma borda num container overflow-hidden deslocou nosso tabuleiro Skia e descentralizou todos os dígitos. Veja como screenshots, e não o olho, acharam a causa real num jogo React Native.

Ferramentas React Native

Por que __DEV__ é false em build de release, e como passamos a gatear as dev tools por config

7 min de leitura

Escrito por: Jonathan Reis em

Um atalho de desenvolvimento escondido atrás de __DEV__ sumiu exatamente quando precisávamos dele num build de release. Aqui está por que isso acontece no React Native e como movemos o gate para a config de runtime.

Design systems

Design tokens como fonte única: dando a um app de Sudoku uma direção de arte de verdade

8 min de leitura

Escrito por: Jonathan Reis em

Como demos a um Sudoku com cara de template uma direção de arte forte mexendo primeiro nos tokens de tema, compartilhando-os com o site e respeitando o orçamento de performance de um aparelho fraco.

Haptics em React Native

Adicionando haptics do Expo a um jogo React Native sem tratar vibração como som

8 min de leitura

Escrito por: Jonathan Reis em

Como o Daily Sudoku ganhou um toggle persistido de vibração, reaproveitou eventos de gameplay e manteve o bundle Web seguro usando expo-haptics no nativo.

React Native Web

Tocando os mesmos WAVs no Expo Web e no app React Native

8 min de leitura

Escrito por: Jonathan Reis em

Como reduzimos a diferença entre Web e app em um jogo Expo/React Native ao trocar tons sintéticos por assets WAV empacotados e logs de áudio configuráveis.

React Native Android

Desligando sons de toque no Android em React Native sem brigar com Switch

7 min de leitura

Escrito por: Jonathan Reis em

Como uma configuração de som em React Native acabou controlando efeitos de jogo, tap nativo do Android e um bug de duplo toggle em um Switch aninhado.

Performance em React Native

Medindo latência percebida em React Native quando métricas de frame não bastam

7 min de leitura

Escrito por: Jonathan Reis em

Como medimos o tempo de resposta em React Native do handler do toque até estado e paint quando estatísticas de frame não explicavam o que o jogador sentia.

Performance em React Native

Migrando um tabuleiro Sudoku em React Native para Skia sem apagar o renderer antigo

7 min de leitura

Escrito por: Jonathan Reis em

Como testamos um tabuleiro Sudoku em Skia atrás de config sem apagar o renderer React Native, a camada de acessibilidade ou o caminho de rollback.

Builds Nativos Expo

Quando um upgrade do Expo transforma sua splash screen em tela branca

8 min de leitura

Escrito por: Jonathan Reis em

Uma nota prática sobre corrigir splash nativa quebrada depois de upgrade do Expo SDK, migrando do bloco legado de splash para o plugin expo-splash-screen.

React Native na Play Store

Publicando um app Expo/React Native na Google Play com AAB local

8 min de leitura

Escrito por: Jonathan Reis em

Como gerar um AAB local Expo/React Native para Google Play e ainda validar assinatura, Firebase, Sentry, AdMob, RevenueCat e entrega pela loja como release real.