Einführung in NodeJS + SailsJS

Hallo an die ganze Community! Mein Name ist Bruno und ich war dabei DesdeLinux als Benutzer. Zeit für mich, meinen ersten Beitrag in dieser Community zu verfassen 🙂

Heute bringe ich Ihnen einen Führer weiter KnotenJS y Segel.js

Node.js

Es handelt sich um eine Programmierumgebung, die auf der Sprache basiert Javascript mit einer ereignisorientierten Architektur, ideal für die asynchrone Programmierung. Knoten, basiert auf dem Motor V8 von Google.
Es unterhält eine aktive Open-Source-Community, die viele Module geschrieben hat, um unsere Entwicklung zu erleichtern.
Einer ist socket.io (Ermöglicht dem Server, Echtzeit-Updates an den Client zu senden, zum Beispiel GPS-Tracking)

Was ist?

Der Knoten ist für Situationen konzipiert, in denen der Datenverkehr zu groß ist, sodass die Serverlogik und -verarbeitung nicht unbedingt höher ist. Und nicht nur das, sondern auch in Echtzeit und mit großer Skalierbarkeit!

Warum Knoten?

1 ist Open-Source-.
2) Wenn Sie jemals darüber nachgedacht haben, sowohl auf der Server- als auch auf der Clientseite eine einzige Sprache zu verwenden, finden Sie hier die Lösung.
3) Skalierbarkeit und Gleichzeitigkeit.
4) usw.

Segel.js

Ich habe mich aufgrund der folgenden Eigenschaften für „sails“ entschieden, zusätzlich zu der Tatsache, dass es meiner Meinung nach in Bezug auf den Code am besten lesbar war. Auge! existieren VIELE Frameworks für Node, wie es ist Express, Angular, geddy, usw.

Screenshot - 080913 - 13:21:50

Was ist Segel?

Ist ein MVC-Framework das ahmt das Modell von nach Rubin auf Schienen (Ja, Sie haben richtig gehört :D) für die schnelle, einfache und sichere Erstellung kleiner oder großer Anwendungen. Neben wird für moderne Anwendungsanforderungen unterstützt. Egal welche Datenbank Sie verwenden, Segel bieten eine Abstraktionsebene, was die Wahl gleichgültig macht. Segel hat:

- Die Fähigkeit zu schaffen RESTvolle JSON-API automatisch.
- Es enthält das Modul socket.io.
- Routen generieren automatisch für Ihre Controller.
- Bietet System von Authentifizierung von Benutzern und Zugriffskontrolle rollenbasiert.
- Grunzen als Task Runner (automatische Aufgaben wie Minimierung, Kompilierung, Testen usw.)
– Assets: Alle Dateien in den entsprechenden Verzeichnissen (css,js). in einer einzigen Datei vereinheitlicht und minimiert, reduzieren wesentlich Seitenlast und begrenzte Anzahl von Browseranfragen.

Installation von Node.Js

Das Turorial, mit dem ich gemacht habe Ubuntu 13.04.

sudo apt-get install python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

Installation von Sails.Js

Neueste stabile Version:
sudo npm -g install sails

An diesem Punkt ohne Fehler erstellen wir ein neues Projekt! 😀

Erstellen Sie das Verzeichnisskelett:
sails new testProject

Wir geben unser Projekt ein:
cd testProject

Wir starten den Server:
sails lift

Yeeeeeeeeeeah! wir traten ein http://localhost:1337/

Screenshot - 080913 - 13:02:34

Die Struktur unseres Verzeichnisses sollte wie folgt aussehen:
Screenshot - 080913 - 13:07:57

API:
- Treiber
- Adapter
- Modelle
- Richtlinien
- Dienstleistungen

VERMÖGENSWERTE:
- Bilder
- js
- Stile
Favicon
Roboter

KONFIG:
- lokal
404.js, 500.js… ..
route.js
session.js
sockets.js …… ..

NODE_MODULES:
- ejs (Template Engine)
- grunzen
- Optimist
- Segelscheibe

ANSICHTEN:
- Home (hier ist die Root-Vorlage, localhost)
- 404.ejs
- 500.ejs
– layout.ejs (Für diejenigen, die Schienen verwendet haben, verhält sich layout.ejs wie als layouts.html. *)

EJS (Embedded Javascript) Es ist eine Template-Engine, aber nicht die einzige. JADE gefällt mir besonders gut

FIN

Soweit ich weiß, und ich hoffe, dass ich vielen geholfen habe... Das tue ich nuevo In dieser Technologie ist also jede konstruktive Kritik willkommen 🙂

