Tendencias tecnológicas de desarrollo web 2019

introducción

La transformación digital abarca cada año más ámbitos diferentes de la vida y los negocios. Si una empresa quiere ser competitiva, los sitios de información ordinarios ya no son suficientes, se necesitan aplicaciones móviles y web que no solo proporcionen información a los usuarios, sino que también les permitan realizar determinadas funciones: recibir o solicitar bienes y servicios, proporcionar herramientas.

Tendencias tecnológicas de desarrollo web 2019

Por ejemplo, a los bancos modernos ya no les basta con tener un sitio web con información, necesitan tener herramientas en línea para sus clientes, una cuenta personal donde el usuario pueda administrar cuentas, inversiones y préstamos. Incluso las pequeñas empresas necesitan herramientas prácticas para aumentar las conversiones, como concertar una cita con un médico o un peluquero, o reservar una mesa en un restaurante o una sala de juegos infantil para una fiesta de cumpleaños.

Y los propios propietarios necesitan recibir información oportuna y cómoda sobre el estado de su empresa, por ejemplo, la recopilación de datos estadísticos y análisis para diferentes departamentos de producción o la productividad de los departamentos. A menudo, cada departamento recopila estos datos a su manera, e incluso puede utilizar diferentes herramientas y el propietario necesita dedicar mucho tiempo personal para comprender todo esto; directa o indirectamente, esto puede afectar la eficiencia de la empresa y, en última instancia, las ganancias. La transformación digital y el desarrollo de aplicaciones web o móviles también ayudarán aquí.

Las tecnologías no se detienen y están en constante evolución, y lo que se usaba hace varios años puede que hoy ya no sea relevante, o lo que no se podía hacer hace varios años ya se ha convertido en una realidad. Existen herramientas más modernas que le ayudan a crear aplicaciones web y móviles de forma más rápida y mejor. Basándome en observaciones y experiencias personales, quiero compartir mi visión de qué tecnologías y herramientas tendrán demanda en un futuro próximo y por qué debería prestarles atención al crear una aplicación web moderna.

Solicitud de una sola página

Definamos un poco la terminología. La aplicación de página única (SPA) es una aplicación web cuyos componentes se cargan una vez en una página y el contenido se carga según sea necesario. Y al moverse entre secciones de la aplicación, la página no se recarga por completo, solo carga y muestra los datos necesarios.

Las aplicaciones de una sola página se benefician enormemente de las aplicaciones web clásicas en términos de velocidad y facilidad de uso. Con la ayuda de SPA, puede lograr el efecto de que un sitio web funcione como una aplicación en un escritorio, sin reinicios ni retrasos significativos.

Si hace unos años las aplicaciones de una sola página prácticamente no soportaban la optimización de motores de búsqueda y se usaban principalmente para crear cuentas personales y paneles de administración, hoy en día crear una aplicación de una sola página con soporte completo para la optimización de motores de búsqueda (SEO) se ha vuelto mucho más fácil. Al utilizar aplicaciones de una sola página renderizadas en servidor hoy en día, este problema ha desaparecido por completo. En otras palabras, esta es la misma aplicación de una sola página, pero en la primera solicitud, el servidor no solo genera datos, sino que crea una página HTML lista para mostrar y los motores de búsqueda reciben páginas listas para usar con toda la metainformación y el marcado semántico. .

Con el desarrollo de herramientas para crear aplicaciones web del lado del cliente, el desarrollo y la transición a aplicaciones de una sola página solo crecerán en este año y en los siguientes. Si tiene una aplicación antigua que está desactualizada y funciona lentamente, e incluso con una recarga completa de la página al cambiar entre secciones, este año puede actualizar de manera segura a una aplicación rápida de una página; ahora es un buen momento, la tecnología ya lo permite. para hacer esto con bastante rapidez y eficiencia.

Tener un sitio web moderno y rápido es muy bueno, pero déjame decirte honestamente: no todas las aplicaciones se pueden convertir fácilmente en aplicaciones de una sola página, ¡y la transición puede ser costosa! Por lo tanto, es necesario comprender quién necesita dicha transición y por qué.

Para ayudarlo a comprender, en la siguiente tabla le daré algunos ejemplos de cuándo desarrollar o cambiar a un SPA es apropiado y está justificado, y cuándo no.

ЗА

