Tendances technologiques de développement Web 2019

introduction

La transformation numérique couvre chaque année des domaines de plus en plus différents de la vie et des affaires. Si une entreprise veut être compétitive, les sites d'information ordinaires ne suffisent plus, il faut des applications mobiles et Web qui non seulement fournissent des informations aux utilisateurs, mais leur permettent également d'effectuer certaines fonctions : recevoir ou commander des biens et services, fournir des outils.

Tendances technologiques de développement Web 2019

Par exemple, il ne suffit plus aux banques modernes d’avoir un site Internet contenant des informations ; elles ont besoin d’outils en ligne pour leurs clients, d’un compte personnel où l’utilisateur peut gérer ses comptes, ses investissements et ses prêts. Même les petites entreprises ont besoin d'outils pratiques pour augmenter les conversions, comme prendre rendez-vous avec un médecin ou un coiffeur, ou réserver une table dans un restaurant ou une salle de jeux pour enfants pour une fête d'anniversaire.

Et les propriétaires eux-mêmes doivent recevoir des informations opportunes sous une forme pratique sur l'état de leur entreprise, par exemple, la collecte de données statistiques et d'analyses pour différents départements de production ou la productivité des départements. Souvent, chaque service collecte ces données à sa manière, et peut même utiliser des outils différents, et le propriétaire doit consacrer beaucoup de temps personnel pour comprendre tout cela, indirectement ou directement, cela peut affecter l'efficacité de l'entreprise et, en fin de compte, les bénéfices. La transformation numérique et le développement d’applications Web ou mobiles seront également utiles ici.

Les technologies ne s'arrêtent pas et évoluent constamment, et ce qui était utilisé il y a plusieurs années n'est peut-être plus pertinent aujourd'hui, ou ce qui ne pouvait pas être fait il y a plusieurs années est déjà devenu une réalité. Il existe des outils plus modernes qui vous aident à créer des applications Web et mobiles plus rapidement et mieux. Sur la base d'observations et d'expériences personnelles, je souhaite partager ma vision des technologies et des outils qui seront demandés dans un avenir proche et pourquoi vous devriez y prêter attention lors de la création d'une application Web moderne.

Demande d'une seule page

Définissons un peu la terminologie. Une application à page unique (SPA) est une application Web dont les composants sont chargés une fois sur une page et le contenu est chargé selon les besoins. Et lors du déplacement entre les sections de l'application, la page ne se recharge pas complètement, mais charge et affiche uniquement les données nécessaires.

Les applications monopage bénéficient grandement des applications Web classiques en termes de rapidité et de facilité d'utilisation. Avec l'aide de SPA, vous pouvez obtenir l'effet d'un site Web fonctionnant comme une application sur un ordinateur de bureau, sans redémarrages ni retards importants.

S'il y a quelques années, les applications d'une seule page ne prenaient pratiquement pas en charge l'optimisation des moteurs de recherche et étaient principalement utilisées pour créer des comptes personnels et des panneaux d'administration, aujourd'hui, créer une application d'une seule page avec une prise en charge complète de l'optimisation des moteurs de recherche (SEO) est devenue beaucoup plus facile. Aujourd’hui, en utilisant des applications à page unique rendues par le serveur, ce problème a complètement disparu. En d'autres termes, il s'agit de la même application monopage, mais à la première requête, le serveur génère non seulement des données, mais crée une page HTML prête à être affichée et les moteurs de recherche reçoivent des pages prêtes à l'emploi avec toutes les méta-informations et le balisage sémantique. .

Avec le développement d'outils de création d'applications Web côté client, le développement et la transition vers des applications monopages ne feront que croître au cours de cette année et des années suivantes. Si vous disposez d'une ancienne application obsolète et qui fonctionne lentement, et même avec un rechargement complet de la page lors du passage d'une section à l'autre, alors cette année, vous pouvez passer en toute sécurité à une application rapide d'une page - c'est le bon moment, la technologie vous le permet déjà pour le faire assez rapidement et efficacement.

Avoir un site Web moderne et rapide, c'est très bien, mais laissez-moi vous dire honnêtement : toutes les applications ne peuvent pas être facilement converties en applications monopage, et la transition peut être coûteuse ! Par conséquent, vous devez comprendre qui a besoin d’une telle transition et pourquoi.

Pour vous aider à comprendre, dans le tableau ci-dessous, je vais donner quelques exemples de cas où le développement ou le passage à un SPA est approprié et justifié, et de quand cela ne l'est pas.

ЗА

Si vous souhaitez créer une application moderne et rapide et que vous souhaitez utiliser non seulement la version Web, mais également la version mobile ou même de bureau, tous les processus et calculs ont lieu sur un serveur distant ou cloud. De plus, afin que tous les clients disposent d'une seule interface d'interaction et qu'il ne soit pas nécessaire de modifier chaque code du serveur lors de l'ajout d'un nouveau client.

