Desenvolvimento de aplicativos móveis multiplataforma em 2020

Olá a todos!

Sou Sergey Yakimov, CTO Omega-R, uma empresa internacional que desenvolve e integra soluções de TI. Com base em muitos anos de experiência no campo da tecnologia da informação e experiência da empresa, quero compartilhar minha visão do presente e do futuro próximo do desenvolvimento de aplicativos móveis de plataforma cruzada.

imagem

Ao longo dos anos, o desenvolvimento móvel multiplataforma ganhou reputação como uma das áreas mais populares do desenvolvimento de software. A abordagem entre plataformas permite criar aplicativos para várias plataformas com uma base de código, o que economiza tempo e dinheiro e elimina esforços desnecessários.

De acordo com um estudo Digital 2020 Reports da We Are Social Inc. e Hootsuite Inc., o número de usuários da Internet em todo o mundo está aumentando em 9 pessoas por segundo. Isso significa que todos os dias mais de 800 mil pessoas ingressam na comunidade on-line global que usa dispositivos de desktop ou móveis. Curiosamente, a última opção está se tornando cada vez mais popular a cada mês.

A penetração de smartphones na vida cotidiana está crescendo em todo o mundo. Espera-se que até 2024, três em cada quatro telefones em uso sejam smartphones. Segundo as estatísticas do StatCounter, o compartilhamento de usuários de desktop caiu para 45,66%.

imagem

A explicação mais simples para esse estado de eventos é uma mudança em nosso estilo de vida. Passamos mais tempo na Internet do que nunca. Quase todo mundo tem acesso a um smartphone ou tablet. Considerando que o usuário médio passa quase 7 horas por dia na rede, não surpreende que mais da metade desse tráfego seja proveniente de dispositivos móveis.

Por sua vez, isso impulsiona o mercado de aplicativos móveis para o crescimento. O resultado das preferências de aplicativos para dispositivos móveis são números impressionantes. De acordo comNo relatório do Statista, no ano passado, a receita global de aplicativos móveis em 2019 totalizou US $ 461 bilhões e, em 2023, downloads pagos e anúncios no aplicativo deverão gerar mais de US $ 935 bilhões em receita.

Escolhendo um caminho de desenvolvimento móvel


Os aplicativos são populares não apenas entre os usuários modernos da Internet, mas também são bastante lucrativos para seus proprietários. Se você combinar esses dois fatores, podemos concluir que quase qualquer estratégia de desenvolvimento de negócios pode incluir a criação de um aplicativo. O dilema, no entanto, é escolher o caminho certo para desenvolver aplicativos móveis.

Um dos primeiros passos para o sucesso digital é uma decisão em um sistema operacional móvel - que, aliás, não era tão simples há dez anos atrás quando Android, iOS, Microsoft, RIM e Symbian eram opções bastante viáveis.

Hoje a escolha é muito mais simples, pois os únicos grandes players são o Android e o iOS, que juntos compõemcerca de 99% da participação total de mercado dos sistemas operacionais móveis. Segundo várias estatísticas, o Android vence em termos de número de usuários, mas não faltam apoiadores do iOS, cuja participação no mercado é de 25,75%. Enquanto a Google Play Store possui um grande número de aplicativos (2,5 milhões), a Apple App Store contém mais de 1,8 milhão de aplicativos. Somente esse fato é suficiente para mostrar que nenhuma das duas plataformas deve ser negligenciada.

imagem

Como a escolha de um sistema operacional móvel é uma questão de preferências pessoais dos usuários, e não uma questão de desempenho ou disponibilidade, será aconselhável criar um aplicativo móvel para Android e iOS - e há três maneiras de fazer isso.

Aplicativos nativos separados para Android e iOS


A solução nativa, como o nome indica, envolve o desenvolvimento de um aplicativo na linguagem de programação nativa da plataforma: Java ou Kotlin para Android, Objective-C ou Swift para iOS. Sendo profundamente focado no sistema operacional, o desenvolvimento de aplicativos nativos tem suas vantagens e desvantagens. Por um lado, a solução nativa fornece acesso a todas as funções deste sistema operacional, permite a personalização ilimitada da interface e evita problemas de desempenho. Por outro lado, se você deseja alcançar os dois tipos de usuários, precisará criar dois aplicativos separados que requerem mais tempo, dinheiro e esforço.

Aplicativo da web progressivo


Um aplicativo Web progressivo é uma tecnologia no desenvolvimento da Web que adiciona recursos de aplicativos móveis aos sites e transforma o site em um aplicativo. A saída é um site híbrido e aplicativo para dispositivos móveis. No entanto, como qualquer outra opção, os aplicativos Web progressivos não são perfeitos, pois consomem mais energia da bateria e não podem acessar todas as funções deste dispositivo, por exemplo, calendário, câmera, contatos e assim por diante. Além disso, a possibilidade de fazer login cruzado em um aplicativo da Web usando o Facebook, Instagram, Vkontakte ou outros aplicativos é perdida. Apesar do aplicativo da Web não exigir instalação do Google Play Store ou da Apple App Store, este último serve como bibliotecas extremamente convenientes para os usuários.

