Opinião: A crónica da morte anunciada dos desenvolvimentos nativos - Opinião - SAPO Tek
Opinião: A crónica da morte anunciada dos desenvolvimentos nativos
12 set 2016 18:24
Celso Maurício, manager da Closer, conta na primeira pessoa a experiência da empresa no desenvolvimento de aplicações móveis e explica porque abandonou os desenvolvimentos nativos. Sem saudades.
tek Celso Maurício closer
Por Celso Maurício (*)
Há dias oficializei, dentro da empresa, a minha posição pró MCAP, MEAP, MADP, MDM/MAM/EMM, RMAD, BaaS e todas as mnemónicas iniciadas em M de Mobile e terminadas em A, P e/ou D de Application Development. Qual pessoa sem sal, sem fogo e sem interesse, decidi deixar para trás o desenvolvimento nativo.
Fui, durante sete anos, acérrimo defensor do desenvolvimento nativo de aplicações móveis. Não conseguia ver, por não existirem, quaisquer vantagens nas plataformas MADP (Mobile Application Development Platform) da altura. E existiam muitas desvantagens. Estive, desde então, envolvido em mais de 50 projetos de mobilidade (entre aplicações, provas de conceito, produtos e afins) sempre em desenvolvimento nativo, isto é, dedicado a um tipo de sistema operativo específico.
Coordenei a formação de equipas de especialistas. Especialistas iOS (Objective-C e Swift), especialistas Android (Java), especialistas Windows Phone (C#) e mais tarde especialistas Windows Store App (C#). Adicionalmente, ainda tínhamos os especialistas das camadas de dados e de acesso a dados. Cada um de nós era verdadeiramente especializado! Vivíamos a querer ter ainda mais especialistas nas nossas equipas.
Mas nunca fomos muito felizes. Os verdadeiros especialistas rareiam e exigem remunerações elevadas. As nossas propostas sempre foram suficientemente competitivas e interessantes para desenvolvermos projetos em clientes e parceiros de grande relevância, mas o processo de desenvolvimento era penoso, duro, mesmo para uma equipa de especialistas.
Face a isto, voltámos a olhar para as plataformas MADP. Desta vez vinham acompanhadas de todas as famílias (de plataformas) que enumerei no inicio deste texto.
Recuperámos a lista de vantagens e de desvantagens destas plataformas (a tal que fizéramos 7 anos antes). E estudámos cerca de 10 plataformas.
Das dez, a título de exemplo, apresento os resultados de uma plataforma em dois parâmetros avaliados. Primeiro, a performance. Criámos aplicações nativas e com recurso a Xamarin (iOS e Android) para cálculo e apresentação de números primos (até 2.500.000). Os resultados surpreenderam pela positiva. Em Android, o desenvolvimento em Xamarin corria, em média, em 4.2s, menos 0.3s que o desenvolvimento em JAVA. Já no iOS, levava 4.4s, menos 0.4s que o desenvolvimento em Objective-C.
Em termos de tempo de desenvolvimento, de forma a comparar aplicações nativas e aplicações desenvolvidas com recurso a MADP, foi lançado um desafio para a criação, em 8 horas, de aplicações móveis para apresentação de lista de notícias, possibilidade de consultar o detalhe de notícia e possibilidade de partilhar a mesma nas redes sociais Facebook e Twitter.
As pessoas envolvidas no desafio tiveram acesso a mockups da aplicação (3 ecrãs), webservice para obter a lista e detalhes de notícias. O resultado foi que, nessas 8 horas, uma pessoa desenvolveu em Java uma versão para smartphones Android, outra pessoa desenvolveu a versão em Objective-C para iOS. Ao mesmo tempo que uma terceira pessoa desenvolveu para ambos os sistemas operativos a mesma aplicação, para ser usada em smartphones e tablets (Android e iOS)!
A conclusão é que já não temos uma equipa de especialistas em desenvolvimento nativo para sistemas operativos iOS, Android, Windows Phone, etc. Hoje, temos uma equipa de especialistas em desenvolvimento de aplicações móveis. Alguns foram em tempos especialistas iOS, outros Android, outros Windows Phone, outros ainda de tecnologias web (a família dos "Jotas"). As propostas tornaram-se muito mais competitivas, os nossos clientes estão muito mais felizes.
Honestamente, eu e os meus colegas agora consumimos muito mais tempo em algo que, na nossa opinião é muito importante para os nossos clientes: apresentação, funcionalidade e usabilidade. Consumimos muito tempo a procurar o design que melhor serve as intenções e expetativas de quem confia em nós para o desenvolvimento de aplicações móveis. Consumimos muito tempo a reduzir o número de interações necessárias para o utilizador usufruir de todas as funcionalidades disponibilizadas pelas aplicações que concebemos. Consumimos muito tempo a pensar em formas de apresentar qualquer tipo de informação em menos de 2 segundos. Mas já não consumimos muito tempo a resolver bugs que os "especialistas" teimavam em disponibilizar nas nossas aplicações.
Durante a maior parte da minha vida, pelo menos da parte consciente desta, sempre tive a tendência de associar uma música e/ou um livro a momentos, pessoas, acontecimentos, fases, etc. Sempre que penso no desenvolvimento nativo de aplicações móveis, na Blockbuster ou Blackberry recordo a magistral obra "Crónica de uma morte anunciada", de Gabriel García Marquez, acompanhada de "Bye, Bye mon amour", de Ludovico Einaudi. Bem alto!