5 votes

Cadre javascript côté serveur

Je cherche à remplacer PHP par quelque chose de mieux (tout le monde semble dire que PHP est le mal, non ?), et j'envisage d'utiliser JavaScript côté serveur.

node.js semble très populaire, mais j'ai peur de devenir fou avec des trucs asynchrones. Est-il possible d'écrire du code normal (synchrone) sous node ?

Ma liste de favoris : scripting web et en ligne de commande, bonnes performances (sur la Le langage informatique
Jeu des repères
V8 semble être un ordre de grandeur plus rapide que PHP), de préférence développé par une entreprise ou une communauté afin qu'il ne soit pas abandonné un jour, une communauté d'utilisateurs avec une bibliothèque de modules décente.

Je ne considère pas les différents frameworks basés sur Rhino, car Rhino fonctionne en Java, et je n'aime pas Java, je suis conscient de son empreinte mémoire, et l'idée de compiler javascript en java n'a aucun sens pour moi.

J'ai passé un peu de temps sur Google, et j'ai trouvé de nombreux projets : Myna, Meteor, GromJS, APE, GLUEscript, v8cgi, silkjs, wakanda, GPSEE, sorrowjs, ejscript, Persevere, PhantomJS.

Quelqu'un a-t-il de l'expérience dans ce domaine ? Toute recommandation est la bienvenue.

6voto

Split Your Infinity Points 2897

Eh bien, Node.JS est la voie à suivre si vous me demandez. Vous pouvez écrire du code synchrone, MAIS ne le faites que dans des scripts en ligne de commande. Lorsque vous écrivez un serveur web, vous devez prendre la voie asynchrone, sinon il ne fonctionnera pas car JavaScript est monofilaire et tout s'arrête.

La raison pour laquelle Node.js est si rapide est due à l'IO asynchrone.

Vous vous habituerez aux rappels et aux événements et, après un certain temps, vous ne voudrez plus revenir en arrière.

Node.js est une plateforme construite sur le moteur d'exécution JavaScript de Chrome qui permet de facilement construire facilement des applications réseau rapides et évolutives. Node.js utilise un système modèle d'E/S non bloquant piloté par les événements, ce qui le rend léger et efficace. léger et efficace, parfait pour les applications en temps réel gourmandes en données qui s'exécutent sur des périphériques distribués.

5voto

Dan Dascalescu Points 8165

Météore . Construit au sommet de Node.js et en pleine expansion. très rapide.

Dans Meteor, le code de votre serveur s'exécute dans un seul thread par requête, et non dans le style de rappel asynchrone typique de Node. Nous trouvons que le modèle d'exécution linéaire correspond mieux au code serveur typique d'une application Meteor.

UPDATE Un an plus tard - Pourquoi Meteor

4voto

bill1 Points 41

Avez-vous regardé Comparaison des solutions JavaScript côté serveur ?

Node.js est populaire. En ce qui concerne la vitesse du php, avez-vous regardé HipHop ? Réécrire votre code en javascript ne donnera probablement pas un grand gain de performance par rapport à php.

4voto

jamjam Points 2913

Nodejs est une très bonne option sur de nombreux fronts.

Mais vous dites que vous êtes préoccupé par sa nature asynchrone.

Deux points sur ce sujet.

  1. vous n'aurez jamais à vous soucier de l'asynchronisme et pourrez continuer à écrire votre application de haut en bas comme en PHP. Enfin, si vous n'effectuez pas d'entrées-sorties bloquantes.

  2. Si vous effectuez des entrées-sorties bloquantes, comme la lecture d'une base de données ou l'accès au système de fichiers, vous devrez utiliser l'asynchronisme. Heureusement, il existe de bons moyens de le faire sans avoir à trop modifier vos pratiques de codage.

3voto

Merci de nous fournir la liste des "nombreux projets" que vous avez trouvés. Nous utilisons actuellement Microsoft ASP 3.0 ("Classic ASP", livré avec IIS) qui fournit une implémentation JavaScript côté serveur depuis 1996 - c'est rapide, mature et, grâce à la technologie COM, assez extensible. Si vous n'êtes pas attaché à l'open source, cela vaut la peine d'y jeter un coup d'œil. Pour notre stratégie open source, nous allons nous intéresser de plus près à SilkJS.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X