Hyrje në NodeJS + SailsJS

Përshëndetje për të gjithë komunitetin! Emri im është Bruno, dhe unë kam qenë në DesdeLinux si përdorues. Timeshtë koha që unë të bëj postimet e mia të para në këtë komunitet

Sot ju sjell një udhëzues mbi NodeJS y Lundron.js

Node.js

Shtë një mjedis programimi, i bazuar në gjuhë Javascript me një arkitekturë të orientuar drejt ngjarjeve, ideale për programim asinkron. Nyja, bazohet në motor V8 të Google.
Ai mban një komunitet aktiv me burim të hapur, të cilët kanë shkruar shumë module për të lehtësuar zhvillimin tonë.
Njëri prej tyre është Fole.io (Lejon serverin të dërgojë azhurnime në kohë reale te klienti, për shembull ndjekja e një GPS)

Për çfarë është ajo?

Nyja është krijuar për situata ku trafiku është shumë i madh, duke shkaktuar logjikë dhe xhiros së serverit jo domosdoshmërisht më të lartë. Dhe jo vetëm kaq, por në kohë reale dhe me shkallëzim të madh!

Pse Nyja?

1 është burim të hapur.
2) Nëse keni menduar ndonjëherë të përdorni një gjuhë të vetme në anën e serverit dhe klientit, këtu është zgjidhja.
3) Shkallëzueshmëria dhe Përputhja.
4) etj.

Lundron.js

Zgjodha vela, për shkak të karakteristikave të mëposhtme, përveç faktit që në këndvështrimin tim ishte më e lexueshmja për sa i përket kodit. Sy! ekzistojnë SHUME kornizat për Node, ashtu siç është Ekspres, Këndor, geddy, Etj

Pamja e ekranit - 080913 - 13:21:50

Çfarë është vela?

Është një Kuadri MVC që imiton modelin e rubin në shina (Po, keni dëgjuar saktë: D) për krijimin e aplikacioneve të vogla ose të mëdha shpejt, me lehtësi dhe siguri. me tutje ka mbështetje për kërkesat moderne të aplikimit. Nuk ka rëndësi se cilën bazë të dhënash përdorni, Sails siguron një shtresë abstraksioni, gjë që e bën indiferent zgjedhjen e tij. Sails ka:

- Aftësia për të krijuar APLIKONI RESTfull JSON automatikisht.
- Ai përfshin modulin Fole.io.
- Gjeneroni itinerare automatike për kontrolluesit tuaj.
- Siguron sistemin e vërtetim të përdoruesve dhe kontrolli i hyrjes i bazuar në role.
- hungërimë si Task Runner (Detyra automatike si minimizimi, përpilimi, testimi, etj)
- Asetet: Të gjitha skedarët në direktoritë e tyre përkatëse (css, js) janë të unifikuar në një skedar të vetëm dhe të minifikuar, për të reduktuar në mënyrë të konsiderueshme ngarkesa e faqes dhe numri i kufizuar i kërkesave të shfletuesit.

Instalimi i Nyjes.Js

Turori me të cilin bëra 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

Instalimi i velave. Js

Versioni i fundit i qëndrueshëm:
sudo npm -g install sails

Në këtë pikë pa gabime, ne krijojmë një projekt të ri! 😀

Krijoni skeletin e direktorisë:
sails new testProject

Ne hyjmë në projektin tonë:
cd testProject

Ne fillojmë serverin:
sails lift

Yeeeeeeeeeeah! ne hyjmë http://localhost:1337/

Pamja e ekranit - 080913 - 13:02:34

Struktura e direktorisë sonë duhet të duket kështu:
Pamja e ekranit - 080913 - 13:07:57

API-të:
- Shoferët
- Përshtatës
- Modele
- Politikat
- Shërbimet

ASETET:
- imazhe
- js
- stilet
favicon
robots

Konfiguro:
- lokal
404.js, 500.js… ..
rrugët.js
seanca.js
bazat.js …… ..

NODE_MODULES:
- ejs (motor modeli)
- murmuritje
- optimist
- vela-disk

PIKAT:
- Shtëpia (këtu është modeli rrënjë, localhost)
- 404.ejs
- 500.ejs
- layout.ejs (Për ata që përdorën shina, layouts.ejs sillet Igual se paraqitjet. html. *)

EJS (Javascript i ngulitur) isshtë një motor model, por jo i vetmi. Veçanërisht më pëlqen më shumë JADE

FIN

Deri më tani njohuritë e mia, dhe shpresoj se u kam ndihmuar shumëkujt ... Unë jam i ri në këtë teknologji kështu që çdo kritikë konstruktive është i mirëpritur 🙂

