Nativo, híbrido, WebView ou Server Driven UI?

Imagem 1: Kotlin Multiplatform Mobile. Fonte: Site Kotlin

Quando desenvolvi os primeiros aplicativos em J2ME por volta de 2006, já falávamos em entregas multiplataforma. Logo em seguida veio o lançamento do Android e iPhoneOS. Por um lado a evolução do Java utilizado no J2ME trabalhando em conjunto com os recursos dos frameworks para Android e o Objective-C com CocoaTouch no iPhoneOS.

Atualmente temos um contexto um pouco diferente, o desenvolvedor mobile trabalha normalmente com Kotlin para Android, Swift para iOS, que oferecem uma série de recursos de interface para desenvolvimento nativo, inclusive a opção de construção utilizando os recursos com WebView, também podemos destacar o server driver UI que renderiza códigos de frontend por meio de backend, e mais opções que vem surgindo e evoluindo ao longo do tempo, o mais famoso do momento é o KMM (Imagem 1) e Flutter. Esse cenário de múltiplas stacks ilustra uma das preocupações constantes na vida do desenvolvedor mobile, que além de saber codificar soluções nas evoluções da plataforma em que escolheu para desenvolver e respectivas arquiteturas, agora deve estar apto a navegar nos mares das entregas multiplataforma, em prol do aumento da produtividade, que possibilite times mais enxutos impactando o maior número de clientes. …

Evite conflitos no GIT e ganhe produtividade no desenvolvimento

Image for post
Image for post

Ao começar um projeto para iOS é comum o Xcode (IDE) criar um arquivo chamado .xcodeproj, que na verdade é uma pasta e vai reunir todos os metadados do projeto, por exemplo: os arquivos que devem ser compilados, configurações de perfil do desenvolvedor, fases de compilação. Outra situação é no uso do CocoaPods que haverá um outro arquivo .xcworkspace para agregar os metadados do projeto e dependências.

Uma solução simples para evitar conflitos e ter as configurações parametrizadas facilmente, seria utilizar a ferramenta open source XcodeGen, que é um projeto iniciado em 2018 pelo desenvolvedor Yonas Kolb, onde é possível parametrizar todas as configurações do projeto em um arquivo .yml ou .json, …

O Swift Package Manager é uma ferramenta para gerenciar a distribuição de bibliotecas. Está integrado ao sistema de construção doSwift 3 ou superior para automatizar o processo de download, compilação e vinculação de dependências, similar ao CocoaPods e Carthage. Os primeiro exemplos utilizando o Xcode apareceram na WWDC 2019.

Normalmente quase todo desenvolvedor iOS já utilizou o CocoaPods, que possui mais de 68 mil bibliotecas públicas e é usado em mais de 3 milhões de aplicativos. A migração do CocoaPods para Swift Package manager deve ser analisada caso a caso, dependendo do volume de bibliotecas e adoção das dependências. …

About

Cassio Diego

Cientista da computação

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store