Par exemple : réseaux sociaux, agrégateurs, plateformes SaaS (software as a cloud service), places de marché

Si vous possédez un magasin ou un service Web, vous savez qu'il est lent et que les gens partent, vous voulez le rendre plus rapide, vous comprenez la valeur des clients et êtes prêt à payer plus d'un million de roubles pour une mise à niveau.

Vous disposez d'une application mobile qui utilise l'API du site, mais le site est lent et son contenu se recharge complètement lors des déplacements entre les pages.

CONTRE

Si votre public cible n'utilise pas de navigateurs et d'appareils modernes.

Par exemple : des domaines d'entreprise spécifiques, tels que le développement de systèmes internes pour les banques, les établissements médicaux et l'éducation.

Vous exercez vos principales activités hors ligne et n'êtes pas prêt à fournir des services en ligne, il vous suffit d'attirer des clients.

Si vous possédez une boutique en ligne ou un service Web qui se vend déjà bien, vous ne constatez pas de fuite de clients ni de plaintes.

Si vous disposez d'une application fonctionnelle qui ne peut pas être adaptée pour SPA et qu'il vous suffit de tout réécrire à partir de zéro et d'utiliser d'autres technologies, et que vous n'êtes pas prêt à dépenser plusieurs millions pour cela.

Par exemple : il existe un site en boîte ou une sorte de code ancien et monolithique écrit à la maison.

Applications Web progressives

Les applications Web progressives sont le produit de l’évolution conjointe d’une application native et d’un site Web. Il s’agit essentiellement d’une application web qui ressemble et se comporte comme une véritable application native, peut recevoir des notifications push, travailler en mode hors ligne, etc. Dans ce cas, l'utilisateur n'a pas besoin de télécharger l'application depuis l'AppStore ou Google Play, mais simplement de l'enregistrer sur le bureau.

En tant que technologie ou approche de développement, la PWA se développe depuis 2015 et a récemment acquis une énorme popularité dans le domaine du commerce électronique.

Quelques exemples concrets :

  • l'année dernière, l'hôtel Best Western River North a pu augmenter ses revenus de 300 % après le lancement d'un nouveau site Web compatible PWA ;
  • Arabe Avito OpenSooq.com, après avoir créé le support PWA sur son site Web, a pu augmenter le temps de visite du site de 25 % et le nombre de prospects de 260 % ​​;
  • le célèbre service de rencontres Tinder a réussi à réduire la vitesse de chargement de 11.91 s à 4.69 s en développant une PWA ; de plus, l'application pèse 90 % de moins que son homologue natif Android.

Le fait qu'il vaut la peine de prêter attention à cette technologie est également indiqué par le fait que l'un des plus grands moteurs de création de projets de commerce électronique, Magento, a lancé une première version de développement de PWA Studio en 2018. La plate-forme vous permet de créer une interface prête à l'emploi basée sur React pour vos solutions de commerce électronique avec la prise en charge de PWA.

Conseil pour ceux qui ont déjà un projet Internet ou simplement une idée de nouveau service avec prise en charge des appareils mobiles : ne vous précipitez pas pour écrire une application native à part entière, mais regardez d'abord la technologie PWA. Il s’agit peut-être de la solution offrant le meilleur rapport qualité-prix pour votre produit.

Un peu de pratique. Pour créer une simple application d'actualités mobile native, à condition que vous disposiez déjà d'un serveur REST prêt à l'emploi, vous avez besoin d'environ 200 à 300 heures de travail par plate-forme. Le prix moyen du marché pour une heure de développement étant de 1500 2000 à 1 200 roubles/heure, une application peut coûter environ 300 million de roubles. Si vous développez une application Web avec une prise en charge complète de PWA : notifications push, mode hors ligne et autres avantages, le développement prendra 2 à XNUMX heures-homme, mais le produit sera immédiatement disponible sur toutes les plateformes. Soit une économie d'environ XNUMX fois, sans parler du fait que vous n'aurez pas à payer de frais de placement dans les magasins d'applications.

Sans serveur

Il s’agit d’une autre approche moderne du développement. En raison de son nom, beaucoup de gens pensent qu'il s'agit d'un développement véritablement sans serveur, qu'il n'est pas nécessaire d'écrire du code back-end et que tout développeur front-end peut créer une application Web à part entière. Mais ce n'est pas vrai !