Ky postim u bë për t'u bërë, sepse unë jam duke zhvilluar një lloj rrjeti psikosocial (Asgjë nga një botë tjetër). Me qëllimet e të mësuarit, dhe pak burime. ideja është të krijoni edhe një server shtëpiak që e mbështet atë (Me siguri bëjeni një tutorial të tij) Siç thashë më parë, burimet janë të pakta, kështu që optimization Veryshtë shumë e rëndësishme. (dhe edhe sikur te mos ishin shume ^^)


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   Arthur Shelby dijo

    Jam i habitur nga fakti se sa besnik imiton RoR, megjithëse shumë e urrejnë RoR për performancën e dobët (pa konfiguruar) pastrimin e kodit që përcakton trendin.

    Lënda është shumë interesante, shpresoj të vazhdoni ta zhvilloni, urime.

    1.    nano dijo

      Unë nuk e urrej RoR të them të drejtën, çështja është që filozofia e rubin "ka shumë mënyra për të bërë të njëjtën gjë" është zakonisht një problem sepse jo të gjitha janë me të vërtetë më efikase dhe kur doni t'i përgjigjeni një pyetjeje , në shumë raste ju keni atë Problem të Vogël në të cilin të gjithë ju përgjigjen me një mënyrë tjetër për të bërë të njëjtën gjë dhe ju prireni të hutoheni më shumë D:

      Lidhur me këtë kornizë për Node, pasi nuk është për gjëra të mëdha ose të mëdha, Node përdoret së bashku me korniza të tjera si Django për gjëra specifike, mendoj se shembulli i Mejorando.la është i tillë, ata ndërtojnë të gjithë sitin dhe menaxhojnë bazat e tij të të dhënave me Django por çështjet në kohë reale i lihen Node, megjithëse nuk jam i sigurt kështu që nuk mund të flas shumë për këtë.

      1.    xhemin-samuel dijo

        Unë mendoj se kështu po thua, ata përdorin Django për bazën e faqes dhe Node për gjërat në kohë reale ... Epo të paktën kjo është ajo që unë gjithmonë dëgjoj të thotë Freddy Vega

        1.    Bruno cascio dijo

          NodeJS nuk është si Django ose PHP, ose rubin. Por është një server i tillë si Apache, Nginx, etj.

          Sails është korniza që përdor nodejs dhe express (një kornizë tjetër) së bashku me disa module të tilla si socket.io, për krijimin e aplikacioneve në internet.

          Përshëndetje!

          1.    Arnoldo RLF dijo

            kështu që nëse doni të përfshini një bisedë të bërë me nodejs me një faqe në python me Django (për të vazhduar me shembullin e përmirësimit.la), do të duhet të përdorni një kornizë, ose të caktoni në apache (nëse është kështu, nuk kam ide se cili server përdor python) shtegun http://miweb.com ya nyje.js http://miweb.com/chat dhe komunikoji ata

  2.   xhemin-samuel dijo

    Hej super interesante.

    Ajo që nuk e mbarova është pse përdoret Nyja JS për ueb?

    1.    Arnoldo RLF dijo

      është një alternativë ndaj apache, me avantazhin e të qenit në kohë reale (aplikacione që komunikojnë gjatë gjithë kohës dhe jo vetëm kur bëhet kërkesa).

      1.    David Gomez dijo

        NodeJS nuk është një alternativë (ose zëvendësim) për Apache, NGINX ose ndonjë server tjetër në internet. NodeJS është një interpretues JavaScript për serverin, duke ju lejuar të krijoni aplikacione me këtë gjuhë që përndryshe do të kërkonte përdorimin e gjuhëve të tilla si Java, Python, Ruby ose PHP.

        1.    Bruno cascio dijo

          Po, mbase jam shprehur gabim. Ajo që doja të transmetoja është se node.js ekzekuton serverin e vet dhe nuk ka nevojë për palë të treta për të punuar (apache, nginx, cherokee, etj)

          Përshëndetje!

  3.   Arnoldo RLF dijo

    shumë mirë, shpresoj që më shumë mësime të jenë në gjendje të ndjekin node.js dhe të bëjnë diçka në kohë reale

    1.    Bruno cascio dijo

      Këtu është një libër me 200 faqe, me një hyrje në Node.js përmes Koans. Ajo ka një hyrje në Node.js, dhe "zgjidhjen" e një pjese të një problemi të paraqitur (shembulli është eksitim) me Express si kornizë header… ..

      http://nodejskoans.com/

      PS: Lundrimet bëhen në bazë të Express, zakonisht shumica e tyre janë.

      Përshëndetje!

  4.   i gjallë dijo

    Kontribut i shkëlqyeshëm Bruno .. Mirësevini 😀

    1.    Bruno cascio dijo

      Faleminderit ju dhe të gjithë komunitetit që lejuat të bëheni pjesë e tij 🙂 Përshëndetje!

  5.   auroszx dijo

    Shumë interesant Bruno

    1.    Bruno cascio dijo

      Ju faleminderit!

  6.   Gruaja sfungjer dijo

    Artikull i shkëlqyeshëm. Faleminderit shume.

    Unë aktualisht përdor vela në disa nga projektet e mia. Unë do të doja t'ju pyesja se ku mund të marr më shumë informacion në lidhje me kontrollin e hyrjes me role, nëse është e mundur në spanjisht, por nëse jo, në anglisht. Unë do të doja të shtoja kontrollin e hyrjes në një nga faqet e mia, por unë dua të krijoj leje për disa përdorues nga një rrugë e caktuar dhe të tjerët nga një rrugë tjetër. A është e mundur kjo me vela? Nuk mund të gjej shumë informacion në lidhje me të.

    Faleminderit dhe urime për artikullin.

    Një përshëndetje
    Elvira.

    1.    Bruno cascio dijo

      Përshëndetje Elvira!

      Lidhur me atë që përmendni, qoftë Sailsjs apo ndonjë kornizë tjetër, ajo që ju propozoni ka të bëjë me modelimin e të dhënave dhe kufizimet që imponon sistemi.

      Ju mund të krijoni diçka si "grupe" (role) me leje të ndryshme dhe ta shoqëroni secilin përdorues me njërën prej tyre.

      Veçanërisht në vela ato quhen "politika" dhe mund ta shihni këtu: http://sailsjs.org/#/documentation/concepts/Policies

      Përshëndetje dhe faleminderit për komentin tuaj!

      1.    Gruaja sfungjer dijo

        Faleminderit shumë Bruno. Me kërkesat tuaja, gjeta një zgjidhje elegante. një përshëndetje