Introducere în NodeJS + SailsJS

Bună ziua întregii comunități! Numele meu este Bruno și am fost în DesdeLinux ca utilizator. Este timpul să îmi fac primele postări în această comunitate 🙂

Astăzi vă aduc un ghid NodeJS y sails.js

Node.js

Este un mediu de programare, bazat pe limbaj Javascript cu o arhitectură orientată spre evenimente, ideală pentru programarea asincronă. Nod, se bazează pe motor V8 de la Google.
Menține o comunitate activă open source, care a scris multe module pentru a ne facilita dezvoltarea.
Unul dintre ei este socket.io (Permite serverului să trimită actualizări în timp real către client, de exemplu urmărirea unui GPS)

Pentru ce este?

Nodul este conceput pentru situații în care traficul este prea mare, provocând logica și randamentul serverului nu neapărat mai mari. Și nu numai asta, ci în timp real și cu o mare scalabilitate!

De ce Nod?

1 este open-source.
2) Dacă v-ați gândit vreodată să folosiți o singură limbă atât pe server cât și pe partea clientului, iată soluția.
3) Scalabilitate și Concurs.
4) etc.

sails.js

Am ales pânzele, datorită următoarelor caracteristici, pe lângă faptul că, din punctul meu de vedere, a fost cel mai lizibil din punct de vedere al codului. Ochi! exista MULȚI pentru Node, așa cum este Expres, Unghiular, geddy, Etc

Captură de ecran - 080913 - 13:21:50

Ce este Sails?

Este a Cadrul MVC care imită modelul de rubin pe șine (Da, ați auzit corect: D) ​​pentru crearea de aplicații mici sau mari rapid, ușor și sigur. mai departe are suport pentru cerințele moderne de aplicare. Nu contează ce bază de date folosiți, Sails oferă un strat de abstractizare, ceea ce face ca alegerea sa să fie indiferentă. Sails are:

- Capacitatea de a crea API JSON RESTfull în mod automat.
- Incorporează modulul socket.io.
- Generați rute automat pentru controlere.
- Oferă sistem de autentificare de utilizatori și control acces bazat pe roluri.
- mormăit ca Task Runner (Sarcini automate precum minificare, compilare, testare etc.)
- Active: Toate fișierele din directoarele lor corespunzătoare (css, js) sunt unificat într-un singur fișier și minificat, a reduce considerabil încărcarea paginii și numărul limitat de solicitări ale browserului.

Instalarea Node.Js

Am făcut turorialul cu 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

Instalare Sails.Js

Ultima versiune stabilă:
sudo npm -g install sails

În acest moment fără erori, creăm un nou proiect! 😀

Creați scheletul directorului:
sails new testProject

Intrăm în Proiectul nostru:
cd testProject

Pornim serverul:
sails lift

Yeeeeeeeeeeah! noi intram http://localhost:1337/

Captură de ecran - 080913 - 13:02:34

Structura directorului nostru ar trebui să arate astfel:
Captură de ecran - 080913 - 13:07:57

API-uri:
- Șoferi
- Adaptoare
- Modele
- Politici
- Servicii

ACTIVE:
- imagini
- js
- stiluri
favicon
roboţi

CONFIGURAȚI:
- local
404.js, 500.js ... ..
rute.js
session.js
sockets.js …… ..

NODE_MODULES:
- ejs (motor șablon)
- mormăi
- optimist
- sails-disk

VEDERE:
- Acasă (aici este șablonul rădăcină, localhost)
- 404.ejs
- 500.ejs
- layout.ejs (Pentru cei care au folosit șine, layouts.ejs se comportă ca decât layouts.html. *)

EJS (Embedded Javascript) Este un motor șablon, dar nu singurul. Îmi place mai ales JADE

END

Până acum cunoștințele mele și sper că am fost de ajutor pentru mulți ... Sunt nou în această tehnologie, deci orice critică constructivă este bun venit ????

Această postare a apărut pentru ao face, pentru că dezvolt un fel de rețea psihosocială (Nimic din altă lume). Cu scopurile învățării, și puține resurse. ideea este de a crea și un server de acasă care îl acceptă (Cu siguranță, faceți un tutorial) După cum am spus mai devreme, resursele sunt puține, deci optimizare Este foarte important. (și chiar dacă nu erau prea ^^)


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Arthur Shelby el a spus

    Sunt uimit de cât de fidel emulează RoR, deși mulți îl urăsc pe RoR pentru performanța sa slabă (fără a configura) curățarea codului de stabilire a tendințelor.

    Subiectul este foarte interesant, sper să îl dezvolți în continuare, felicitări.

    1.    nano el a spus

      Nu urăsc RoR, adevărul este că filosofia rubinului „există multe modalități de a face același lucru” este de obicei o problemă, deoarece nu toate sunt într-adevăr cele mai eficiente și atunci când vrei să răspunzi la o întrebare, în multe cazuri aveți acea Mică problemă în care toată lumea vă răspunde cu un mod diferit de a face același lucru și aveți tendința de a fi mai confuz D:

      În ceea ce privește acest cadru pentru Node, deoarece nu este pentru lucruri uriașe sau mari, Node este utilizat împreună cu alte cadre, cum ar fi Django pentru lucruri specifice, cred că exemplul Mejorando.la este așa, ei construiesc întregul site și își gestionează bazele de date cu Django, dar problemele în timp real sunt lăsate la latitudinea Node, deși nu sunt sigur, așa că nu pot vorbi prea mult despre asta.

      1.    jamin samuel el a spus

        Cred că așa spui, ei folosesc Django pentru baza site-ului și Node pentru lucruri în timp real ... Ei bine, cel puțin așa îl aud mereu pe freddy vega spunând

        1.    Bruno cascio el a spus

          NodeJS nu este ca Django sau PHP sau ruby. Dar este un server precum Apache, Nginx etc.

          Sails este cadrul care folosește nodejs și express (un alt cadru) împreună cu unele module, cum ar fi socket.io, pentru crearea de aplicații web.

          Salutări!

          1.    Arnoldo RLF el a spus

            deci, dacă doriți să includeți un chat realizat cu nodejs cu o pagină în python cu Django (pentru a continua cu exemplul de îmbunătățire.la), ar trebui să utilizați un cadru sau să atribuiți apache (dacă acesta este cazul, am habar n-are ce server foloseste python) calea http://miweb.com ya node.js http://miweb.com/chat și să le comunice

  2.   jamin samuel el a spus

    Hei, este foarte interesant ...

    Ce nu am terminat este de ce este folosit Node JS pentru web?

    1.    Arnoldo RLF el a spus

      este o alternativă la apache, cu avantajul de a fi în timp real (aplicații care comunică tot timpul și nu numai când se face cererea).

      1.    David Gomez el a spus

        NodeJS nu este o alternativă (sau înlocuitor) la Apache, NGINX sau la orice alt server web. NodeJS este un interpretor JavaScript pentru server, permițându-vă să creați aplicații cu acest limbaj care altfel ar necesita utilizarea unor limbi precum Java, Python, Ruby sau PHP.

        1.    Bruno cascio el a spus

          Da, poate m-am exprimat greșit. Ceea ce am vrut să transmit este că node.js rulează propriul server și nu are nevoie de terțe părți pentru a funcționa (apache, nginx, cherokee etc.)

          Salutări!

  3.   Arnoldo RLF el a spus

    foarte bine, sper mai multe tutoriale pentru a putea urmări node.js și a face ceva în timp real

    1.    Bruno cascio el a spus

      Iată o carte de 200 de pagini, cu o introducere în Node.js prin Koans. Are o intrare în Node.js și „rezolvarea” unei părți dintr-o problemă pusă (exemplul este twitter) cu Express ca cadru de antet ... ..

      http://nodejskoans.com/

      PS: Sails se face pe bază Express, de obicei majoritatea sunt.

      Salutări!

  4.   plin de viață el a spus

    Contribuție excelentă Bruno .. Bine ai venit 😀

    1.    Bruno cascio el a spus

      Vă mulțumim vouă și întregii comunități pentru că ați făcut parte din ea 🙂 Salutări!

  5.   auroszx el a spus

    Foarte interesant Bruno 🙂

    1.    Bruno cascio el a spus

      Vă mulţumim!

  6.   Femeia burete el a spus

    Excelent articol. Mulțumesc mult.

    În prezent folosesc vele în unele dintre proiectele mele. Aș dori să vă întreb de unde pot obține mai multe informații despre controlul accesului bazat pe roluri pentru vele, dacă este posibil în spaniolă, dar dacă nu, în engleză. Aș dori să adaug control de acces la una dintre paginile mele, dar vreau să stabilesc permisiuni pentru unii utilizatori dintr-un anumit traseu și alții din alt traseu. Este posibil acest lucru cu pânzele? Nu găsesc prea multe informații despre asta.

    Mulțumesc și felicitări pentru articol.

    Un saludo
    Elvira.

    1.    Bruno cascio el a spus

      Buna Elvira!

      În ceea ce privește ceea ce menționați, fie că este vorba de Sailsjs sau orice alt cadru, ceea ce propuneți este legat de modelarea datelor și de restricțiile pe care sistemul le impune.

      Puteți crea ceva de genul „grupuri” (roluri) cu permisiuni diferite și să asociați fiecare utilizator la unul dintre ele.

      În special în vele, acestea sunt numite „politici” și le puteți vedea aici: http://sailsjs.org/#/documentation/concepts/Policies

      Salutări și mulțumiri pentru comentariu!

      1.    Femeia burete el a spus

        Mulțumesc foarte mult Bruno. Cu solicitările dvs., am găsit o soluție elegantă. un salut