Frage

Mir scheint, dass Webplattformen von Rapid Development die Welt der Webanwendungen radikal verändern werden.

Es ist fünf Jahre her, seit Rails 1.0 für Ruby freigelassen wurde, und seitdem haben wir Grails für Groovy, Django für Python und Roo für Java gesehen.

Meines Wissens (was wahrscheinlich begrenzt ist, gibt es kein ähnliches Rahmen für C#.

Gibt es so etwas? Wenn nicht, warum nicht?

Bearbeiten: Es ist durchaus möglich, dass ich nicht die richtigen Worte verwende, wenn ich "schnellentwickelt" sage, aber ich spreche von Frameworks, die es Ihnen ermöglichen können, eine funktionierende Blog-Engine in 30 Minuten zu erstellen. Sie konnten dies nicht vernünftigerweise mit Java, Frühling und Winterschlaf tun, da die verschiedenen Konfiguration erforderlich ist, damit Ihre Controller gefunden werden können, sowie die Konfiguration und Code, die für Ihre Entitäten erforderlich sind, um bestehen und abgerufen werden.

Ich spreche also von Frameworks, die das gesamte CRUD mit einer Konferenz-Konfigurations-Mentalität bewältigen. Wenn jemand die richtigen Worte für das hat, worüber ich spreche, lassen Sie es mich wissen.

War es hilfreich?

Lösung

Es scheint mir, dass es noch keinen Namen für diese Art von Framework gibt, über die Sie alle in diesem Thread sprechen. Ich rufe sie für den Moment nur an Rails-ähnliche Frameworks: Frameworks, die die Produktivität erhöhen, indem sie andere vorhandene Frameworks orchestrieren, um die Grundbedürfnisse der meisten Webanwendungen zu lösen, aber gleichzeitig alle Komplexitäten des Entwicklers zu verbergen.

Mit Grundbedürfnissen meine ich die Implementierung eines Persistenzanbieters, eines Abhängigkeits -Iniektionscontainers, eines Protokollierungs -Tools, einer MVC und andere coole Sachen. Die schienenähnlichen Frameworks organisieren alle diese Frameworks und Tools auf der Grundlage des Domänenmodells (die Entitäten Ihres Systems mit seinen Attributen).

Dank des Prinzips von Convention-Over-Configuration-Prinzip vermeiden diese Frameworks die Notwendigkeit, viele Konfigurationsdateien zu definieren, die normalerweise von den Frameworks erforderlich sind, die sie orchestrieren , Struktur und Metadaten enthalten in denselben Klassen Definitionen.

Dank der dynamischen Sprachen, die diese Frameworks verwenden (wie Ruby, Groovy, Python, Clojure usw.), mit Ausnahme von Springroo, die dynamisches Verhalten in Java implementiert, indem Aspekte verwendet wird, wird die Funktionalität, die zu den darunter werden dem Entwickler so einheitlich und elegant zur Verfügung gestellt, dass er sich der zugrunde liegenden Technologien nur bewusst ist.

Dank der Gerüsttechnik werden Unit -Tests, Integrationstests, Controller und Ansichten schließlich für die Hauptfunktionen (CRUD) über jeden der vom Entwickler definierten Domänenobjekte automatisch generiert.

In der .NET -Welt wurde noch nichts entwickelt, nachdem alle früheren Definitionen gefolgt waren. Aber nichts verhindert, dass es bald auftritt. In der .NET-Welt gibt es bereits großartige Frameworks, Tools und Bibliotheken, die durch ein neues Schienenrahmen für den CLR orchestriert werden können. Es gibt unter anderem Einheit, Spring.net und Castle Windsor für die Abhängigkeits -In -Anection -Bedürfnisse. Entity Framework 4, Nhibernate und Ibatis.net sind ziemlich gute .NET -Persistenzanbieter. ASP.NET MVC ist mit Unterstützung verschiedener Vorlagenmotoren neben dem herkömmlichen ASP.NET stark angekommen.

Auch wenn niemand die Verwendung einer DLR-Sprache zum Aufbau dieser Art von Framework erreicht, kann jeder, der genug genug ist -Orientierter Behälter (wie AspekteSharp oder Gripper-loom.net), um ein dynamisches Verhalten zu erhalten.

Ich würde gerne über jede Gruppe von Menschen wissen, die versuchen, ein solches Framework in .NET zu entwickeln.

Andere Tipps

Ich weiß nicht, was Sie mit "schnellen Entwicklungs -Webplattformen" meinen. Die Definition der "schnellen Entwicklung", mit der ich vertraut bin, hat nichts mit Sprachen, Paradigmen oder Frameworks zu tun, sondern mit schnellem Prototyping und iterativer Entwicklung zur Herstellung eines Systems. Jede Sprache oder Rahmen kann gleich gut verwendet werden.

Ich habe noch nie Grails oder Roo verwendet, aber Django und Rails sind beide MVC -Frameworks, so dass ihr Gegenstück in .NET wäre ASP.NET MVC.

Sie können in Visual Studio gehen und Steuerelemente auf einer Webseite ziehen und fallen lassen und an eine Datenbank mit wenig bis garem Code herstellen. Ein Klicken zum Testen/Ansehen. Und ein Klick, um auf eine Website hochzuladen (OK, Eingabetechnik eingeben).

Nicht, dass dies die am häufigsten verwendete oder sogar empfohlene Art ist, es zu tun, aber es wird wirklich nicht viel einfacher als das.

Weil .NET -Webanwendungen einen Build -Zyklus haben.

Ruby/Python ist zufällig sehr agil/flinke und dynamische Sprachen.

Wo ich arbeite, haben wir eine riesige .NET-Webanwendung, und die Zusammenstellungszeiten sind vergleichbar mit einem typischen C ++-Programm mittel- bis groß.

In meinem Ersatz entwickle ich Web -Apps in Python, und die Zusammenstellungszeit beträgt 0. Es gibt überhaupt keinen Zusammenstellungschritt. Der ausgeführte Dolmetscher lädt nur .Py -Dateien nach, während Sie sie speichern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
scroll top