Dieser Beitrag ist dazu entstanden, weil ich eine Art psychosoziales Netzwerk aufbaue (Nichts Außergewöhnliches). Mit Lernzweckeund wenige Ressourcen. Die Idee ist, auch einen Heimserver zu erstellen, der dies unterstützt (Machen Sie sicher ein Tutorial daraus) Wie ich bereits sagte, sind die Ressourcen knapp Optimierung Es ist sehr wichtig. (Und selbst wenn sie es nicht wären ^^)


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Arthur Shelby sagte

    Ich bin erstaunt, wie originalgetreu es RoR emuliert, obwohl viele RoR wegen seiner schlechten Leistung (nicht konfiguriert) und der richtungsweisenden Codebereinigung hassen.

    Sehr interessantes Thema, ich hoffe, Sie entwickeln es weiter, herzlichen Glückwunsch.

    1.    nano sagte

      Ich hasse RoR nicht wirklich, die Sache ist die, dass Rubys Philosophie „Es gibt viele Möglichkeiten, dasselbe zu tun“ normalerweise ein Problem darstellt, weil nicht alle davon wirklich die effizientesten sind und wenn man eine Frage lösen möchte, in In vielen Fällen haben Sie das kleine Problem, dass jeder mit einer anderen Art und Weise reagiert, dasselbe zu tun, und Sie neigen dazu, verwirrter zu werden. D:

      In Bezug auf dieses Framework für Node, da es sich nicht um große oder große Dinge handelt, wird Node zusammen mit anderen Frames wie Django für bestimmte Dinge verwendet. Ich denke, das Beispiel von Mejorando.la sieht so aus. Sie erstellen die gesamte Site und verwalten ihre Basen von Daten mit Django, aber die Echtzeitprobleme bleiben Node überlassen, obwohl ich nicht sicher bin, also kann ich nicht zu viel darüber reden.

      1.    jamin samuel sagte

        Ich denke, das ist, wie Sie sagen, sie verwenden Django als Basis der Site und Node für Dinge in Echtzeit ... Nun, zumindest höre ich das immer von Freddy Vega sagen

        1.    Bruno cascio sagte

          NodeJS ist weder wie Django noch wie PHP oder Ruby. Vielmehr handelt es sich um einen Server wie Apache, Nginx usw.

          Sails ist das Framework, das NodeJS und Express (ein weiteres Framework) zusammen mit einigen Modulen wie socket.io für die Erstellung von Webanwendungen nutzt.

          Viele Grüße!

          1.    Arnoldo RLF sagte

            Wenn Sie also einen NodeJS-Chat mit einer Python-Seite mit Django einbinden möchten (um dem Beispiel von Improve.la zu folgen), müssten Sie einen Frame verwenden oder Apache zuweisen (wenn das der Fall ist, habe ich keine Ahnung, welcher Server). Verwenden Sie Python) den Pfad http://miweb.com ya node.js http://miweb.com/chat und kommunizieren sie

  2.   jamin samuel sagte

    Hey das super interessant….

    Was ich nicht ganz verstehe, ist, warum Node JS für das Web verwendet wird?

    1.    Arnoldo RLF sagte

      Es ist eine Alternative zu Apache mit dem Vorteil, dass es in Echtzeit arbeitet (Anwendungen, die ständig kommunizieren und nicht nur, wenn die Anfrage gestellt wird).

      1.    David Gómez sagte

        NodeJS ist keine Alternative (oder Ersatz) zu Apache, NGINX oder einem anderen Webserver. NodeJS ist ein JavaScript-Interpreter für den Server, der es Ihnen ermöglicht, Anwendungen mit dieser Sprache zu erstellen, die sonst den Einsatz von Sprachen wie Java, Python, Ruby oder PHP erfordern würden.

        1.    Bruno cascio sagte

          Ja, vielleicht habe ich mich schlecht ausgedrückt. Was ich erreichen wollte, ist, dass node.js seinen eigenen Server betreibt und keine Drittanbieter zum Funktionieren benötigt (Apache, Nginx, Cherokee usw.).

          Viele Grüße!

  3.   Arnoldo RLF sagte

    Sehr gut, ich hoffe, dass es weitere Tutorials gibt, um node.js folgen und etwas in Echtzeit tun zu können

    1.    Bruno cascio sagte

      Hier hinterlasse ich Ihnen ein 200-seitiges Buch mit einer Einführung in Node.js über Koans. Es hat eine Einbindung in ein Node.js und die „Lösung“ eines Teils eines Problems (das Beispiel ist Twitter) mit Express als Header-Framework…..

      http://nodejskoans.com/

      PS: Sails basiert auf Express, normalerweise sind es die meisten davon.

      Viele Grüße!

  4.   lebhaft sagte

    Hervorragender Beitrag Bruno .. Willkommen 😀

    1.    Bruno cascio sagte

      Vielen Dank an Sie und die gesamte Community, dass Sie daran teilhaben durften 🙂 Liebe Grüße!

  5.   auroszx sagte

    Sehr interessanter Bruno 🙂

    1.    Bruno cascio sagte

      Thanks!

  6.   Die Schwammfrau sagte

    Hervorragender Artikel. Vielen Dank.

    Ich benutze derzeit Segel in einigen meiner Projekte. Ich möchte Sie fragen, wo ich weitere Informationen zur rollenbasierten Zugangskontrolle für Segel erhalten kann, wenn möglich auf Spanisch, wenn nicht auf Englisch. Ich möchte einer meiner Seiten eine Zugriffssteuerung hinzufügen, möchte jedoch Berechtigungen für einige Benutzer von einer bestimmten Route und andere von einer anderen Route festlegen. Ist das mit Segeln möglich? Ich kann nicht viele Informationen darüber finden.

    Danke und Glückwunsch zum Artikel.

    un saludo
    Elvira.

    1.    Bruno cascio sagte

      Hallo Elvira!

      In Bezug auf das, was Sie erwähnen, sei es Sailsjs oder ein anderes Framework, beziehen sich Ihre Vorschläge auf die Datenmodellierung und die Einschränkungen, die das System auferlegt.

      Sie könnten so etwas wie „Gruppen“ (Rollen) mit unterschiedlichen Berechtigungen erstellen und jeden Benutzer einer von ihnen zuordnen.

      Besonders bei Segeln nennt man sie „Richtlinien“ und man kann es hier sehen: http://sailsjs.org/#/documentation/concepts/Policies

      Grüße und danke für deinen Kommentar!

      1.    Die Schwammfrau sagte

        Vielen Dank, Bruno. Mit Ihren Hinweisen habe ich eine elegante Lösung gefunden. Alles Gute