Ich habe eine neue Frage über die Entwicklung von interaktiven, dynamischen Websites. Kann jemand kurz die Unterschiede erklären zwischen:
Wann würde ich beispielsweise die Google App Engine über Django usw. bevorzugen? Wenn ich einen Buchladen wie Amazon eröffnen möchte, wie würde ich die Website gestalten? Wollte ich SO neu implementieren? Was ist mit einer Nachrichtenseite wie nytimes?
Entschuldigung, ich werfe all diese verschiedenen Technologien und Frameworks zusammen, aber für mich, die Uneingeweihten scheinen alle ziemlich genau das gleiche zu tun ...
Hier ist mein Versuch auf Ihre (sehr breite) Frage:
Grails ist ein Ruby-ähnliches Framework, um die Entwicklung von webbasierten CRUD-Apps für mehrere Clients zu vereinfachen. Es basiert auf Java, Groovy, Spring und Hibernate.
Java-Servlets sind HTTP-Listenerklassen, die Sie mithilfe von Java EE-Servlet / JSP-Engines bereitstellen. Bei diesen Engines sind fast immer HTTP-Server integriert, so dass Sie entscheiden können, ob Sie sie auf einem Webserver wie Apache oder IIS bereitstellen möchten. Sie wären Teil eines Frameworks wie Grails, aber Sie müssen neben Servlets noch eine Menge anderer Dinge hinzufügen, um eine dynamische, datengesteuerte Web-App zu erstellen. Aus diesem Grund können Sie keine Katze schwingen, ohne ein anderes Java-Web-Framework (z. B. Struts, Spring, Wicket, JSF usw.) zu verwenden - es gibt viel mehr als nur Servlets.
Dies ist alles insofern ähnlich, als es verschiedene Versuche sind, das gleiche grundlegende Problem zu lösen. Sie wählen eine basierend auf Ihrer Vertrautheit mit der zugrunde liegenden Sprache.
Ich würde Google App Engine nicht in dieselbe Kategorie einordnen. Es fühlt sich eher wie die "Host in the Cloud" -Option von Google an als eine Alternative zu Rails oder Django. Sie können Python-Apps, die Django verwenden, auf der Google App Engine bereitstellen. In diesem Sinne ist das keine Alternative.
Es ist eine Frage des Geschmacks, was Sie wählen, obwohl Sie Apfel mit Orangen vergleichen:
Technisch können Sie jede Webapp mit einer der oben genannten Technologien erstellen, ich würde eine verwenden, die mir vertraut ist. Wenn Sie keine wissen, versuchen Sie einfach, einige Tutorials und Wikipedia-Artikel zu den oben genannten zu lesen, um Ihre bevorzugten auszuwählen und zu beginnen - Sie werden sich sehr bald damit vertraut machen. Sobald Sie eines von ihnen gründlich gelernt (und benutzt) haben, wird es nicht schwer sein, die anderen zu benutzen.
Amazon, SO und Nytimes sind allesamt mehr oder weniger CRUD-Apps. So können Sie es mit jedem aktuellen Web-Framework implementieren.
Ich würde in keiner Reihenfolge überlegen:
Wenn Sie eine schnellere Lernkurve wünschen (wenn Sie schnell starten möchten, können Sie sich kleinere Frameworks ansehen):
Ein Schlüsselfaktor ist die Sprache, die Sie bereits kennen. Versuchen Sie also, ein Framework auszuwählen, in dem Sie mit der Sprache vertraut sind.
Ein weiterer Schlüsselfaktor (an den wir weniger denken) ist, welche Sprache Ihre Kollegen kennen. Wenn Ihr Projekt ein Team umfasst oder Sie es in Zukunft jemand anderem übergeben, wählen Sie etwas aus, mit dem sich Ihre Kollegen wohlfühlen.
Tags und Links django ruby-on-rails web-applications google-app-engine