Quand cela vient à développement webJavaScript est le moteur du Web. Alors que HTML et CSS s’occupent du style et des données d’une page, JavaScript régule le comportement de script des sites Web, du chargement et du rechargement du nouveau contenu de la page sans actualiser complètement la page, à l’animation des éléments de la page et à la vérification des entrées des utilisateurs dans les formulaires Web.

Au fil du temps, la popularité de JavaScript a entraîné l’apparition d’une grande variété de cadres. Il semble que chaque semaine apporte un nouveau framework pour les développeurs JavaScript, chacun promettant d’être meilleur que l’autre. Avec des millions de sites Web basés sur des bibliothèques et des frameworks JavaScript tiers, il existe une demande infinie pour de telles choses.

On a Certains des frameworks JS frontaux les plus populaires ont déjà été détaillés, mais qu’en est-il du backend? Bien que certains frameworks se chevauchent, il est préférable de ne pas lier le développement avant et arrière, en particulier quelque chose d’aussi critique que JavaScript. Par exemple, JavaScript est largement utilisé dans les applications côté serveur et non-navigateur, ce qui nécessite une manière complètement différente de penser de la part des développeurs.

Nous avons demandé à quelques experts quels frameworks backend méritent votre attention. Voici leurs réponses.

Suivant

Ian Wilson, une Développeur de logiciels Chez OneSignal, il était à l’origine amoureux de Node et Express, mais a rapidement trouvé grâce avec Next:

«Le framework Next brouille la ligne entre front-end et back-end d’une manière qui semble un peu étrange au début, mais rend finalement très facile le partage de code JavaScript tout au long du projet. Cela évite d’avoir à dupliquer du code pour la même tâche dans différentes langues. L’interrogation d’un magasin de données et le rendu du balisage côté client qui en dépend sont effectués presque dans le même composant. Une fois que vous avez appris les éléments de base du développement avec Next, tout devient très intuitif.

«Avec Next, nous obtenons la même configuration simple qu’avec des projets tels que l’application Create React et une documentation très bien entretenue. La société qui le maintient, Vercel, anciennement connue par Time, dispose d’une collection d’exemples pour à peu près tous les cas d’utilisation et toutes les intégrations. Je suis également fan de leur plate-forme pour les déploiements. Next est idéalement conçu pour être déployé avec Now, car il transforme les routes et les pages d’API que vous écrivez en fonctions Lambda. Les développeurs peuvent se concentrer davantage sur leurs problèmes d’application que sur leur console AWS – ce qui, d’après mon expérience, représente un gain de temps considérable.

«Je pense que je choisirais Next plutôt que Gatsby ou d’autres bibliothèques backend de nœuds parce que j’obtiens un framework qui effectue le rendu côté serveur, les routes API sont faciles à configurer, et sinon, une meilleure application à créer et à répondre. Ils sont tous bons de différentes manières, mais je préfère déployer avec Now Seals Next pour moi-même, en particulier en tant que seul développeur sur de nombreux projets. « 

Publié à l’origine en octobre 2016, Next.js (actuellement jusqu’à la v.9.5) est un excellent cadre pour tout ce qui est lié à la production, de TypeScript et du support CSS intégré au fractionnement et au regroupement de code.

Express

Kirill Onishuk, plein de piles Le développeur web d’OrangeSoft explique à Dice: «Express.js est un excellent choix pour créer des applications Web et des API de serveur. La vitesse, la conception minimaliste et la flexibilité offrent toutes les fonctionnalités dont vous avez besoin pour écrire des applications simples ou complexes. En installant les packages npm requis, les fonctions peuvent être facilement étendues de sorte qu’absolument tous les problèmes puissent être résolus. Express fournit une couche sur node.js qui ne limite pas ses fonctions, nous pouvons donc également accéder efficacement aux fonctions de node.js.  »

Onishuk a ajouté que «l’écriture d’applications avec un rendu serveur est pratique car Express prend en charge un grand nombre de moteurs de modèles (par exemple Pug et Handlebar). Il contient des gestionnaires intermédiaires et de nombreuses méthodes de service HTTP pour le développement d’API. « 

Gatsby

Avi WilenskyLe fondateur d’Up Hail a noté: «Avec Gatsby, aucun serveur n’est requis car les pages peuvent être créées sur la machine locale du développeur et servies dans un magasin d’objets et un CDN (c’est-à-dire AWS S3 et Cloudfront). L’architecture permet d’économiser des coûts et de la complexité, est sécurisée et garantit des performances rapides. « 

Gatsby est également évolutif et dispose d’une vaste bibliothèque de plus de 2000 plugins disponibles. Basé sur React et GraphQI, Gatsby est mieux utilisé pour créer des sites Web assez statiques avec des services attachés (via ses plugins, bien sûr). Notez que Gatsby n’effectue pas de rendu côté serveur. Cela permet aux sites Web créés avec Gatsby de fonctionner à la vitesse de l’éclair, mais cela peut aussi être limitatif.

nœud.js

