Para dar início ao segundo dia da InterCon 2018, William Grasel convidou Juliana Chahoud para assumir o palco da sala Karen Sparck e falar sobre os principais tipos de desenvolvimento. Logo depois de se apresentar, Juliana começou a falar sobre o seu trabalho na Thoughtworks e os principais desafios enfrentados por ela na empresa.
Durante a palestra, ela falou sobre a era mobile, principais tecnologias para desenvolvimento e as principais vantagens e desvantagens de cada uma.
As principais abordagens cobertas nesta palestra, foram:
- Apps Nativos
- Cross-platform
- PWA – Progressive Web Apps
- Site responsivo ou híbrido
Para alavancar o tema, Juliana falou sobre a revolução dos smartphones, que explodiu em 2007 com a chegada do iPhone. Para exemplificar, ela apresentou uma foto com um antes e depois de um mesmo evento, mostrando um aumento impressionante na quantidade de smartphones na foto mais recente.
Segundo a palestrante, a estimativa é de que proximadamente uma a cada três pessoas no mundo tem um smartphone e trouxe dois dados impressionantes, que confirmam todo o potencial dos dispositivos móveis:
A Apple confirmou que existem mais de 2 bilhões de dispositivos com iOS ativos no mundo e há dois anos atrás o tráfego da internet ultrapassou pela primeira vez o de desktop.
Quais são as principais opções de desenvolvimento mobile?
Para responder essa questão, ela explicou que um app nada mais é do que a ponta do iceberg para um mundo de possibilidades e existem várias partes importantes no processo de desenvolvimento mobile. Uma das partes, segundo ela, é o time de UX, juntamente com as plataformas, a evolução e os serviços.
A desenvolvedora afirmou que a modalidade de Apps Nativos é a principal abordagem atualmente e citou o Swift, Kotlin e outros programas voltados para essa categoria de desenvolvimento.
Apps Nativos
Ela exemplificou uma sintaxe de um app nativo. O exemplo veio da plataforma iOS.
Vabtagens dos apps nativos:
- Apps com alta qualidade
- Melhor performance do app e do gráfico
- Aceso a tecnologias recentes
- Acesso às funcionalidades de hardware, podendo usar todos os sensores do dispositivos, como a câmera, giroscópio, GPS, etc
Desvantagens dos apps nativos
- Mais difícil de encontrar desenvolvedores experientes
- Alto custo, com salários mais altos por ser mais recente e pela escassez de profissionais experientes
- Processo de release mais lento, já que depende da aprovação da Google e da Apple
Cross-platorm
Com o Cross Platform você desenvolve e as tecnologias dessa categoria fazem uma espécie de tradução para outra plataforma, adaptando as estruturas de código para que o projeto funcione em outras plataformas. Entre eles os principais programas para trabalhar com Cross Platform ela mencioniu o Xamarin, o React e o Flutter.
React Native
Entre as abordagens mais comuns, Juliana apresentou as principais e exemplificou a sintaxe de cada uma.
Apps que usam o React Native (foto)
Vantagens de usar o React Native:
- Mais fácil encontrar desenvolvedores
- Tendência de implementação mais rápida
- Alguns updates sem passar por reviews da App Stor
Desvantagens da abordagem em React Nativre
- Componentes padrão podem ser mais difíceis de implementar
- Novas tecnologias podem demorar para estarem disponíveis
- Podem ser mais lentas na renderização da interface
- Algumas features não são suportadas
- Risco do Facebook parar o desenvolvimento
Ela contou uma experiência com o React Native, no qual ela tinha que fazer uma validação de hipótese em um intervalo de 3 meses, onde apenas duas tinham experiência com desenvolvimento nativo.
PWA – Progressive Web Apps
Juliana apresentou então o conceito de PWAs, muito disseminado pela Google. Ela mostrou a versão PWA do Twitter, que é bastante parecida com o Twitter Lite. Houve um aumento considerável nos números de acesso do Twitter quando a tecnologia PWA foi adotada.
Vantagens
- Geolocalização, notificações, uso offline, câmera
- Performance
- Atualizações em dia
- Amigável para o SEO
Desvantagens
- Limitações de funcionalidades
- Acesso ao hardware limitado
- Apple não suporta push notification, Touch ID, ARKit, etc
- Apple limita em 50 MB o armazenamento de arquivos
Para encerrar sua palestra, ela apresentou as vantagens e desvantagens da última abordagem de desenvolvimento, que envovia o responsivo e o híbrido.
Responsivo ou híbrido
Vantagens
- Baixo custo, sendo a opção mais barata
- Mais rápida de criar
- Mais fácil de encontrar os desenvolvedores
Desvantagens
- Limitações
- Baixa performance, sendo a pior
- Integração fraca
“Não existe bala de prata. Temos de balancear cinco variáveis, sendo elas o orçamento, tempo, importância estratégica do mobile e retorno do investimento e habilidades do time. Prefira uma tech stack na qual você tenha conhecimento”.