Os desenvolvedores do Dropbox comentaram as vantagens de utilizar uma abordagem de desenvolvimento multiplataforma em uma palestra no Facebook Developers.
Antigamente o framework do Dropbox era escrito em duas linguagens distintas, uma para iOS (Objective-C em Xcode) e outra para Android (Java 5 sob Eclipse). Os principais inconvenientes desta abordagem eram:
- O desenvolvimento e a manutenção tinham custo dobrado;
- As equipes escreviam e corrigiam os mesmos bugs diversas vezes, e em linguagens diferentes;
- Os defeitos eram reportados para uma plataforma específica e não costumavam ser reportados para a outra plataforma, criando retrabalho;
- Os aplicativos apresentavam diferenças em seus comportamentos;
- A otimização de desempenho era custosa e muita específica da plataforma, especialmente no Android;
A estratégia adotada pelo Dropbox para resolver esses problemas foi criar uma biblioteca multiplataforma (cross-platform no idioma Inglês) escrita em uma única linguagem. Os dois desenvolvedores descreveram esta abordagem como bottom-up - ao contrário de uma abordagem top-down, onde seria favorecido o uso de uma linguagem mais abstrata, seja HTML5 ou JavaScript.
"Este tipo de abordagem costuma falhar por não entregar o desempenho esperado" - Poletto e Beausoleil.
Agora o Dropbox está lidando com apenas uma base de código compartilhada entre as plataformas iOS e Android, permitindo utilizá-la também futuramente em plataforma Windows. Os benefícios desta nova abordagem são:
- Traz uma maior colaboração entre as equipes iOS e Android;
- Os bugs são encontrados antes e corrigidos simultaneamente para as duas plataformas;
- As otimizações de desempenho beneficiam ambas as plataformas, simultaneamente;
- É possível otimizar o processo de beta teste do Android para testar também o código que irá para o iOS, com as vantagens de estarem aptos de realizar correções imediatamente sem esperar pela revisão do processo da App Store.
Leia mais em:
