Aféierung fir NodeJS + SailsJS

Moien der ganzer Gemeinschaft! Mäi Numm ass Bruno, an ech war do FromLinux als Benotzer. Et ass Zäit fir mech meng éischt Posts an dëser Gemeinschaft ze maachen 🙂

Haut bréngen ech Iech e Guide weider NodeJS y Sails.js

Node.js

Et ass e Programméierungsëmfeld, baséiert op der Sprooch Javascript mat enger eventorientéierter Architektur, ideal fir asynchron Programméierung. Node, baséiert um Motor V8 vu Google.
Et hält eng aktiv Open Source Gemeinschaft, déi vill Moduler geschriwwen hunn fir eis Entwécklung ze erliichteren.
Ee vun hinnen ass Socket.io (Erlaabt de Server Echtzäit Updates un de Client ze schécken, zum Beispill e GPS Tracking)

Firwat ass et?

Node ass fir Situatiounen entwéckelt wou de Verkéier ze grouss ass, wouduerch d'Serverlogik an den Duerchsatz net onbedéngt méi héich sinn. An net nëmmen dat, awer an Echtzäit a mat grousser Skalierbarkeet!

Firwat Node?

1 ass Open Source.
2) Wann Dir jeemools geduecht hutt eng eenzeg Sprooch op Server an Clientssäit ze benotzen, hei ass d'Léisung.
3) Skaléierbarkeet an Zougestëmmung.
4) etc.

Sails.js

Ech hunn Segele gewielt, wéinst de folgenden Charakteristiken zousätzlech zu der Tatsaach datt et a menger Siicht déi liesbarst war wat de Code ugeet. Aen! existéieren VILL Frameworks fir Node, wéi et ass Express, dréiende, GeddyEtc.

Screenshot - 080913 - 13:21:50

Wat ass Segele?

Et ass e MVC Kader dat mimescht de Modell vu Rubin op Schinnen (Jo, Dir hutt richteg héieren: D) fir Kreatioun vu klengen oder groussen Uwendungen séier, einfach a sécher. weider huet Ënnerstëtzung fir modern Uwendungsufuerderungen. Et ass egal wéi eng Datebank Dir benotzt, Sails bitt eng Schicht vun der Abstraktioun, wat d'Wiel dovun egal mécht. Segele huet:

- D'Fäegkeet ze kreéieren RESTfull JSON API automatesch.
- Et integréiert de Modul Socket.io.
- Generéiere Strecken automatesch fir Är Controller.
- Bitt System vun Authentifikatioun vun de Benotzer an Zougang Kontroll Roll-baséiert.
- gräift als Task Runner (Automatesch Aufgaben wéi Minifizéierung, Kompiléierung, Testen, etc)
- Assets: All d'Dateien an hiren entspriechenden Telefonsbicher (css, js) sinn vereenegt an enger eenzeger Datei a minifizéiert, ze reduzéieren erheblech Säitelaaschtung a limitéiert Unzuel u Browser Ufroen

 

Installatioun vun Node.Js

Den Turorial mat deem ech gemaach hunn 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

Sails.Js Installatioun

Déi lescht stabil Versioun:
sudo npm -g install sails

Zu dësem Zäitpunkt ouni Feeler kreéiere mir en neie Projet! 😀

Erstellt de Verzeechnes Skelett:
sails new testProject

Mir kommen an eise Projet:
cd testProject

Mir starten de Server:
sails lift

Yeeeeeeeeeee! mir sinn erakomm http://localhost:1337/

Screenshot - 080913 - 13:02:34

D'Struktur vun eisem Verzeechnes sollt esou ausgesinn:
Screenshot - 080913 - 13:07:57

APIen:
- Chauffeuren
- Adapteren
- Modeller
- Politik
- Servicer

AKTIVEN:
- Biller
- js
- Stiler
favicon
Roboteren

Astellungen:
- lokal
404.js, 500.js… ..
routes.js
session.js
sockets.js …… ..

NODE_MODULES:
- ejs (Schablounmotor)
- granzt
- optimistesch
- Segel-Scheif

VIEWS:
- Heem (hei ass d'Root Template, localhost)
- 404.ejs
- 500.ejs
- layout.ejs (Fir déi, déi Schinne benotzt, behuelen layouts.ejs selwecht wéi Layouts.html. *)

EJS (Embedded Javascript) Et ass e Schablounmotor, awer net deen eenzegen. Ech hu besonnesch d'JADE besser gär

FIN

Sou wäit mäi Wëssen, an ech hoffen, datt ech vill gehollef hunn ... ech sinn nei an dëser Technologie also all konstruktiv Kritik ass wëllkomm 🙂

Dëse Post ass entstanen fir et ze maachen, well ech eng Art psychosozialt Netzwierk entwéckelen (Näischt aus enger anerer Welt). Mat Zwecker vum Léieren, a wéineg Ressourcen. d'Iddi ass och en Heemserver ze maachen deen en ënnerstëtzt (Maacht sécher en Tutorial dovun) Wéi ech virdru scho gesot hunn, Ressourcen si wéineg, sou de Optimisatioun Et ass ganz wichteg. (an och wann se net ze vill wieren ^^)


Den Inhalt vum Artikel hält sech un eis Prinzipie vun redaktionnell Ethik. Fir e Feeler ze mellen klickt hei.

18 Kommentaren, loosst ären

Gitt Äre Kommentar

Är Email Adress gëtt net publizéiert ginn.

*

*

  1. Responsabel fir d'Daten: Miguel Ángel Gatón
  2. Zweck vun den Donnéeën: Kontroll SPAM, Kommentarmanagement.
  3. Legitimatioun: Är Zoustëmmung
  4. Kommunikatioun vun den Donnéeën: D'Donnéeë ginn net un Drëttubidder matgedeelt ausser duerch legal Verpflichtung.
  5. Datenspeicher: Datebank gehost vun Occentus Networks (EU)
  6. Rechter: Zu all Moment kënnt Dir Är Informatioun limitéieren, recuperéieren an läschen.

  1.   Arthur Schelby sot

    Ech sinn iwwerrascht wéi trei et RoR emuléiert, och wa vill RoR haassen fir seng schlecht Leeschtung (ouni ze konfiguréieren) Trendsetzen Code Botzen.

    De Sujet ass ganz interessant, ech hoffen Dir weiderentwéckelt et, Félicitatiounen.

    1.    Nanotechnike sinn sot

      Ech haassen net RoR fir éierlech ze sinn, d'Saach ass datt dem Ruby seng Philosophie vun "et gi vill Weeër fir datselwecht ze maachen" normalerweis e Problem ass, well net all si wierklech déi effizientst a wann Dir op eng Fro äntwere wëllt , a ville Fäll hutt Dir dee klenge Problem an deem jiddereen Iech mat enger anerer Aart a Weis äntwert fir datselwecht ze maachen an Dir éischter méi verwirrt ze ginn D:

      Wat dëse Kader fir Node ugeet, well et net fir enorm oder grouss Saachen ass, gëtt den Node zesumme mat anere Frames wéi Django fir spezifesch Saache benotzt, ech mengen d'Beispill vu Mejorando.la ass esou, si bauen de ganze Site a managen seng Datebaser mat Django awer déi Echtzäit Ausgabe ginn dem Node iwwerlooss, awer ech sinn net sécher, also kann ech net zevill driwwer schwätzen.

      1.    jamin samuel sot

        Ech denken dat ass wéi Dir seet, se benotzen Django fir d'Basis vum Site an Node fir Saachen an Echtzäit ... Ma op d'mannst ass dat wat ech ëmmer héieren Freddy Vega soen

        1.    Bruno cascio sot

          NodeJS ass net wéi Django oder PHP, oder Rubin. Awer et ass e Server wéi Apache, Nginx, etc.

          Sails ass de Kader dee Gebrauch vun nodejs an express mécht (en anere Framework) zesumme mat e puer Moduler wéi socket.io, fir d'Schafe vu Webapplikatiounen.

          Merci!

          1.    Arnoldo RLF sot

            Also wann Dir en Chat mat nodejs mat enger Säit am Python mam Django wëllt abannen (fir mam Beispill verbessert.la weiderzemaachen), musst Dir e Frame benotzen, oder dem Apache zouzeginn (wann dat de Fall ass, ech hu keng Ahnung wéi e Server Python benotzt) de Wee http://miweb.com ya node.js http://miweb.com/chat a kommunizéieren se

  2.   jamin samuel sot

    Hey dat super interessant ....

    Wat ech net fäerdeg gemaach hunn ass firwat gëtt den Node JS fir de Web benotzt?

    1.    Arnoldo RLF sot

      et ass eng Alternativ zum Apache, mam Virdeel an Echtzäit ze sinn (Uwendungen déi all d'Zäit kommunizéieren an net nëmmen wann d'Demande gemaach ass).

      1.    David Gomez sot

        NodeJS ass keng Alternativ (oder Ersatz) fir Apache, NGINX oder all anere Webserver. NodeJS ass e JavaScript Dolmetscher fir de Server, et erlaabt Iech Uwendunge mat dëser Sprooch ze kreéieren déi soss d'Benotzung vu Sprooche wéi Java, Python, Ruby oder PHP brauchen.

        1.    Bruno cascio sot

          Jo, vläicht hunn ech mech falsch ausgedréckt. Wat ech wollt vermëttelen ass datt node.js en eegene Server leeft an net 3. Parteie brauch fir ze schaffen (Apache, nginx, Cherokee, etc)

          Merci!

  3.   Arnoldo RLF sot

    ganz gutt, ech hoffen méi Tutorials fir kënnen node.js ze verfollegen an eppes an Echtzäit ze maachen

    1.    Bruno cascio sot

      Hei ass en 200-Säit Buch, mat enger Aféierung an Node.js duerch Koans. Et huet en an den Node.js, an d '"Resolutioun" vun engem Deel vun engem poséierte Problem (d'Beispill ass twitter) mam Express als Header Framework ... ..

      http://nodejskoans.com/

      PS: Segele ginn op Express Basis gemaach, meeschtens sinn déi meescht.

      Merci!

  4.   elav sot

    Exzellenten Beitrag Bruno .. Wëllkomm 😀

    1.    Bruno cascio sot

      Merci un Iech an d'ganz Gemeinschaft fir matzemaachen 🙂 Gréiss!

  5.   auroszx sot

    Ganz interessant Bruno 🙂

    1.    Bruno cascio sot

      Merci!

  6.   D'Schwammfra sot

    Exzellenten Artikel. Villmols Merci.

    Ech benotze momentan Segele bei e puer vu menge Projeten. Ech wéilt Iech froen, wou ech méi Informatiounen iwwer rollebaséiert Zougangskontroll fir Segele kréien, wa méiglech op Spuenesch, awer wann net, op Englesch. Ech wéilt Zougangskontroll op eng vu menge Säiten derbäifügen awer ech wëll Permissiounen opstellen fir e puer Benotzer vun enger bestëmmter Route an anerer vun enger anerer Route. Ass dat mat Segele méiglech? Ech kann net vill Informatioun doriwwer fannen.

    Merci a Félicitatiounen fir den Artikel.

    Gréiss
    Elvira.

    1.    Bruno cascio sot

      Moien Elvira!

      Wat Dir erwähnt, sief et Sailsjs oder all anere Kader, wat Dir proposéiert ass bezunn op d'Modelléiere vun den Daten an d'Restriktiounen déi de System imposéiert.

      Dir kënnt eppes wéi "Gruppen" (Rollen) mat ënnerschiddleche Permissiounen erstellen an all Benotzer un ee vun hinnen associéieren.

      Besonnesch a Segele ginn se "Politiken" genannt an Dir kënnt et hei gesinn: http://sailsjs.org/#/documentation/concepts/Policies

      Gréiss a Merci fir Äre Kommentar!

      1.    D'Schwammfra sot

        Villmools Merci Bruno. Mat Äre Befuerderungen hunn ech eng elegant Léisung fonnt. eng Begréissung