Nous avons partagé avec vous un résumé des tendances de la technologie front-end en 2018. Dans cet article, nous partagerons avec vous un résumé de l'analyse de la technologie back-end en 2018. Nous espérons qu'il sera utile à tout le monde .
Node.js
Bien que Node.js soit également très populaire et populaire, il est encore rarement vu Entreprises utilisez Node.js comme langage de programmation principal pour le back-end de l'entreprise. Les langages C++, Java, PHP et Python proposent également des solutions similaires, notamment Swoole-1.0, qui repose également sur un mode de rappel asynchrone similaire à Node.js.
La raison essentielle est que la solution technique de rappel asynchrone et certaines solutions d'optimisation qui y sont apportées, notamment Promise, Future, Yield/Generator, Async/Await, etc., ont modifié le style et habitudes de développement du programme. Si vous souhaitez utiliser ces technologies, les ingénieurs doivent en outre apprendre à utiliser ces mots-clés et fonctions.
L'utilisation de ces solutions techniques n'est pas compatible avec les programmes existants. On peut dire que les coûts de R&D sont énormes et qu’il est difficile d’effectuer une transition en douceur. A influencé la popularité de la pile technologique de rappel asynchrone. Ce modèle de programmation est difficile à accepter pour tout le monde.
Le langage Go devient de plus en plus populaire, et de nombreuses grandes sociétés Internet se tournent vers GO pour leurs backends. Dubbo, un framework orienté services bien connu dans le cercle Java, a également annoncé sa transformation en mode asynchrone. Il s’agit d’une tendance lourde, et le modèle asynchrone a été vérifié et reconnu par le marché.
En termes de sélection de serveur Web, la plupart des gens ont commencé à choisir Nginx asynchrone non bloquant au lieu d'Apache bloquant synchrone il y a quelques années. C’est grâce aux programmes asynchrones comme Nginx qu’il a une meilleure adaptabilité et des capacités de concurrence plus fortes. Désormais, en termes de programmation de développement commercial back-end, les équipes dotées de solides capacités techniques ont commencé à faire passer la pile technologique du mode synchrone au mode asynchrone.
Le mode de blocage synchrone présente de nombreux défauts, notamment une faible concurrence, une mauvaise adaptabilité et des requêtes lentes, entraînant une indisponibilité du service. Par exemple : dans le scénario d'appel d'une API tierce dans l'interface en arrière-plan, le mode de synchronisation a un effet extrêmement médiocre. Dans le passé, de moins en moins de personnes utilisaient les frameworks de mode de blocage synchrone développés à l'aide des langages Java, PHP, C++, Python et Ruby.
Le mode coroutine prend en compte la maintenabilité du blocage synchrone et la capacité de concurrence élevée du non-blocage asynchrone. Il deviendra à l’avenir la solution technique dominante dans le domaine du développement back-end.
Le plus important est que le mode coroutine ne nécessite que quelques ajustements du code du projet existant pour s'exécuter, et est même entièrement compatible avec les anciens projets. Seule la couche framework est requise pour la compatibilité. Cela permet une transition en douceur pour l’équipe.
En utilisant le mode coroutine, les développeurs n'ont pas du tout besoin d'apprendre des mots-clés supplémentaires ni l'utilisation des fonctions. Le style de codage est exactement le même qu’en mode synchrone.
Parmi les diverses technologies de coroutine, <code><span style="font-size: 14px;">GO</span>
GO est la plus éblouissante. Coroutines, canaux, langages statiques, performances, compilation riche, bibliothèques standards riches, écologie complète, Google, etc. Il y a trop d'avantages. Le langage GO, à mon avis, est le plus intéressant à apprendre parmi tous les langages de programmation actuels .
<span style="font-size: 14px;">Swoole 2.x</span>
<span style="font-size: 14px;">Swoole 2.x</span>
<span style="font-size: 14px;">Go</span>
permet à PHP, un langage de programmation backend vétéran avec une histoire de plus de 20 ans, d'avoir des capacités de coroutine . Par rapport à la technologie de Go
<span style="font-size: 14px;">PHP + Swoole</span>
, la technologie de
Stack est plus adapté au développement rapide, aux itérations rapides et aux scénarios axés sur l'entreprise. Après tout, les langages dynamiques sont plus flexibles et plus efficaces en matière de développement que les langages statiques. Et <span style="font-size: 14px;">Go</span>
PHP + Swoole
<p>Go<span style="font-size: 14px;"></span></p>
est plus adapté à l'écriture de logiciels au niveau système et au cœur de métier. <span style="font-size: 14px;">Swoole 2.x</span>
<span style="font-size: 14px;">Swoole 2.x</span>
En 2018, j'ai reconstruit le framework swoole, un projet très ancien, avec un support sous-jacent
Swoole 2.xMode coroutine. La raison principale est qu'il existe de nombreux projets au sein de Wheel Company basés sur ce framework, en particulier la couche de service, qui utilise tous le framework swoole. Nous espérons que le code métier ne changera pas une seule ligne et pourra passer en mode coroutine en un clic. Théoriquement, d'autres frameworks PHP de blocage synchrone, tels que Laravel et Yii, peuvent implémenter le code du projet en modifiant uniquement les coroutines Swoole 2.x
Bien que Swoole 2.0 n'ait que moins de deux ans, comparé aux 10 ans de travail acharné du langage Go, il reste encore un long chemin à parcourir chemin à parcourir. Mais par rapport aux langages statiques comme GO, PHP + Swoole présente encore de nombreux avantages. PHP est plus simple et plus facile à utiliser. PHP est un langage dynamique et plus flexible à utiliser.
Bien sûr, s'il s'agit d'un nouveau projet, il est recommandé d'utiliser Swoft, un framework spécialement conçu pour
, qui a moins de bagage historique et donc une plus grande stabilité. <span style="font-size: 14px;">Swoole 2.x</span>
Swoole 2.x
Maintenant avec les coroutines Swoole 2.0, nous restons confiants dans l'avenir de PHP.
Recommandations associées :
19 techniques de raccourci JavaScript utiles à partager
Ce que les développeurs Web ne doivent pas faire dans 2018 Analyse des tendances techniques inconnues
Expérience et méthodes d'amélioration de la technologie PHP