PDG de Riseapps Vladlen Shulepov dit dés:

«Node.js est l’architecture backend JavaScript de choix pour Riseapps. La première raison pour laquelle nous utilisons cette architecture est le fait qu’elle vous permet d’utiliser le JS full-stack. De cette manière, il est possible de réutiliser le code à la fois dans le front-end et dans le back-end. Étant donné que nous utilisons beaucoup React et Vue.js, c’est un énorme avantage. De plus, une application Web construite avec JavaScript aux deux extrémités se charge très rapidement et en douceur.

«La raison suivante serait la pertinence de Node pour les applications en temps réel, en particulier pour la communication. Étant donné que nous construisons de nombreuses applications qui incluent des fonctionnalités de messagerie et d’appel, un cadre permettant aux logiciels de répondre instantanément est essentiel. De plus, les applications développées avec Node.js peuvent bien gérer plusieurs demandes d’utilisateurs.

«En fin de compte, cette architecture JS permet de créer des applications évolutives. En raison de la nature de ce cadre, le logiciel créé avec celui-ci est optimisé et peut être facilement adapté aux nouvelles exigences. « 

Node.js a une variété d’utilisations pour les développeurs de tous types. Il est particulièrement utile dans le contexte d’AWS, Ici, vous pouvez démarrer des instances EC2. Des entreprises d’IBM et Microsoft à Netflix et Walmart en font confiance pour leur infrastructure et leur serveur Web. Si vous souhaitez travailler pour une grande entreprise qui utilise fortement l’infrastructure cloud, voici ce que vous devez apprendre.

météore

Meteor est un autre cadre qui ressemble plus à une plate-forme. Christian Fritz, Fondateur et PDG de BibBase, donne un bon aperçu:

«Meteor est livré avec un système de package, des fonctions de création et de déploiement et un support de test. Bien que certains de ses aspects soient partagés avec d’autres frameworks comme next.js ou gatsby, il est unique à bien des égards.

«La synchronisation des données dans Meteor utilise le protocole propriétaire DDP. En bref, DDP synchronise sélectivement les collections dans deux bases de données Mongo: celle sur le serveur et la base de données Minimongo sur le client. Cela libère le développeur d’écrire du code API pour transférer des données entre le client et le serveur comme je le ferais avec Express, et très proprement: il envoie juste des correctifs afin qu’aucune donnée répétitive inutile ne soit envoyée, et il implémentera un comportement réactif Le client est mis à jour dans un tel façon dont la page est mise à jour de manière réactive lorsque de nouvelles données sont reçues, en utilisant soit React ou un autre framework réactif (Vue, Angular, Blaze). Alors que de nombreuses personnes utilisent maintenant GraphQL pour minimiser l’écriture de code API, Meteor diffère par la nature vivante et réactive des données qui sont «juste là». C’est parfait pour toute application Web où les clients créent ou modifient du contenu, ou créent du contenu, car ces données sont partagées de manière transparente avec d’autres utilisateurs en temps réel avec un minimum d’effort de la part du développeur.

«La possibilité d’avoir des packages contenant tous les deux un client et Une partie serveur est l’autre fonction que je n’ai trouvée nulle part ailleurs sous cette forme. Le meilleur exemple de cette fonctionnalité est la gestion de compte. En règle générale, un développeur doit choisir une bibliothèque frontale et une bibliothèque principale pour l’authentification et la gestion des utilisateurs, puis les laisser travailler ensemble. Cela nécessite généralement un peu plus sur les deux bibliothèques sélectionnées que le développeur ne le souhaiterait, et il existe de nombreux pièges. C’est facile avec Meteor. Par exemple, si vous ajoutez le package « Account Password », vous obtenez une base de données utilisateur avec des mots de passe (hachés) sur le serveur et l’interface utilisateur requise avec des fonctions de connexion / login / mot de passe oublié / etc. sur le client, et toutes les communications sont déjà fait. Vous pouvez tout aussi facilement ajouter des packages supplémentaires tels que « Comptes Google » pour l’authentification unique avec Google (et autres pour Facebook ou d’autres connexions sociales). « 

Meteor est écrit en Node.js et intégré à MongoDB, le programme de base de données multiplateforme populaire. Cela le rend particulièrement utile pour les technologues qui développent des produits d’entreprise.

Conclusion

La plupart de ces technologues que nous avons interrogés sur les frameworks JavaScript backend en utilisaient deux ou plus à des fins sur mesure (le plus courant étant un flux de travail Node Express). Cela prouve qu’il n’existe pas de solution unique «Silver Bullet» pour le backend JavaScript et que votre kilométrage variera toujours en fonction de l’utilisation et de vos besoins.

Il existe de nombreux autres frameworks backend qui ne sont pas mentionnés ici. C’est la preuve de la force de l’écosystème du framework JavaScript. Étudiez vos besoins spécifiques et nous sommes sûrs qu’un ou plusieurs d’entre eux vous conviendront parfaitement.



Source link

Recent Posts