© saicle/Shutterstock.com
PHP Magazin
Cloud-Anwendung mit JavaScript

Cutting-Edge für die Kaninchenliebe

Kann JavaScript halten, was es verspricht? Hat der aktuelle Hype um die Sprache einen begründeten Hintergrund? In diesem Artikel beleuchten wir mögliche Anwendungsbereiche JavaScript-basierter Technologien, um den Reifegrad der alten Skriptsprache darzustellen. Als Basis für unsere Überlegungen soll ein nicht ganz ernst gemeintes Cloud-Portal für Kaninchenfreunde dienen [1].

George Herczeg


Wir planen, eine Kaninchenfanseite mit JavaScript-Technologien zu erstellen. Diese Fanseite soll alle populären Zielumgebungen und Plattformen abdecken. Sie soll auf einem Server in der Cloud Microservices bereitstellen, auf die browserbasierte Webanwendungen, Desktopprogramme sowie Smartphone-Apps zugreifen können.

Abb. 1: Die zentrale Position der Cloud-Anwendung mit REST-/JSON-API, das die Clients bedient

Die Basis unseres Fanportals bildet die Node.js-Plattform, die aus Kostengründen in der Cloud bereitgestellt werden soll. Es gibt heutzutage eine Reihe von Cloud-Anbietern, die als PaaS (Platform as a Service) kostengünstig vorinstalliert Node.js anbieten. Die bekanntesten Anbieter sind unter anderem Modulus, OpenShift und Heroku. Wir haben uns für das Angebot von Red Hat (OpenShift) entschieden, da dieses auch das Aufsetzen von kostenlosen Webseiten erlaubt und eine Datenbank (MongoDB) out of the box anbietet. Ein weiterer Vorteil: Die Entwicklung und das Testen können auf dem lokalen Entwicklungsrechner mit einer lokalen Node. js-Installation erfolgen, da (fast) keine OpenShift-spezifischen proprietären Einrichtungsschritte erforderlich sind (Listing 1). In 15 Minuten hat man sich registriert und einen URL mit der gewünschten Serverumgebung reserviert [2]. Die Verwaltung und spätere Aktualisierung der geplanten Webseite lässt sich mit gewohnten Mitteln wie Git erledigen.

Listing 1: Zwei Codezeilen sind OpenShift-­spezifischmodule.exports = { 'ipaddress': process.env.OPENSHIFT_NODEJS_IP || 'localhost', 'port' : process.env.OPENSHIFT_NODEJS_PORT || 80, 'database' : 'mongodb://myusername:mypassword@apollo.modulusmongo.net:27017/nihun8eM', 'secret' : 'mysecret'};

Auf dem Server

Nach der Reservierung unserer Webadresse ist die nächste Herausforderung, die eigentliche JavaScript-Anwendung aufzusetzen. Hier können wir aus den Vollen schöpfen. Node.js als Plattform bietet zahlreiche Module, um die Entwicklung für Kaninchenfreunde zu erleichtern. Die meistgenutzten Module sind Express (als Middleware), Morgan (als Logger-Komponente) und Mongoose als Datenbankabstraktionsmechanismus.

Aber was sind eigentlich die Vorteile der Node.js-Umgebung im Vergleich zu traditionellen serverbasierten Lösungen? Wir wollen ja nicht aufgrund eines möglicherweise unbegründeten Hypes unsere Entscheidung über die grundlegende Technologie treffen. Es gibt eine Reihe von Argumenten, die für JavaScript auf der Serverseite sprechen:

Die asynchrone Ausführung ist wohl der wicht...

PHP Magazin
Cloud-Anwendung mit JavaScript

Cutting-Edge für die Kaninchenliebe

Kann JavaScript halten, was es verspricht? Hat der aktuelle Hype um die Sprache einen begründeten Hintergrund? In diesem Artikel beleuchten wir mögliche Anwendungsbereiche JavaScript-basierter Technologien, um den Reifegrad der alten Skriptsprache darzustellen. Als Basis für unsere Überlegungen soll ein nicht ganz ernst gemeintes Cloud-Portal für Kaninchenfreunde dienen [1].

George Herczeg


Wir planen, eine Kaninchenfanseite mit JavaScript-Technologien zu erstellen. Diese Fanseite soll alle populären Zielumgebungen und Plattformen abdecken. Sie soll auf einem Server in der Cloud Microservices bereitstellen, auf die browserbasierte Webanwendungen, Desktopprogramme sowie Smartphone-Apps zugreifen können.

Abb. 1: Die zentrale Position der Cloud-Anwendung mit REST-/JSON-API, das die Clients bedient

Die Basis unseres Fanportals bildet die Node.js-Plattform, die aus Kostengründen in der Cloud bereitgestellt werden soll. Es gibt heutzutage eine Reihe von Cloud-Anbietern, die als PaaS (Platform as a Service) kostengünstig vorinstalliert Node.js anbieten. Die bekanntesten Anbieter sind unter anderem Modulus, OpenShift und Heroku. Wir haben uns für das Angebot von Red Hat (OpenShift) entschieden, da dieses auch das Aufsetzen von kostenlosen Webseiten erlaubt und eine Datenbank (MongoDB) out of the box anbietet. Ein weiterer Vorteil: Die Entwicklung und das Testen können auf dem lokalen Entwicklungsrechner mit einer lokalen Node. js-Installation erfolgen, da (fast) keine OpenShift-spezifischen proprietären Einrichtungsschritte erforderlich sind (Listing 1). In 15 Minuten hat man sich registriert und einen URL mit der gewünschten Serverumgebung reserviert [2]. Die Verwaltung und spätere Aktualisierung der geplanten Webseite lässt sich mit gewohnten Mitteln wie Git erledigen.

Listing 1: Zwei Codezeilen sind OpenShift-­spezifischmodule.exports = { 'ipaddress': process.env.OPENSHIFT_NODEJS_IP || 'localhost', 'port' : process.env.OPENSHIFT_NODEJS_PORT || 80, 'database' : 'mongodb://myusername:mypassword@apollo.modulusmongo.net:27017/nihun8eM', 'secret' : 'mysecret'};

Auf dem Server

Nach der Reservierung unserer Webadresse ist die nächste Herausforderung, die eigentliche JavaScript-Anwendung aufzusetzen. Hier können wir aus den Vollen schöpfen. Node.js als Plattform bietet zahlreiche Module, um die Entwicklung für Kaninchenfreunde zu erleichtern. Die meistgenutzten Module sind Express (als Middleware), Morgan (als Logger-Komponente) und Mongoose als Datenbankabstraktionsmechanismus.

Aber was sind eigentlich die Vorteile der Node.js-Umgebung im Vergleich zu traditionellen serverbasierten Lösungen? Wir wollen ja nicht aufgrund eines möglicherweise unbegründeten Hypes unsere Entscheidung über die grundlegende Technologie treffen. Es gibt eine Reihe von Argumenten, die für JavaScript auf der Serverseite sprechen:

Die asynchrone Ausführung ist wohl der wicht...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang