java - rails - why ruby is better than python




Learning Web Development: Django vs Node vs Rails vs Andere (4)

Ruby on Rails:

Leicht zu lernen? - Ja - ausgezeichnete Dokumentation auf guides.rubyonrails.org und ein tolles Tutorial auf railstutorial.org .

Einfach zu erstellen und zu iterieren? Sicher - Schienen eignen sich sehr gut für die agile und iterative Entwicklung.

Einfach zu implementieren? - Um zu implementieren (zumindest für kleine Anwendungen und während des Lernens), können Sie nicht wirklich einfacher als mit Heroku.com - Git-basierte Push und es ist kostenlos.

Popularität - sehr beliebt!

Django

Leicht zu lernen? Wie Rails hat Django eine hervorragende Dokumentation unter docs.djangoproject.com/en/1.3/ . Vielleicht eine etwas steilere Lernkurve (reine Meinung hier, aber ich finde, dass Schienen dazu tendieren, "bereit zu sein", während Django ein bisschen Konfiguration benötigt, bevor du in die Entwicklung kommst).

Einfach zu erstellen und zu iterieren? - Wie bei Rails ist es, wenn Sie einmal damit angefangen haben, sehr einfach zu iterieren.

Einfach zu implementieren? - Nicht so einfach wie Rails. Es gibt Heroku-Äquivalente gondor.io , djangozoom.com , stable.io, aber sie sind in der Regel in privater Beta. gondor.io hatte ich keine Probleme eine Einladung zu gondor.io zu gondor.io .

Popularität - es ist populär, aber die Benutzergemeinschaft ist ein bisschen weniger .... lebhafter als die Rails-Menge.

Knoten

Leicht zu lernen? - um ja und nein, einfach, um einen schnellen Hallo Welt Server zusammen zu setzen, aber schwieriger, wenn Sie eine vollständige App wollen. Ich würde in erster Linie davon Abstand halten - es ist neu und entwickelt sich schnell weiter. Außerdem ist der Knoten selbst nicht mit Rails oder Django vergleichbar, da die beiden letzteren Frameworks sind, während Node eher eine Barebone-Menge von Apis ist, die man verwenden könnte, um etwas zu entwickeln. Sie könnten sich für ein Framework wie expressjs.com das mehr mit Rails und Django expressjs.com . Ich habe es nicht benutzt, daher kann ich dir keine Meinung geben.

Einfach zu erstellen und zu iterieren? - einfach zu bauen - ja, einfach zu iterieren - ja.

Einfach zu implementieren? - Sie können zu no.de wechseln und sich für eine Smartmachine bewerben - es ist im Moment kostenlos und einfach zu implementieren - gitbasiert.

Popularität - es gewinnt.

Ich kenne Java und Python (mit etwas Django) und ein bisschen Ruby (keine Rails) und keine Node.js und wahrscheinlich gibt es noch mehr, die mir nicht bekannt sind.

Ich plane, Web-Entwicklung und seinen kompletten Stapel zu lernen, aber wenn ich sehe, sehe ich viele Optionen und das verwirrt mich. Ich brauche Vorschläge basierend auf den folgenden Parametern

  1. Leichtigkeit zu lernen
  2. Leichtigkeit zu bauen und zu iterieren
  3. Einfache Bereitstellung (wie kostenlose und günstige Hosting-Lösungen)
  4. Beliebt

Bitte werfen Sie einen Ratschlag

Vielen Dank


