Skip to content
Programing

NativePHP v4: Construindo UIs Nativas para iOS e Android com Blade

Published: Duration: 6:33
0:00 0:00

Transcript

Apresentadora: Juliana Santos Convidado: Ricardo Menezes (Especialista em Ecossistema Laravel e Desenvolvedor Mobile) Apresentadora: E aí, pessoal, bem-vindos de volta ao Allur! Eu sou a Juliana Santos e hoje a gente vai falar sobre algo que, sinceramente, parecia um sonho distante até pouco tempo atrás. Sabe aquela sensação de que você domina uma ferramenta, tipo o Laravel e o Blade, mas se sente meio "bloqueado" quando o assunto é mobile? Pois é, o papo hoje é para explodir a cabeça de quem acha que PHP é só para o backend da web. Apresentadora: Hoje eu recebo aqui no Allur o Ricardo Menezes! O Ricardo é desenvolvedor sênior, contribuidor da comunidade e um entusiasta de longa data de tudo que o Marcel Pociot e o Taylor Otwell inventam. Ricardo, que massa ter você aqui, cara! Seja muito bem-vindo ao Allur. Convidado: Valeu, Juliana! O prazer é todo meu. Sou fã do Allur e falar de NativePHP v4 é, tipo assim, falar do futuro que a gente sempre quis, né? Tô bem empolgado para esse papo. Apresentadora: Ricardo, vamos direto ao ponto porque eu confesso que quando li "Blade para iOS e Android nativo", eu dei aquela conferida na data para ver se não era 1º de abril. Explica pra gente: o que mudou da versão desktop que a gente já conhecia para essa v4 focada em mobile? Convidado: Pois é, Ju, o choque é real! (risos). O NativePHP começou com aquela promessa de: "Ei, você tem um app Laravel? Vamos empacotar ele com Electron ou algo similar e rodar no Mac". Era massa, mas ainda tinha aquele cheirinho de 'estou rodando um browser'. A v4 é um salto quântico. A grande diferença agora é que o time do NativePHP conseguiu mapear os componentes do Blade para componentes de interface nativos do sistema operacional. Então, quando você escreve uma tag de botão ou um layout no Blade, o motor do NativePHP interpreta aquilo e renderiza um botão de verdade do iOS ou um componente do Android. Não é um reflexo da web, é a coisa real. Apresentadora: Cara, isso é bizarro de bom. Mas deixa eu te perguntar uma coisa que deve ser a dúvida de muita gente: como é a performance disso? Porque a gente sabe que rodar PHP no mobile não é algo, digamos, "padrão". Como eles resolveram essa mágica? Convidado: Essa é a pergunta de um milhão de dólares! O que acontece é que eles estão usando uma versão otimizada do PHP que roda de forma embutida no binário do app. O Blade, que a gente ama pela simplicidade, acaba funcionando como uma linguagem de definição de interface. O "pulo do gato" é que o processamento da lógica continua sendo PHP, mas a camada de visualização é delegada para as APIs nativas através de uma ponte de comunicação super veloz. Então, aquele lag que a gente sentia em PWAs antigas ou em WebViews pesadas simplesmente some. É fluido, sabe? Você faz o scroll e sente que o app está "vivo" na mão. Apresentadora: Massa! E para o desenvolvedor que já está no dia a dia do Laravel? O fluxo de trabalho muda muito? Tipo, eu preciso baixar o Android Studio, o Xcode e entrar naquele desespero de configurar simulador, ou o NativePHP facilita a nossa vida? Convidado: Olha, Juliana, se tem uma coisa que o ecossistema Laravel sabe fazer é cuidar da experiência do desenvolvedor, o tal do DX. Você ainda vai precisar das ferramentas base, tipo o Xcode para compilar pro iPhone, não tem muito como fugir das exigências da Apple e do Google. Mas o "dia a dia" é muito familiar. Você usa o comando `php artisan native:serve` e a mágica acontece. O mais legal é o *hot reloading*. Você altera seu componente Blade, salva, e o app no simulador atualiza na hora. Para quem já tentou aprender Swift ou Kotlin do zero e se bateu com a verbosidade dessas linguagens, usar Blade é tipo voltar para casa depois de uma viagem cansativa. É muito confortável. Apresentadora: Eu imagino! E me diz uma coisa, você já chegou a testar algum desafio real com isso? Algum "momento aha!" ou até algum perrengue que você encontrou nessa v4? Convidado: Ah, com certeza! O "momento aha!" foi quando eu consegui acessar o acelerômetro do celular usando uma classe PHP. Eu fiquei tipo: "Gente, eu estou lendo o movimento do meu celular com um método que parece um Controller do Laravel!". Foi muito doido. Agora, de desafio... cara, a gente tem que mudar um pouco a mentalidade de "página". No mobile, a navegação é diferente. Não é só dar um `return view()`. Você precisa pensar em pilhas de navegação, em gestos. O NativePHP v4 traz abstrações para isso, mas se o dev tentar construir o app mobile como se fosse um site de 1920 pixels de largura, ele vai sofrer. O desafio é aprender o design pattern de mobile, mas usando a sintaxe que a gente já ama. Apresentadora: Entendi. É tipo, a ferramenta é a mesma, mas o canvas mudou, né? Ricardo, e em relação a mercado? Você acha que o NativePHP v4 vem para brigar com gigantes como React Native ou Flutter, ou ele foca num nicho específico de quem já é "Laraveleiro"? Convidado: Sendo bem sincero, eu acho que ele ocupa um espaço que estava vazio. Se você tem uma empresa gigante com um time de 50 desenvolvedores mobile, talvez o Flutter continue sendo a escolha pelo ecossistema de bibliotecas já maduro. Mas pensa no desenvolvedor solo, na startup que já tem o backend em Laravel e quer lançar um MVP nativo para ontem. Ou naquele sistema interno de uma empresa que precisa de um app de estoque. Para esses casos, o NativePHP é imbatível. Você não precisa contratar um especialista em Swift. O seu dev PHP atual vira um dev full-stack de verdade, cobrindo Web, Desktop e agora Mobile. É um ganho de produtividade absurdo para o negócio. Apresentadora: Faz todo sentido. É a democratização do mobile para a comunidade PHP. Eu fico imaginando o tanto de app que vai surgir agora que a barreira de entrada caiu tanto. Ricardo, para a gente ir fechando, o que você daria de dica para quem quer começar hoje com o NativePHP v4? Por onde começar? Convidado: Primeiro, não tenham medo! Se você sabe o básico de Laravel, você já sabe 70% do que precisa. Minha dica é: instalem o novo CLI do NativePHP, rodem o exemplo básico e tentem recriar uma telinha simples, tipo uma lista de tarefas. Explorem a documentação, que está ficando fantástica, e fiquem de olho nos componentes de UI nativos. E ó, participem da comunidade no Discord e no Twitter. O pessoal está descobrindo muita coisa massa agora e a troca de figurinhas é essencial. Apresentadora: Sensacional! Bom, pessoal, as conclusões de hoje são claras: o NativePHP v4 não é só um "update", é um marco. Poder usar Blade para criar interfaces nativas no bolso do usuário é um divisor de águas para a nossa produtividade. Se você é dev Laravel, a desculpa de que "mobile é difícil" acabou de cair por terra. Convidado: Valeu demais pelo convite, Juliana! Foi um prazer. E galera, bora codar porque o PHP no mobile é real e é massa demais! Apresentadora: É isso aí! Para quem quiser saber mais, os links para a documentação do NativePHP e as redes do Ricardo estão aqui na descrição do episódio. Valeu por sintonizar o Allur, o seu podcast de tecnologia. A gente se vê no próximo episódio. Tchau!

Tags

php laravel mobile development ios android native ui nativephp