Tendencias tecnolóxicas de desenvolvemento web 2019

Introdución

A transformación dixital abrangue cada vez máis áreas diferentes da vida e dos negocios cada ano. Se unha empresa quere ser competitiva, os sitios de información comúns xa non son suficientes, son necesarias aplicacións móbiles e web que non só proporcionen información aos usuarios, senón que lles permitan realizar determinadas funcións: recibir ou pedir bens e servizos, proporcionar ferramentas.

Tendencias tecnolóxicas de desenvolvemento web 2019

Por exemplo, xa non abonda que os bancos modernos teñan un sitio web con información, necesitan contar con ferramentas en liña para os seus clientes, unha conta persoal onde o usuario poida xestionar contas, investimentos e préstamos. Incluso as pequenas empresas necesitan ferramentas convenientes para aumentar as conversións, como pedir unha cita cun médico ou un perruqueiro, ou reservar unha mesa nun restaurante ou nunha sala de xogos para nenos para unha festa de aniversario.

E os propios propietarios necesitan recibir información oportuna nunha forma conveniente sobre o estado da súa empresa, por exemplo, a recollida de datos estatísticos e análises para diferentes departamentos de produción ou a produtividade dos departamentos. Moitas veces, cada departamento recolle estes datos ao seu xeito, podendo incluso utilizar diferentes ferramentas e o propietario necesita dedicar moito tempo persoal para entender todo isto, de forma indirecta ou directa isto pode afectar á eficiencia da empresa e, en definitiva, ao beneficio. A transformación dixital e o desenvolvemento de aplicacións web ou móbiles tamén axudarán aquí.

As tecnoloxías non están paradas e están en constante evolución, e o que se usaba hai varios anos quizais xa non teña relevancia na actualidade, ou o que non se podía facer hai xa se fixo realidade. Existen ferramentas máis modernas que che axudan a crear aplicacións web e móbiles máis rápido e mellor. En base a observacións e experiencias persoais, quero compartir a miña visión de que tecnoloxías e ferramentas serán demandadas nun futuro próximo e por que debes prestarlles atención ao crear unha aplicación web moderna.

Aplicación dunha soa páxina

Definamos un pouco a terminoloxía. Aplicación de páxina única (SPA) é unha aplicación web cuxos compoñentes se cargan unha vez nunha páxina e o contido cárgase segundo sexa necesario. E ao moverse entre seccións da aplicación, a páxina non se recarga por completo, senón que só carga e mostra os datos necesarios.

As aplicacións dunha soa páxina benefícianse moito das aplicacións web clásicas en canto a velocidade e facilidade de uso. Coa axuda de SPA, pode conseguir o efecto dun sitio web funcionando como unha aplicación nun escritorio, sen reinicios e atrasos significativos.

Se hai uns anos as aplicacións dunha soa páxina practicamente non admitían a optimización de buscadores e se usaban principalmente para a creación de contas persoais e paneis de administración, hoxe en día a creación dunha aplicación dunha soa páxina con soporte total para a optimización de buscadores (SEO) fíxose moito máis fácil. Usando hoxe aplicacións dunha soa páxina renderizadas no servidor, este problema desapareceu por completo. Noutras palabras, esta é a mesma aplicación dunha soa páxina, pero na primeira solicitude, o servidor xera non só datos, senón que crea unha páxina HTML lista para a súa visualización e os motores de busca reciben páxinas preparadas con toda a metainformación e o marcado semántico. .

Co desenvolvemento de ferramentas para a creación de aplicacións web no lado do cliente, o desenvolvemento e a transición a aplicacións dunha soa páxina só crecerán neste e os seguintes anos. Se tes unha aplicación antiga que está obsoleta e funciona lentamente, e mesmo cunha recarga completa da páxina ao cambiar entre seccións, este ano podes actualizar con seguridade a unha aplicación rápida dunha páxina; agora é un bo momento, a tecnoloxía xa che permite. para facelo de forma bastante rápida e eficiente.

Ter un sitio web moderno e rápido é moi bo, pero déixeme dicirlle sinceramente: non todas as aplicacións se poden converter facilmente en aplicacións dunha soa páxina e a transición pode ser cara. Polo tanto, cómpre comprender quen necesita tal transición e por que.

Para axudarche a entender, na táboa seguinte darei algúns exemplos de cando desenvolver ou cambiar a un SPA é apropiado e xustificado, e cando non.

SOBRE