Um aplicativo de plataforma cruzada para dois sistemas


Plataforma cruzada é a capacidade do software (no nosso caso, aplicativos móveis) para trabalhar em várias plataformas.

O desenvolvimento móvel de plataforma cruzada permite cobrir dois sistemas operacionais, iOS e Android, com um código. Não envolve escrever código na linguagem de programação nativa, mas fornece uma experiência quase nativa, graças à interface de visualização usando seus próprios controles.

No momento, muitas empresas usam soluções de plataforma cruzada, alguém está pensando seriamente em mudar para elas em um futuro próximo. Esses não são apenas os fornecedores das soluções, como o Facebook, com o React Native, que executa aplicativos do Facebook e Instagram, mas também outros grandes players do mercado que possuem produtos, por exemplo, no Flutter - Alibaba, Philips Hue, Hamilton, Tencent. , Grab, Groupon e outros.

Existem muitos artigos que analisam em detalhes todas as vantagens dos aplicativos de plataforma cruzada. No entanto, os prós e contras devem ser considerados em uma plataforma que tenha todas as chances de se tornar, em 2020, a mais popular entre os desenvolvedores - o Flutter.

Flutter


O Flutter é um SDK do Google de código aberto para a criação de aplicativos móveis de plataforma cruzada que fornece aos usuários do Android e do iOS um design e uma experiência verdadeiramente nativos. Essa plataforma de desenvolvimento já no início mostrou um crescimento impressionante em comparação com o React Native. Anunciado na conferência Google I / O 2017 e lançado em 2018, o Flutter ainda é um recém-chegado ao mercado de plataformas de aplicativos entre plataformas. Com mais de 87.700 estrelas no GitHub, acima do React Native, e a grande maioria dos desenvolvedores chamando-o de uma das três principais estruturas favoritas na revisão anual Developer Survey 2019 do Stack Overflow, Flutter é sem dúvida uma força a ser reconhecida.

imagem

Considere os prós e os contras do Flutter como uma plataforma para o desenvolvimento de produtos:

profissionais


  • time-to-market;
  • ;
  • ;
  • ;
  • .


  • , ;
  • – Dart, , , . Flutter, ( , ).

A linguagem de programação Dart, que o Google chama de "otimizada para o cliente", foi introduzida em 2011. Essa é uma linguagem orientada a objetos adaptável, considerada relativamente fácil de aprender por dois motivos: primeiro, usa C / C ++ e Java; segundo, no site oficial da Dart, você pode encontrar documentação extensa e bastante simples. Também é importante notar que o Dart vem com um grande repositório de pacotes de software compatíveis com o Flutter para tornar seu aplicativo ainda mais complexo.

Os aplicativos de plataforma cruzada no Flutter são desenvolvidos de forma semelhante aos nativos nos IDEs geralmente aceitos - Android Studio e Xcode. Além disso, o código de recarga a quente está disponível para desenvolvedores, o que acelera o lançamento do aplicativo durante o desenvolvimento. Além disso, o processo de publicação não é diferente dos nativos - as distribuições coletadas são assinadas e baixadas nas lojas de aplicativos.

Benefícios empresariais


Nos negócios, o papel crucial é frequentemente desempenhado pela métrica TTM (time-to-market). Estar à frente e introduzir novos recursos em seu produto mais rapidamente do que os concorrentes nas duas plataformas ao mesmo tempo - qualquer empresa líder pensa nisso desde o início. As estruturas de plataforma cruzada permitem que isso seja alcançado e, como um bônus óbvio, recebam uma redução nos custos de desenvolvimento em cada estágio. De acordo com nossos cálculos, o desenvolvimento no Flutter permite reduzir o custo total do desenvolvimento de produtos em 25 a 30%.

Previsão, perspectivas para os próximos 5 anos


Todo mundo que se importa em entrar rapidamente no mercado com seu produto simultaneamente nas duas plataformas de desenvolvimento móvel já está desenvolvendo ativamente usando soluções de plataforma cruzada. Em 2020, a tendência não mudará e mais e mais empresas usarão aplicativos móveis de plataforma cruzada no Flutter.

O Google está desenvolvendo um novo sistema operacional Fuchsia, inclusive para dispositivos móveis. O Flutter é declarado como um kit de ferramentas da interface do usuário neste SO. Num futuro próximo, o Fuchsia poderá substituir o sistema operacional Android e, apesar de o Fuchsia ainda estar adicionando a capacidade de executar aplicativos Android nativos, vale a pena considerar essa tendência ao planejar o desenvolvimento e entrar no mercado com seus aplicativos móveis.

Portanto, sem dúvida, uma base de código afeta todos os aspectos do desenvolvimento de aplicativos até o número de desenvolvedores necessários, permitindo que a empresa economize dinheiro gasto geralmente na correção e atualização de duas bases de código separadas. A parte significativa economizada do orçamento inicial do projeto pode ser gasta em melhorias adicionais do aplicativo, de acordo com as análises dos usuários. Como resultado, o desenvolvimento multiplataforma de aplicativos móveis de maneira equilibrada alcança seus objetivos tanto pelo critério de preço quanto pelos critérios de tempo, complexidade e experiência do usuário.

All Articles