Si desea crear una aplicación moderna y rápida y desea utilizar no solo la versión web, sino también la versión móvil o incluso de escritorio, todos los procesos y cálculos se realizan en un servidor remoto o en la nube. Además, para que todos los clientes tengan una interfaz de interacción y no sea necesario realizar todas las ediciones en el código del servidor al agregar un nuevo cliente.

Por ejemplo: redes sociales, agregadores, plataformas SaaS (software como servicio en la nube), mercados

Si tiene una tienda o un servicio web, sabe que es lento y que la gente se va, quiere hacerlo más rápido, comprende el valor de los clientes y está dispuesto a pagar más de un millón de rublos por una actualización.

Tienes una aplicación móvil que utiliza la API del sitio, pero el sitio es lento y tiene recargas completas de contenido al pasar de una página a otra.

En contra de

Si su público objetivo no utiliza navegadores y dispositivos modernos.

Por ejemplo: áreas corporativas específicas, como el desarrollo de sistemas internos para bancos, instituciones médicas y educación.

Realiza sus actividades principales fuera de línea y no está listo para brindar ningún servicio en línea, y solo necesita atraer clientes.

Si tiene una tienda en línea o un servicio web que ya se vende bien, no verá salidas de clientes ni quejas.

Si tiene una aplicación funcional que no se puede adaptar a SPA y solo necesita reescribir todo desde cero y utilizar otras tecnologías, no está dispuesto a gastar varios millones en esto.

Por ejemplo: hay un sitio en caja o algún tipo de código antiguo y monolítico escrito en casa.

Aplicaciones web progresivas

Las aplicaciones Web progresivas son el producto de la evolución conjunta de una aplicación nativa y un sitio web. Básicamente, se trata de una aplicación web que se ve y se comporta como una aplicación nativa real, puede recibir notificaciones automáticas, funcionar en modo fuera de línea, etc. En este caso, el usuario no necesita descargar la aplicación desde AppStore o Google Play, sino simplemente guardarla en el escritorio.

Como tecnología o enfoque de desarrollo, PWA se ha estado desarrollando desde 2015 y recientemente ha ganado una enorme popularidad en el campo del comercio electrónico.

Algunos ejemplos de la vida real:

  • el año pasado, el hotel Best Western River North pudo aumentar sus ingresos en un 300 % después de lanzar un nuevo sitio web compatible con PWA;
  • El árabe Avito OpenSooq.com, después de crear soporte PWA en su sitio web, pudo aumentar el tiempo de visita al sitio en un 25% y el número de clientes potenciales en un 260%;
  • El famoso servicio de citas Tinder logró reducir la velocidad de carga de 11.91s a 4.69s desarrollando una PWA; además, la aplicación pesa un 90% menos que su homóloga nativa de Android.

El hecho de que vale la pena prestar atención a esta tecnología también lo indica el hecho de que uno de los mayores motores para crear proyectos de comercio electrónico, Magento, lanzó una versión de desarrollo inicial de PWA Studio en 2018. La plataforma le permite crear una interfaz basada en React lista para usar para sus soluciones de comercio electrónico con soporte PWA.

Consejo para aquellos que ya tienen un proyecto de Internet o simplemente una idea para un nuevo servicio compatible con dispositivos móviles: no se apresure a escribir una aplicación nativa completa, primero mire la tecnología PWA. Esta puede ser la solución con la mejor relación calidad-precio para su producto.

Un poco de práctica. Para crear una aplicación de noticias móvil nativa simple, siempre que ya tenga un servidor REST listo para usar, necesita aproximadamente entre 200 y 300 horas de trabajo por plataforma. Dado que el precio medio de mercado por una hora de desarrollo es de 1500-2000 rublos/hora, una aplicación puede costar alrededor de 1 millón de rublos. Si desarrolla una aplicación web con soporte completo para PWA: notificaciones push, modo fuera de línea y otras ventajas, entonces el desarrollo tomará entre 200 y 300 horas de trabajo, pero el producto estará disponible inmediatamente en todas las plataformas. Es decir, un ahorro de aproximadamente 2 veces, sin mencionar el hecho de que no tendrás que pagar tarifas por la colocación en las tiendas de aplicaciones.

Sin servidor

Éste es otro enfoque moderno del desarrollo. Debido al nombre, muchas personas piensan que se trata de un desarrollo verdaderamente sin servidor, que no es necesario escribir código de back-end y que cualquier desarrollador de front-end puede crear una aplicación web completa. ¡Pero eso no es cierto!