Se queres facer unha aplicación moderna e rápida e queres utilizar non só a versión web, senón tamén a versión móbil ou incluso de escritorio, e todos os procesos e cálculos teñen lugar nun servidor remoto ou na nube. Ademais, para que todos os clientes teñan unha interface de interacción e non sexa necesario realizar todas as edicións do código do servidor ao engadir un novo cliente.

Por exemplo: rede social, agregadores, plataformas SaaS (software como servizo na nube), marketplaces

Se tes unha tenda ou un servizo web, sabes que vai lento e que a xente marcha, queres facelo máis rápido, entendes o valor dos clientes e estás preparado para pagar máis dun millón de rublos por unha actualización.

Tes unha aplicación móbil que usa a API do sitio, pero o sitio é lento e recarga o contido completo ao moverte entre páxinas

EN CONTRA

Se o teu público obxectivo non utiliza navegadores e dispositivos modernos.

Por exemplo: áreas corporativas específicas, como o desenvolvemento de sistemas internos para bancos, institucións médicas e educación.

Realizas as túas actividades principais fóra de liña e non estás preparado para ofrecer ningún servizo en liña e só precisas atraer clientes.

Se tes unha tenda en liña ou un servizo web que xa se vende ben, non ves a saída nin as queixas dos clientes

Se tes unha aplicación en funcionamento que non se pode adaptar para SPA e só tes que reescribir todo desde cero e usar outras tecnoloxías, e non estás preparado para gastar varios millóns nisto.

Por exemplo: hai un sitio en caixa ou algún tipo de código antigo e monolítico escrito na casa.

Aplicacións web progresivas

As aplicacións web progresivas son o produto da evolución conxunta dunha aplicación nativa e un sitio web. Esencialmente, trátase dunha aplicación web que se parece e se comporta como unha aplicación nativa real, pode recibir notificacións push, traballar en modo sen conexión, etc. Neste caso, o usuario non precisa descargar a aplicación desde AppStore ou Google Play, senón que simplemente gardala no escritorio.

Como tecnoloxía ou enfoque para o desenvolvemento, PWA desenvolveuse desde 2015 e recentemente gañou unha enorme popularidade no campo do comercio electrónico.

Algúns exemplos da vida real:

  • o ano pasado, o hotel Best Western River North puido aumentar os ingresos nun 300% despois de lanzar un novo sitio web habilitado para PWA;
  • Árabe Avito OpenSooq.com, despois de crear soporte PWA no seu sitio web, puido aumentar o tempo de visita ao sitio nun 25% e o número de clientes potenciales nun 260%;
  • o famoso servizo de citas Tinder foi capaz de reducir a velocidade de carga de 11.91 a 4.69 segundos desenvolvendo un PWA; ademais, a aplicación pesa un 90% menos que a súa contraparte nativa de Android.

O feito de que paga a pena prestar atención a esta tecnoloxía tamén se indica polo feito de que un dos maiores motores para crear proxectos de comercio electrónico, Magento, lanzou unha versión de desenvolvemento inicial de PWA Studio en 2018. A plataforma permítelle crear unha interface baseada en React fóra da caixa para as súas solucións de comercio electrónico con soporte PWA.

Consellos para quen xa teña un proxecto en Internet ou só unha idea para un novo servizo con soporte para dispositivos móbiles: non se apresure a escribir unha aplicación nativa de pleno dereito, senón primeiro ollo á tecnoloxía PWA. Esta pode ser a mellor relación calidade-prezo para o teu produto.

Un pouco da práctica. Para crear unha aplicación de noticias móbil nativa sinxela, sempre que xa teñas un servidor REST preparado, necesitas aproximadamente 200-300 horas-hombre por plataforma. Se o prezo medio de mercado por hora de desenvolvemento é de 1500-2000 rublos/hora, unha aplicación pode custar preto de 1 millón de rublos. Se desenvolves unha aplicación web con compatibilidade total con PWA: notificacións push, modo sen conexión e outras vantaxes, o desenvolvemento levará entre 200 e 300 horas de traballo, pero o produto estará dispoñible inmediatamente en todas as plataformas. É dicir, un aforro de aproximadamente 2 veces, sen esquecer o feito de que non terás que pagar taxas pola colocación nas tendas de aplicacións.

Sen servidor

Este é outro enfoque moderno para o desenvolvemento. Debido ao nome, moitas persoas pensan que este é un desenvolvemento verdadeiramente sen servidor, non é necesario escribir código back-end e calquera desenvolvedor front-end pode crear unha aplicación web completa. Pero iso non é certo!

