Ich kann nicht für Meteor sprechen, aber ich kann helfen, ein wenig Hintergrundwissen über Segel zu liefern, weil ich es erstellt habe.
tldr;
Segel sind kein Allheilmittel für alle Probleme des Webs - aber ich glaube, Node.js ist es. Das Ziel von Sails ist es, einen praktischen Rahmen für die Entwicklung vollständiger, skalierbarer, start- und unternehmensfreundlicher Anwendungen bereitzustellen, die auf node.js basieren. Ich habe Balderdash mit der Frage "Können wir Node.js für alles verwenden?" Gestartet . Segel ist die Antwort.
Aus unseren neuen Dokumenten :
Sails ist natürlich ein Webframework. Aber mach einen Schritt zurück. Was bedeutet das? Wenn wir uns auf das "Web" beziehen, meinen wir manchmal das "Front-End-Web". Wir denken an Konzepte wie Webstandards oder HTML 5 oder CSS 3; und Frameworks wie Backbone oder Angular oder jQuery. Sails ist nicht "diese Art" eines Webframeworks. Sails funktioniert hervorragend mit Angular und Backbone, aber Sie würden niemals Sails anstelle dieser Bibliotheken verwenden.
Andererseits meinen wir manchmal, wenn wir über "Web-Frameworks" sprechen, das "Back-End-Web". Dies ruft Konzepte wie REST, HTTP oder WebSockets hervor. und basiert auf Technologien wie Java, Ruby oder Node.js. Ein "Back-End-Web" -Framework hilft Ihnen dabei, APIs zu erstellen, mit Datenbanken zu interagieren, HTML-Dateien bereitzustellen und Hunderttausende von Benutzern gleichzeitig zu verwalten. Sails ist "diese Art" von Web-Framework.
Vor ein paar Jahren habe ich mich verpflichtet, Node.js für alles zu verwenden - es war Liebe auf den ersten Blick . Ich habe Sails auf Express und Socket.io gebaut weil sie die etabliertesten Node-Module für ihre jeweiligen Anwendungsfälle waren (und immer noch sind). Der Code zur Bearbeitung von Anfragen in Sails ist Express-kompatibel, mit dem zusätzlichen Vorteil der impliziten Unterstützung für Socket.io.
Sails ist so konzipiert, dass es mit jeder Strategie kompatibel ist, die Sie zum Erstellen Ihrer Front-End (s) in Angular, Backbone, iOS / ObjC, Android / Java oder einfach nur zum Anbieten einer Roh-API zur Verwendung durch einen anderen Webdienst oder Ihren haben Entwicklergemeinschaft. Wenn Sie am Ende Ihren Ansatz ändern (z. B. von Backbone zu Angular wechseln) oder ein neues Front-End vollständig erstellen (z. B. eine native Windows Phone-App erstellen), funktioniert Ihre Sails-App weiterhin. Wie Sie vielleicht bereits wissen, nennen einige Leute diesen Ansatz eine serviceorientierte Architektur oder SOA ( Joe McCann hat ein großartiges Deck zu diesem Thema.)
In diesem Sinne behält Sails andere bekannte Konventionen zum Erstellen von Webservern bei - eine Standard-MVC-Struktur, die Möglichkeit, saubere APIs zu erstellen, und Kernmodule, die offen, konfigurierbar, erweiterbar und sogar austauschbar sind. Dies bedeutet, dass Sails so niedrig wie nötig an die Bedürfnisse der Benutzer angepasst werden kann.
Im Jahr 2013 verzeichnete das Framework einen enormen Anstieg der Popularität und unser Beratungsgeschäft wuchs. Der Rest der Hauptbetreuer und ich haben unseren Fokus darauf erweitert, die Backend-Entwicklung so schnell und unkompliziert wie möglich zu gestalten. Verwandte Aspekte von Sails wie Hooks (Plugins), Tests und Dokumente haben im letzten Jahr dank der Bemühungen unseres Kernteams und der (ständig wachsenden) Sails-Community insgesamt einen langen Weg zurückgelegt. Es gibt viele Roadmap-Elemente, an denen wir noch arbeiten, aber ich glaube, Sails ist die beste Option für eine stabile, wartbare MVC-Entwicklung auf Node. Der Rest des Teams und ich sind der kontinuierlichen Wartung und Funktionsentwicklung verpflichtet. Da wir es für alle unsere Kundenprojekte verwenden, geht es nirgendwo hin.
Ich bin Hals über Kopf entschlossen, Sails zum besten Webframework zu machen, aber niemals auf Kosten von Node.js. Das Kernteam und ich widmen uns unermüdlich der Verbesserung des Node-Ökosystems. Das bedeutet, NPM zu nutzen, vorhandene Node-Technologien und Best Practices zu nutzen usw. Nicht nur, weil es sinnvoller ist, sondern weil wir Node.js Entwickler sind. Die Motivation für all unsere Bemühungen ist es, Node zugänglicher zu machen, nicht zu ersetzen. Wenn ich also in einem seltsamen Paralleluniversum die Faust-Wahl hätte, ob ich Sails in eine andere Sprache konvertieren oder Sails komplett fallen lassen möchte, aber trotzdem Node verwenden kann, würde ich mich für Letzteres entscheiden.
Zusätzliche Ressourcen:
FAQ | Segel 101 | Original Screencast | Beitragshandbuch | Paketüberfluss
Google Group | Roadmap | IRC: #sailsjs auf Freenode | Build-Status