Tendências de tecnologia de desenvolvimento web 2019

Introdução

A transformação digital cobre cada vez mais áreas diferentes da vida e dos negócios a cada ano. Se uma empresa quer ser competitiva, os sites de informação comuns já não são suficientes, são necessárias aplicações móveis e web que não só forneçam informação aos utilizadores, mas também lhes permitam desempenhar determinadas funções: receber ou encomendar bens e serviços, fornecer ferramentas.

Tendências de tecnologia de desenvolvimento web 2019

Por exemplo, já não basta que os bancos modernos tenham um site com informações; eles precisam ter ferramentas online para seus clientes, uma conta pessoal onde o usuário possa gerenciar contas, investimentos e empréstimos. Mesmo as pequenas empresas precisam de ferramentas convenientes para aumentar as conversões, como marcar uma consulta com um médico ou cabeleireiro, ou reservar uma mesa num restaurante ou numa sala de jogos infantis para uma festa de aniversário.

E os próprios proprietários precisam receber informações oportunas e de forma conveniente sobre o estado de sua empresa, por exemplo, a coleta de dados estatísticos e analíticos para diferentes departamentos de produção ou a produtividade dos departamentos. Muitas vezes, cada departamento coleta esses dados à sua maneira, podendo até utilizar ferramentas diferentes e o proprietário precisa despender muito tempo pessoal para entender tudo isso, indiretamente ou diretamente isso pode afetar a eficiência da empresa e, em última análise, o lucro. A transformação digital e o desenvolvimento de aplicativos web ou móveis também ajudarão aqui.

As tecnologias não param e estão em constante evolução, e o que era usado há vários anos pode já não ser relevante hoje, ou o que não podia ser feito há vários anos já se tornou uma realidade. Existem ferramentas mais modernas que ajudam você a criar aplicativos web e móveis de maneira mais rápida e melhor. Com base em observações e experiências pessoais, quero compartilhar minha visão sobre quais tecnologias e ferramentas serão procuradas no futuro próximo e por que você deve prestar atenção a elas ao criar um aplicativo web moderno.

Aplicativo de página única

Vamos definir um pouco a terminologia. Aplicativo de página única (SPA) é um aplicativo da web cujos componentes são carregados uma vez em uma página e o conteúdo é carregado conforme necessário. E ao mover-se entre as seções do aplicativo, a página não recarrega completamente, mas apenas carrega e exibe os dados necessários.

Os aplicativos de página única se beneficiam muito dos aplicativos da Web clássicos em termos de velocidade e facilidade de uso. Com a ajuda do SPA, você consegue o efeito de um site funcionando como um aplicativo em um desktop, sem reinicializações e atrasos significativos.

Se há alguns anos os aplicativos de página única praticamente não suportavam otimização de mecanismos de busca e eram usados ​​principalmente para criação de contas pessoais e painéis de administração, hoje criar um aplicativo de página única com suporte total para otimização de mecanismos de busca (SEO) tornou-se muito mais fácil. Usando hoje aplicativos de página única renderizados em servidor, esse problema desapareceu completamente. Em outras palavras, este é o mesmo aplicativo de página única, mas na primeira solicitação o servidor não gera apenas dados, mas cria uma página HTML pronta para exibição e os mecanismos de busca recebem páginas prontas com todas as meta informações e marcação semântica .

Com o desenvolvimento de ferramentas para criação de aplicações web do lado do cliente, o desenvolvimento e a transição para aplicações de página única só crescerão neste e nos próximos anos. Se você tem um aplicativo antigo que está desatualizado e funciona lentamente, e mesmo com uma recarga completa da página ao alternar entre seções, então este ano você pode atualizar com segurança para um aplicativo rápido de uma página - agora é um bom momento, a tecnologia já permite você fazer isso de forma bastante rápida e eficiente.

Ter um site moderno e rápido é muito bom, mas vou te dizer honestamente: nem todos os aplicativos podem ser facilmente convertidos em aplicativos de página única, e a transição pode ser cara! Portanto, você precisa entender quem precisa dessa transição e por quê.

Para ajudar você a entender, na tabela abaixo darei alguns exemplos de quando desenvolver ou mudar para um SPA é apropriado e justificado e quando não é.

FOR

Se você deseja fazer um aplicativo moderno e rápido e deseja utilizar não só a versão web, mas também a versão mobile ou mesmo desktop, e todos os processos e cálculos ocorrem em um servidor remoto ou em nuvem. Além disso, para que todos os clientes tenham uma interface de interação e não haja necessidade de fazer todas as edições no código do servidor ao adicionar um novo cliente.