Ao crear unha aplicación sen servidor, aínda necesitas un servidor e unha base de datos. A principal diferenza deste enfoque é que o código back-end preséntase en forma de funcións na nube (outro nome para sen servidor é FaaS, funciona como servizo ou Functions-as-a-Service) e permite que a aplicación se escala rapidamente e facilmente. Ao crear unha aplicación deste tipo, o programador pode centrarse nos problemas empresariais e non pensar en escalar e configurar a infraestrutura, o que posteriormente acelera o desenvolvemento da aplicación e reduce o seu custo. Ademais, o enfoque sen servidor axudarache a aforrar nos alugueres de servidores, xa que utiliza exactamente tantos recursos como sexa necesario para completar a tarefa e, se non hai carga, o tempo do servidor non se usa en absoluto nin se paga.

Por exemplo, a gran empresa estadounidense de medios Bustle foi capaz de reducir os custos de hospedaxe en máis dun 60% ao cambiar a Serverless. E a empresa Coca-Cola, ao desenvolver un sistema automatizado para vender bebidas a través de máquinas expendedoras, foi capaz de reducir os custos de hospedaxe de 13000 a 4500 dólares ao ano cambiando a Serverless.

Durante os últimos dous anos, pola súa novidade e as súas limitacións, Serverless utilizouse principalmente para pequenos proxectos, startups e MVP, pero hoxe en día, grazas á evolución do software, á versatilidade e á potencia da contenerización do servidor, están a xurdir ferramentas que permíteche eliminar restricións, simplificar e acelerar o desenvolvemento de aplicacións na nube.
Isto significa que os escenarios empresariais nos que antes se consideraba imposible a modernización da nube (por exemplo, para dispositivos de borde, datos en tránsito ou aplicacións con estado) son agora unha realidade. As boas ferramentas que mostran moitas promesas son kNative e Serverless Enterprise.

Pero a pesar de todo isto, Serverless non é unha solución para o desenvolvemento de aplicacións web. Como calquera outra tecnoloxía, ten as súas vantaxes e desvantaxes, e cómpre escoller esta ferramenta con comprensión e "non martelar cravos cun microscopio" só porque é máis avanzado tecnoloxicamente.

Para axudarche a descubrilo, aquí tes algúns exemplos de cando podes querer ter en conta Serverless ao desenvolver un novo ou mellorar un servizo web actual:

  • Cando a carga no servidor é periódica e pagas pola capacidade inactiva. Por exemplo, tiñamos un cliente cunha rede de máquinas de café e era necesario procesar solicitudes e recoller estatísticas só uns centos ou miles de veces ao día, e pola noite o número de solicitudes baixou a varias ducias. Neste caso, é moito máis eficiente pagar só polo uso real dos recursos, polo que propuxemos e implementamos unha solución en Serverless;
  • Se non planea mergullarse nos detalles técnicos da infraestrutura e pagar de máis por configurar e manter servidores e un equilibrador. Por exemplo, ao desenvolver un mercado, non sabes exactamente cal será o tráfico ou viceversa: estás a planear moito tráfico e para que a túa aplicación poida soportar a carga, sen servidor é unha excelente opción.
  • Se precisa realizar algúns eventos de transmisión na aplicación principal, escriba datos secundarios en táboas, realice algúns cálculos. Por exemplo, recompilar datos analíticos das accións dos usuarios, procesalos dun xeito determinado e gárdaos nunha base de datos;
  • Se precisa simplificar, unificar ou acelerar o funcionamento actual da aplicación. Por exemplo, cree servizos que melloren o rendemento para traballar con imaxes ou vídeos, cando o usuario carga vídeos na nube e unha función separada xestiona a transcodificación, mentres o servidor principal segue funcionando normalmente.

Se precisa procesar eventos de servizos de terceiros. Por exemplo, procesar as respostas dos sistemas de pago ou redirixir os datos do usuario a CRM para acelerar o procesamento de solicitudes de clientes potenciais
Se tes unha aplicación grande e algunhas partes da aplicación pódense implementar de forma máis óptima usando unha linguaxe diferente á principal. Por exemplo, tes un proxecto en Java e necesitas engadir novas funcionalidades, pero non tes mans libres ou a implementación nun determinado idioma pode levar máis tempo e xa hai unha solución noutro idioma, entón Serverless pode axudar. con isto tamén.

Esta non é a lista completa de ferramentas e tecnoloxías que merecen atención; acabo de compartir o que nós mesmos usamos todos os días no noso traballo e sabemos exactamente como poden axudar ás empresas.

Fonte: www.habr.com

Engadir un comentario