Al crear una aplicación sin servidor, aún necesita un servidor y una base de datos. La principal diferencia de este enfoque es que el código back-end se presenta en forma de funciones en la nube (otro nombre para serverless es FaaS, funciones como servicio o funciones como servicio) y permite que la aplicación escale rápidamente y fácilmente. Al crear una aplicación de este tipo, el desarrollador puede centrarse en los problemas comerciales y no pensar en escalar y configurar la infraestructura, lo que posteriormente acelera el desarrollo de la aplicación y reduce su costo. Además, el enfoque sin servidor le ayudará a ahorrar en el alquiler del servidor, ya que utiliza exactamente tantos recursos como sea necesario para completar la tarea y, si no hay carga, el tiempo del servidor no se utiliza en absoluto y no se paga.

Por ejemplo, la gran empresa de medios estadounidense Bustle pudo reducir los costes de alojamiento en más de un 60 % al cambiar a Serverless. Y la compañía Coca-Cola, al desarrollar un sistema automatizado para vender bebidas a través de máquinas expendedoras, pudo reducir los costos de hosting de $13000 a $4500 por año al cambiar a Serverless.

En los últimos años, debido a su novedad y sus limitaciones, Serverless se ha utilizado principalmente para pequeños proyectos, startups y MVP, pero hoy, gracias a la evolución del software, la versatilidad y el poder de la contenerización de servidores, están surgiendo herramientas que le permite eliminar restricciones, simplificar y acelerar el desarrollo de aplicaciones en la nube.
Esto significa que los escenarios empresariales donde la modernización de la nube antes se consideraba imposible (por ejemplo, para dispositivos de borde, datos en tránsito o aplicaciones con estado) ahora son una realidad. Buenas herramientas que son muy prometedoras son kNative y Serverless Enterprise.

Pero a pesar de todo esto, Serverless no es una solución milagrosa para el desarrollo de aplicaciones web. Como cualquier otra tecnología, tiene sus ventajas y desventajas, y es necesario elegir esta herramienta con comprensión y "no clavar clavos con un microscopio" solo porque es tecnológicamente más avanzada.

Para ayudarlo a resolverlo, aquí hay algunos ejemplos de cuándo podría considerar la opción Serverless al desarrollar un servicio web nuevo o mejorar un servicio web actual:

  • Cuando la carga en el servidor es periódica y pagas por capacidad inactiva. Por ejemplo, teníamos un cliente con una red de máquinas de café y era necesario procesar solicitudes y recopilar estadísticas solo unos cientos o miles de veces al día, y por la noche el número de solicitudes se redujo a varias docenas. En este caso, es mucho más eficiente pagar solo por el uso real de los recursos, por eso propusimos e implementamos una solución en Serverless;
  • Si no planea profundizar en los detalles técnicos de la infraestructura y pagar de más por configurar y mantener servidores y un equilibrador. Por ejemplo, al desarrollar un mercado, no sabe exactamente cuál será el tráfico, o viceversa: está planificando mucho tráfico y, para que su aplicación seguramente resista la carga, Serverless es una excelente opción.
  • Si necesita realizar algunos eventos de transmisión en la aplicación principal, escriba datos secundarios en tablas y realice algunos cálculos. Por ejemplo, recopilar datos analíticos de las acciones del usuario, procesarlos de cierta manera y guardarlos en una base de datos;
  • Si necesita simplificar, unificar o acelerar el funcionamiento actual de la aplicación. Por ejemplo, cree servicios que mejoren el rendimiento para trabajar con imágenes o videos, cuando el usuario sube videos a la nube, y una función separada se encarga de la transcodificación, mientras el servidor principal continúa funcionando con normalidad.

Si necesita procesar eventos de servicios de terceros. Por ejemplo, procesar respuestas de sistemas de pago o redirigir datos de usuarios a CRM para acelerar el procesamiento de solicitudes de clientes potenciales.
Si tiene una aplicación grande y algunas partes de la aplicación se pueden implementar de manera más óptima utilizando un lenguaje diferente al principal. Por ejemplo, tienes un proyecto en Java y necesitas agregar nuevas funcionalidades, pero no tienes las manos libres, o la implementación en un lenguaje determinado puede tardar más y ya existe una solución en otro lenguaje, entonces Serverless puede ayudarte. con esto también.

Esta no es la lista completa de herramientas y tecnologías que merecen atención; solo compartí lo que nosotros mismos usamos todos los días en nuestro trabajo y sé exactamente cómo pueden ayudar a las empresas.

Fuente: habr.com

Añadir un comentario