Por exemplo: redes sociais, agregadores, plataformas SaaS (software como serviço em nuvem), marketplaces

Se você tem uma loja ou serviço web, sabe que é lento e as pessoas estão saindo, quer torná-lo mais rápido, entende o valor dos clientes e está pronto para pagar mais de um milhão de rublos por um upgrade.

Você tem um aplicativo móvel que usa a API do site, mas o site é lento e recarrega completamente o conteúdo ao alternar entre as páginas

CONTRA

Se o seu público-alvo não usa navegadores e dispositivos modernos.

Por exemplo: áreas corporativas específicas, como desenvolvimento de sistemas internos para bancos, instituições médicas e educacionais.

Você realiza suas principais atividades offline e não está pronto para prestar nenhum serviço online, bastando apenas atrair clientes.

Se você tem uma loja online ou serviço web que já vende bem, você não vê saída de clientes ou reclamações

Se você tem um aplicativo funcional que não pode ser adaptado para SPA e só precisa reescrever tudo do zero e usar outras tecnologias, e não está pronto para gastar vários milhões nisso.

Por exemplo: existe um site em caixa ou algum tipo de código antigo e monolítico escrito em casa.

Aplicativos da Web progressivos

As aplicações Web progressivas são o produto da evolução conjunta de uma aplicação nativa e de um site. Essencialmente, este é um aplicativo da web que se parece e se comporta como um aplicativo nativo real, pode receber notificações push, funcionar em modo offline, etc. Neste caso, o usuário não precisa baixar o aplicativo da AppStore ou Google Play, basta salvá-lo no desktop.

Como tecnologia ou abordagem de desenvolvimento, o PWA vem se desenvolvendo desde 2015 e recentemente ganhou enorme popularidade no campo do comércio eletrônico.

Alguns exemplos da vida real:

  • no ano passado, o hotel Best Western River North conseguiu aumentar a receita em 300% após lançar um novo site habilitado para PWA;
  • O árabe Avito OpenSooq.com, após criar suporte PWA em seu site, conseguiu aumentar o tempo de visita ao site em 25% e o número de leads em 260%;
  • O famoso serviço de encontros Tinder conseguiu reduzir a velocidade de carregamento de 11.91s para 4.69s ao desenvolver um PWA; além disso, o aplicativo pesa 90% menos que seu equivalente Android nativo.

O facto de valer a pena prestar atenção a esta tecnologia também é indicado pelo facto de um dos maiores motores de criação de projectos de e-commerce, o Magento, ter lançado uma versão inicial de desenvolvimento do PWA Studio em 2018. A plataforma permite que você crie um front-end baseado em React pronto para uso para suas soluções de comércio eletrônico com suporte PWA.

Conselho para quem já tem um projeto de Internet ou apenas uma ideia para um novo serviço com suporte para dispositivos móveis: não se apresse em escrever um aplicativo nativo completo, mas primeiro dê uma olhada na tecnologia PWA. Esta pode ser a solução com melhor relação custo-benefício para o seu produto.

Um pouco da prática. Para criar um aplicativo de notícias móvel nativo simples, desde que você já tenha um servidor REST pronto, você precisa de aproximadamente 200-300 horas de trabalho por plataforma. Com o preço médio de mercado por hora de desenvolvimento sendo de 1500 a 2000 rublos/hora, um aplicativo pode custar cerca de 1 milhão de rublos. Se você desenvolver um aplicativo da web com suporte total para PWA: notificações push, modo offline e outras vantagens, o desenvolvimento levará de 200 a 300 horas de trabalho, mas o produto estará imediatamente disponível em todas as plataformas. Ou seja, uma economia de aproximadamente 2 vezes, sem contar o fato de que você não precisará pagar taxas para colocação em lojas de aplicativos.

Serverless

Esta é outra abordagem moderna ao desenvolvimento. Por causa do nome, muitas pessoas pensam que este é um desenvolvimento verdadeiramente sem servidor, não há necessidade de escrever código de back-end e qualquer desenvolvedor front-end pode criar um aplicativo da web completo. Mas isso não é verdade!