Ein paar Notizen von einem Django-Entwickler, der ein wenig Zeit damit verbracht hat, Node.js zu erkunden:

  • Der asynchrone Programmieransatz in Node.js ist konzeptionell schwieriger. Während Sie in Django oder Rails einen ähnlichen Ansatz verfolgen können, ist es nicht üblich, dies zu tun.

  • Node.js ist wirklich, wirklich schnell out of the box. Aber der Grund dafür ist, dass es nicht sehr viel OOB enthält.

  • Die Node-Welt ist derzeit sehr fragmentiert, und Dutzende von Node-Bibliotheken, -Lösungen und -Frameworks konkurrieren um Aufmerksamkeit. Express scheint momentan das beliebteste Framework für Node zu sein, aber wir warten in einem Wartespiel, um zu sehen, was los ist. Django und Rails verfügen bereits über alle notwendigen Komponenten, um fortgeschrittene Anwendungen zu erstellen, ohne alles selbst zusammenkleben zu müssen.

  • Das derzeit beliebteste Framework für Node.js ist Express, aber Express bietet nicht einmal eine Möglichkeit, eine Verbindung zu einer Datenbank herzustellen. Sie müssen das hinzufügen. Es enthält auch kein ORM - Sie müssen das hinzufügen. Ich habe mir einige Node-ORMs angeschaut, aber sie schienen nicht annähernd so vollständig oder ausgefeilt zu sein wie Djangos.

  • Django ist eine komplette, zusammenhängende End-to-End-Lösung, bei der alle Teile nahtlos zusammenpassen ("the Mac Way"). Node.js ist eine Basis, auf der Sie Ihr eigenes Framework, Ihr eigenes ORM, Ihren eigenen Db-Treiber, Ihr eigenes URL-Routing-System usw. auswählen ("die Unix-Methode").

  • Es gibt Vorteile für den Unix-Weg, aber solche IMO-Systeme sind schwieriger zu erreichen und schwieriger zu warten. Die Teile sprechen nicht unbedingt so, wie Sie es erwarten würden, und das ganze Projekt wird nicht sofort aktualisiert. End-to-End-Systeme wie das Mac-Software / Hardware-Kontinuum und Django / Rails sind große Gewinne für die Produktivität. Zum Vergleich, beachte die relative Unklarheit von Pythons TurboGears (eine Reihe von getrennten Teilen) im Vergleich zu Django. Django aß das Mittagessen von TurboGears, weil es zusammenhängend und konsistent ist. Wenn Produktivität für Sie wichtig ist, werden Sie produktiver in einem ausgereifteren Framework arbeiten. Ein Node.js-Framework, das diese Vision erfüllt, wird eines Tages ankommen, aber es ist noch nicht da.

  • Express bietet nicht den Bereich hilfreicher Befehlszeilentools, Daten-APIs usw., die Django oder Rails bereitstellen.

  • Node.js-Frameworks enthalten sicherlich nichts wie den Django-Admin, der einen massiven Produktivitätsgewinn für Django-Entwickler darstellt.

  • Rein meine Meinung, aber Python fühlt sich einfach eleganter als Javascript an. Code ist kompakter und lesbarer. Keine große Hürde, nur eine Vorliebe.

Insgesamt fühlt sich Django wie eine "Batterien inklusive" -Plattform an, während sich Node eher wie ein Stöberverkauf anfühlt.

Node / Express sind wirklich jung. Spannend und vielversprechend, aber wie lange wird es dauern, bis sich Node.js-Frameworks mit ausgereiften Frameworks messen können? Ich weiß es nicht.


JSF 2.x wird heutzutage so populär, und mehr UI centric framework in Kombination mit primefaces , wenn Sie eine schnelle Entwicklung von Anwendungen im JSF-Ökosystem benötigen, wie primefaces Rails, die Sie in Betracht ziehen sollten

http://www.springfuse.com/

http://www.myeclipseide.com/documentation/quickstarts/ME4STutorialScaffoldingJSF/scaffoldingjsfarticle.html

Spring Roo mit JSF Addon http://java.dzone.com/articles/jsf-20-spring-roo

1)ease to learn (http://www.vogella.com/articles/JavaServerFaces/article.html)

2)ease to build and iterate

3)ease to deploy (like free and cheap hosting solutions) 

   a) http://www.mkyong.com/google-app-engine/google-app-engine-jsf-2-example/
   b) http://blog.jelastic.com/2012/06/11/how-to-deploy-primefaces-applications-into-jelastic-cloud/

4)popular (http://www.primefaces.org/whouses.html)

Popularität (Punkt 4)): Java Server Faces (JSF) Technologie . Von JSF 1.2 bis zum aktuellen JSF 2.1 fällt es nun mit Java EE 5 bzw. Java EE 6 zusammen. Das bedeutet, dass es jetzt ein Java EE Standard ist. Ein Vorteil besteht auch darin, dass Web Application Server (wie JBoss AS 5 und höher, GlassFish, WebSphere AS, Oracle AS usw.), die vollständig Java EE-konform (5 und höher) sind, JSF ausführen können (keine Konfiguration erforderlich). damit löst sich Punkt c)).

Es gibt verschiedene Tutorials für JSF, zB in CoreServlets . BalusC hat ein einfaches und exzellentes Tutorial zum Einrichten und Schreiben einer einfachen JSF-Webanwendung geschrieben .





node.js