Lors de la création d'une application sans serveur, vous avez toujours besoin d'un serveur et d'une base de données. La principale différence de cette approche est que le code back-end est présenté sous forme de fonctions cloud (un autre nom pour le sans serveur est FaaS, fonctionne en tant que service ou Functions-as-a-Service) et permet à l'application d'évoluer rapidement et facilement. Lors de la création d'une telle application, le développeur peut se concentrer sur les problèmes commerciaux et ne pas penser à la mise à l'échelle et à la configuration de l'infrastructure, ce qui accélère ensuite le développement de l'application et réduit son coût. De plus, l'approche sans serveur vous aidera à économiser sur la location de serveurs, car elle utilise exactement autant de ressources que nécessaire pour accomplir la tâche, et s'il n'y a pas de charge, le temps du serveur n'est pas du tout utilisé et n'est pas payé.

Par exemple, la grande société de médias américaine Bustle a pu réduire ses coûts d'hébergement de plus de 60 % en passant à Serverless. Et la société Coca-Cola, en développant un système automatisé de vente de boissons via des distributeurs automatiques, a pu réduire ses coûts d'hébergement de 13000 4500 $ à XNUMX XNUMX $ par an en passant au sans serveur.

Au cours des dernières années, en raison de sa nouveauté et de ses limites, le Serverless a été principalement utilisé pour les petits projets, les startups et les MVP, mais aujourd'hui, grâce à l'évolution des logiciels, à la polyvalence et à la puissance de la conteneurisation des serveurs, des outils émergent qui vous permettent de supprimer les restrictions, de simplifier et d'accélérer le développement d'applications cloud .
Cela signifie que les scénarios d'entreprise dans lesquels la modernisation du cloud était auparavant considérée comme impossible (par exemple, pour les appareils de périphérie, les données en transit ou les applications avec état) sont désormais une réalité. Les bons outils très prometteurs sont kNative et Serverless Enterprise.

Mais malgré tout cela, le sans serveur n’est pas une solution miracle pour le développement d’applications Web. Comme toute autre technologie, elle a ses avantages et ses inconvénients, et vous devez choisir cet outil avec compréhension, et « ne pas enfoncer des clous avec un microscope » simplement parce qu'il est plus avancé technologiquement.

Pour vous aider à comprendre, voici quelques exemples de cas dans lesquels vous pourriez envisager d'envisager le sans serveur lors du développement d'un nouveau service Web ou de l'amélioration d'un service Web existant :

  • Lorsque la charge sur le serveur est périodique et que vous payez pour la capacité inutilisée. Par exemple, nous avions un client disposant d'un réseau de machines à café et il n'était nécessaire de traiter les demandes et de collecter des statistiques que quelques centaines ou milliers de fois par jour, et la nuit, le nombre de demandes tombait à plusieurs dizaines. Dans ce cas, il est beaucoup plus efficace de payer uniquement pour l'utilisation réelle des ressources, c'est pourquoi nous avons proposé et implémenté une solution sur Serverless ;
  • Si vous n'envisagez pas de vous plonger dans les détails techniques de l'infrastructure et de payer trop cher pour la configuration et la maintenance des serveurs et d'un équilibreur. Par exemple, lorsque vous développez une place de marché, vous ne savez pas exactement quel sera le trafic, ou vice versa - vous prévoyez beaucoup de trafic et pour que votre application soit sûre de résister à la charge, alors Serverless est un excellent choix.
  • Si vous devez effectuer des événements de streaming dans l'application principale, écrivez des données secondaires dans des tableaux et effectuez des calculs. Par exemple, collecter des données analytiques sur les actions des utilisateurs, les traiter d'une certaine manière et les enregistrer dans une base de données ;
  • Si vous avez besoin de simplifier, d'unifier ou d'accélérer le fonctionnement actuel de l'application. Par exemple, créez des services améliorant les performances pour travailler avec des images ou des vidéos, lorsque l'utilisateur télécharge des vidéos sur le cloud, et qu'une fonction distincte gère le transcodage, tandis que le serveur principal continue de fonctionner normalement.

Si vous devez traiter des événements provenant de services tiers. Par exemple, traitez les réponses des systèmes de paiement ou redirigez les données des utilisateurs vers CRM pour accélérer le traitement des demandes des clients potentiels.
Si vous avez une application volumineuse et que certaines parties de l'application peuvent être implémentées de manière plus optimale en utilisant un langage différent du langage principal. Par exemple, vous avez un projet en Java et vous devez ajouter de nouvelles fonctionnalités, mais vous n'avez pas les mains libres, ou la mise en œuvre dans un langage donné peut prendre plus de temps et il existe déjà une solution dans un autre langage, alors Serverless peut vous aider avec ça aussi.

Ce n'est pas la liste complète des outils et des technologies qui méritent attention, je viens de partager ce que nous utilisons nous-mêmes quotidiennement dans notre travail et savons exactement comment ils peuvent aider les entreprises.

Source: habr.com

Ajouter un commentaire