Ao criar um aplicativo Serverless, você ainda precisa de um servidor e um banco de dados. A principal diferença desta abordagem é que o código back-end é apresentado na forma de funções de nuvem (outro nome para serverless é FaaS, funções como serviço ou Funções como Serviço) e permite que a aplicação seja dimensionada rapidamente e facilmente. Ao criar tal aplicativo, o desenvolvedor pode se concentrar nos problemas de negócios e não pensar em dimensionar e configurar a infraestrutura, o que posteriormente acelera o desenvolvimento do aplicativo e reduz seu custo. Além disso, a abordagem Serverless ajudará você a economizar no aluguel de servidores, pois utiliza exatamente quantos recursos forem necessários para concluir a tarefa e, se não houver carga, o tempo do servidor não será utilizado e não será pago.

Por exemplo, a grande empresa de mídia americana Bustle conseguiu reduzir os custos de hospedagem em mais de 60% ao mudar para Serverless. E a empresa Coca-Cola, ao desenvolver um sistema automatizado para venda de bebidas através de máquinas de venda automática, conseguiu reduzir os custos de hospedagem de US$ 13000 para US$ 4500 por ano ao mudar para Serverless.

Nos últimos anos, devido à sua novidade e às suas limitações, o Serverless tem sido usado principalmente para pequenos projetos, startups e MVPs, mas hoje, graças à evolução do software, à versatilidade e ao poder da conteinerização de servidores, estão surgindo ferramentas que permitem remover restrições, simplificar e acelerar o desenvolvimento de aplicativos em nuvem.
Isto significa que os cenários de negócios empresariais onde a modernização da nuvem era anteriormente considerada impossível (por exemplo, para dispositivos de borda, dados em trânsito ou aplicações com estado) agora são uma realidade. Boas ferramentas que se mostram muito promissoras são kNative e Serverless Enterprise.

Mas, apesar de tudo isso, Serverless não é uma solução mágica para o desenvolvimento de aplicativos web. Como qualquer outra tecnologia, ela tem suas vantagens e desvantagens, e é preciso escolher essa ferramenta com compreensão, e “não martelar pregos com microscópio” só porque é mais avançada tecnologicamente.

Para ajudá-lo a descobrir, aqui estão alguns exemplos de quando você pode querer considerar o Serverless ao desenvolver um novo serviço da web ou aprimorar um serviço da web atual:

  • Quando a carga no servidor é periódica e você paga pela capacidade ociosa. Por exemplo, tínhamos um cliente com uma rede de máquinas de café e era necessário processar pedidos e recolher estatísticas apenas algumas centenas ou milhares de vezes por dia, e à noite o número de pedidos caía para várias dezenas. Neste caso, é muito mais eficiente pagar apenas pela utilização efetiva dos recursos, por isso propusemos e implementamos uma solução em Serverless;
  • Se você não planeja mergulhar nos detalhes técnicos da infraestrutura e pagar a mais pela configuração e manutenção de servidores e balanceadores. Por exemplo, ao desenvolver um marketplace, você não sabe exatamente qual será o tráfego, ou vice-versa - você está planejando muito tráfego e para que seu aplicativo suporte a carga com certeza, então Serverless é uma excelente escolha.
  • Se você precisar realizar alguns eventos de streaming no aplicativo principal, gravar dados secundários em tabelas e realizar alguns cálculos. Por exemplo, coletar dados analíticos das ações do usuário, processá-los de uma determinada forma e salvá-los em um banco de dados;
  • Se precisar simplificar, unificar ou agilizar o funcionamento atual da aplicação. Por exemplo, crie serviços de melhoria de desempenho para trabalhar com imagens ou vídeos, quando o usuário carrega o vídeo para a nuvem, e uma função separada cuida da transcodificação, enquanto o servidor principal continua operando normalmente.

Se você precisar processar eventos de serviços de terceiros. Por exemplo, processar respostas de sistemas de pagamento ou redirecionar dados de usuários para CRM para acelerar o processamento de solicitações de clientes potenciais
Se você tem uma aplicação grande e algumas partes da aplicação podem ser implementadas de forma mais otimizada usando uma linguagem diferente da principal. Por exemplo, você tem um projeto em Java e precisa adicionar novas funcionalidades, mas não tem mãos livres, ou a implementação em uma determinada linguagem pode demorar mais e já existe uma solução em outra linguagem, então o Serverless pode ajudar com isso também.

Esta não é toda a lista de ferramentas e tecnologias que merecem atenção; apenas compartilhei o que nós mesmos usamos todos os dias em nosso trabalho e sabemos exatamente como elas podem ajudar os negócios.

Fonte: habr.com

Adicionar um comentário