80 votes

Apprentissage du développement Web: Django vs Node vs Rails vs Autres

Je sais que Java et Python(avec quelques Django) et un peu de Ruby(pas de Rails) et pas de Node.js et il y a probablement plus que je ne suis pas au courant.

Je suis de rabotage pour commencer à apprendre le développement web et sa pile complète, mais quand je vois autour de moi, je vois un tas de possibilités et cela me confond. J'ai besoin de suggestions basées sur les éléments suivants params

  1. facilité à apprendre
  2. la facilité de construire et d'itérer
  3. la facilité de déploiement (comme libre et bon marché des solutions d'hébergement)
  4. populaire

S'il vous plaît jeter quelques conseils

Merci

81voto

slapthelownote Points 2168

Ruby on Rails:

Facile à apprendre? - Oui - qualité de la documentation à guides.rubyonrails.org et un bon tutoriel à railstutorial.org.

Facile à construire et parcourir? - pour sûr - rails se prête à l'agile et itératif de développement très bien.

Facile à déployer? - Pour le déploiement (au moins pour les petites applis et pendant l'apprentissage), vous ne pouvez pas vraiment obtenir de plus facile que d'utiliser heroku.com - basé sur git push et c'est gratuit.

Popularité - très populaire!

Django

Facile à apprendre? - comme des Rails, Django a une excellente documentation à docs.djangoproject.com/en/1.3/. Peut-être un peu plus accentuée de la courbe d'apprentissage (purement avis ici, mais je trouve rails tend à être "prêt à aller" alors que django a besoin d'un peu de config avant de vous lancer dans le développement).

Facile à construire et parcourir? - encore une fois, comme des Rails, une fois que vous êtes vers le haut et en cours d'exécution, il est assez facile à itérer.

Facile à déployer? - pas aussi facile que de Rails. Il y a heroku équivalents de gondor.io, djangozoom.com, stable.io , mais ils ont tendance à être en beta privée. Cela dit, je n'ai eu aucun mal à obtenir une invitation pour le gondor.io.

Popularité - il est très populaire, mais la communauté des utilisateurs est un peu moins....vivante que les Rails de la foule.

Nœud

Facile à apprendre? - euh oui et non, facile à mettre un rapide bonjour tout le monde, serveur, mais plus difficile si vous voulez une pleine échelle de l'app. Je voudrais rester à l'écart de ce en première instance - c'est nouveau et en évolution rapide. Aussi, le Noeud lui-même n'est pas comparable avec des Rails ou Django parce que les deux derniers sont des cadres tandis que le Nœud est plus un barebones ensemble d'api que vous pouvez utiliser pour développer quelque chose. Vous pouvez opter pour un cadre comme expressjs.com ce qui est plus conforme avec Rails et Django. Je n'ai pas utilisé donc je ne peux pas vraiment vous donner un avis.

Facile à construire et parcourir? - facile à construire - oui, facile à itérer - oui.

Facile à déployer? - vous pouvez vous diriger vers no.de et de les appliquer pour obtenir un smartmachine - il est libre en ce moment et facile à déployer - git base.

Popularité - il de plus en plus.

42voto

shacker Points 3348

Quelques notes à partir d'un Django dev qui a passé un peu de temps à explorer Node.js:

  • La programmation asynchrone approche Node.js est conceptuellement plus difficile. Bien que vous pouvez prendre une approche similaire dans Django ou des Rails, il n'est pas commun.

  • Node.js est vraiment, vraiment rapide hors de la boîte. Mais une partie de la raison pour cela est qu'il ne comprend pas très bien OOB.

  • Le Nœud monde est très fragmenté en ce moment, avec des dizaines de Nœud bibliothèques, des solutions de, et des cadres de tous en compétition pour attirer l'attention. Express semble être la plus populaire cadre du Nœud droit maintenant, mais nous sommes en quelque sorte dans un jeu d'attente pour voir ce qui se bouscule. Django et les Rails ont déjà tous les éléments dont vous avez besoin pour créer des applications avancées sans avoir à tout coller ensemble vous-même.

  • Les plus populaires de cadre pour Node.js maintenant est-Express, mais Express ne comprend même pas une façon de se connecter à une base de données. Vous devez ajouter que sur. Pas plus que d'ORM - vous besoin d'ajouter que sur. J'ai regardé dans certains Nœud Orm, mais ils ne semblent pas près de comme complet ou sophistiqué que celui de Django reinhardt.

  • Django est un système complet, cohérent de bout en bout de la solution, où toutes les pièces s'emboîtent parfaitement ("le Mac way"). Node.js est une base de référence sur laquelle vous choisissez votre propre cadre, votre propre ORM, votre propre pilote de base de données, l'URL de votre propre système de routage, etc. etc. ("à la Unix").

  • Il y a des avantages à la manière Unix, mais l'OMI comme les systèmes qui sont plus difficile d'obtenir décoller du sol, et de plus en plus difficile à maintenir. Les pièces ne sont pas forcément parler les uns aux autres comme vous vous attendez, et l'ensemble du projet n'est pas mis à jour à la fois. De bout en bout des systèmes comme le Mac de logiciel/matériel, continuum et Django/Rails de sont énormes gains de productivité. Pour comparaison, note la relative obscurité de Python TurboGears (un tas de parties déconnectées) par rapport à Django. Django mangé TurboGears' le déjeuner parce que c'est cohérent et uniforme. Si la productivité est importante pour vous, vous allez être plus productif de travailler dans une plus grande maturité cadre. Un Node.js cadre de travail qui répond à cette vision va arriver un jour, mais il n'y est pas encore.

  • Express n'est pas de fournir la gamme d'outils de ligne de commande, les données de l'API, etc. que Django ou des Rails de fournir.

  • Node.js cadres certainement ne comprennent pas quelque chose comme le Django admin, qui est un énorme productivité gagner pour Django devs.

  • Purement mon avis, mais Python juste se sent plus élégant que le Javascript. Le Code est plus compact et plus lisible. Pas un grand obstacle si, juste une préférence.

Dans l'ensemble, Django se sent comme un "piles" plate-forme alors que le Nœud se sent plus comme un ordre du jour de la vente.

Node/Express sont vraiment jeunes. Passionnant des manières, et montrant une promesse immense, mais combien de temps cela prend-il pour Node.js les cadres à se sentir concurrentiel avec des cadres? Je ne sais pas.

27voto

Lance Pollard Points 17503

En termes de possibilité d'emploi, je dirais que vous aurez obtenir un bon travail si vous allez avec des Rails ou Django. Seules quelques entreprises sont vraiment payer pour Node.js les développeurs, car il est tout simplement pas assez grand encore.

En termes de démarrage occasion, Rails de toute façon. La plupart des amusant et excitant de démarrage possibilités sont soutenus par Ruby on Rails. J'ai rencontré un couple à l'aide de Django. Mais des entreprises comme Groupon et Living Social, sont tous écrits pour la plupart sur des Rails. Ruby est presque deux fois plus populaire que le Python sur Github . Et il y a ce Quora question:

En ce qui concerne l'avenir, Node.js est le chemin. Modèles HTML commencent à être presque entièrement écrit en JavaScript, de toute façon (jQuery.tmpl), afin de faire en sorte que vous n'avez qu'à master 1 de langues, JavaScript, rend l'ensemble de vos compétences d'autant plus puissants. Et node.js se prête vraiment à en temps réel des applications web. De Plus, le nuage de déploiement des plates-formes comme Heroku, qui ont été à l'origine 100% ruby, sont également de commencer à l'appui Node.js. Il y a d'autres de le faire pour toutes les langues, comme dotcloud.

Il y a encore beaucoup de travail qui doit être fait pour rendre Node.js entièrement en vedette que Ruby on Rails (donc des Rails est encore la norme, pour l'instant), mais les bases sont là:

Si vous voulez en pointe, certainement Node.js. Si vous voulez

  1. facilité à apprendre
  2. la facilité de construire et d'itérer
  3. la facilité de déploiement (comme libre et bon marché des solutions d'hébergement)
  4. populaire

Ruby on Rails.

5voto

Buhake Sindi Points 38654

La popularité (point 4)): Java Server Faces (JSF) de la Technologie. Comme de JSF 1.2 de l'actuel JSF 2.1, il est maintenant coïncider avec Java EE 5 et Java EE 6, respectivement. Cela signifie qu'il est maintenant un Java EE Standard. Aussi, un avantage signifie que les Serveurs d'Applications Web (tels que JBoss as 5 et supérieur, GlassFish, WebSphere COMME, Oracle, etc.) c'est entièrement Java EE conforme (5 et plus) peut exécuter JSF (pas besoin de configurations, de sorte que résout point c)).

Il existe plusieurs tutoriels pour JSF, par exemple, dans CoreServlets. BalusC a écrit un excellent tutoriel sur la configuration et l'écriture d'un simple JSF Application Web à partir de zéro.

3voto

Angel O'Sphere Points 1469

Qu'en est-il de Google GWT? Ou graal groovy?

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