Sebastian Springer MaibornWolff

Eine Einstiegshürde ist sowohl bei Sails als auch bei Angular vorhanden. Sobald man sich jedoch einmal an die Konzepte der Frameworks gewöhnt hat, kann man sehr schnell und flexibel entwickeln.

Unsere Arbeitszeit als Entwickler ist kostbar. Diesen Gedanken hatte auch Mike McNeil, als er das Node.js-Framework Sails schuf. Aus einer Reihe von Projekten, die er mit Node.js umsetzte, nahm er die am häufigsten auftretenden Problemstellungen und integrierte ihre Lösung in sein neues Framework: Sails.

Um das Rad nicht komplett neu zu erfinden, setzt Sails auf etablierte Komponenten wie beispielsweise Express oder Socket.IO. Sails schlägt schon zu Beginn eines Projekts einen für Sie als Entwickler sehr komfortablen Weg ein, indem es dem Enwickler ein Kommandozeilenwerkzeug an die Hand gibt, mit dem man sein Projekt aufsetzen und die erforderlichen Grundstrukturen schaffen kann. Dieses CLI begleitet Sie auf dem gesamten Lebenszyklus Ihrer Applikation, sei es beim Set-up, während der Entwicklung oder zum Deployment. Moderne Webapplikationen bestehen jedoch nicht nur aus einem serverseitigen Teil, und so stelle ich Ihnen auf den folgenden Seiten vor, wie Sie Sails mit einem Angular Frontend zu einer echtzeitfähigen Webapplikation kombinieren können.

Sails – die Segel im Backend setzen

Unter den JavaScript-Frameworks bzw. in der Node.js-Welt ist Sails mittlerweile schon fast so etwas wie ein alter Hase. Der initiale Commit in das Projekt-Repository auf GitHub geschah im Januar 2012. Seitdem haben über 200 Contributors über 6 000 Commits zu diesem Projekt beigetragen. Anders als bei vielen Open-Source-Projekten ist für Sails auch kommerzielle Unterstützung verfügbar.

Sails eignet sich durch seinen Funktionsumfang sowohl für die Umsetzung einfacher CRUD-Applikationen mit einem statischen Web-Frontend als auch für das Backend komplexer echtzeitfähiger Single-Page-Applikationen. Sails verfolgt bei der Architektur einer Applikation einen klassischen MVC-Ansatz. Ein Benutzer kann eine Action eines Controllers über eine bestimmte Route aufrufen. Anhand der Informationen in der Anfrage sorgt der Controller dafür, dass eine passende Antwort erzeugt wird. Die Datenhaltung und Kommunikation mit der Datenbank übernimmt der Modellayer, der durch das ORM Waterline verstärkt wird. Waterline unterstützt verschiedene SQL- und NoSQL-Datenbanken, sodass Sie auch hier sehr flexibel sind. Das zentrale Element des View-Layers ist natürlich die Template-Engine. Diese ist, wie so vieles in Sails, austauschbar. Standardmäßig wird hier auf EJS gesetzt.

Sails bringt nicht nur ein sinnvolles Paket an Technologien mit, sondern auch eine Reihe von Konventionen, die bei der Erstellung von Applikationen helfen. Außerdem ist nahezu jeder Aspekt des Frameworks konfigurierbar. Aber keine Sorge, Sie verbringen normalerweise sehr wenig Zeit mit der Konfiguration von Sails. Die Standards, auf die das Framework setzt, sind sehr gut dokumentiert und in den meisten Fällen völlig ausreichend.

Um das Zusammenspiel zwischen Sails und Angular zu demonstrieren, setzen wir im Zuge dieses Artikels eine einfache Chatapplikation um.

Den vollständigen Artikel lesen Sie in der Ausgabe:

PHP Magazin 5.17 - "Sail away!"

Alle Infos zum Heft
579805306Sail away: Apps mit Sails und Angular erstellen
X
- Gib Deinen Standort ein -
- or -