Sissejuhatus NodeJS + SailsJS-i

Tere kogu kogukonnale! Minu nimi on Bruno ja ma olen seal sees olnud DesdeLinux kasutajana. Mul on aeg teha oma esimesed postitused selles kogukonnas 🙂

Täna toon teile teejuhi NodeJS y Purjed.js

Node.js

See on programmeerimiskeskkond, mis põhineb keelel Javascript sündmustele suunatud arhitektuuriga, mis sobib ideaalselt asünkroonse programmeerimise jaoks. Node, põhineb mootoril V8 Google'ist.
See hoiab aktiivset avatud lähtekoodiga kogukonda, kes on meie arengu hõlbustamiseks kirjutanud palju mooduleid.
Üks neist on socket.io (Võimaldab serveril saata kliendile reaalajas värskendusi, näiteks GPS-i jälgimist)

Mis see on?

Sõlm on mõeldud olukordadeks, kus liiklus on liiga suur, mis põhjustab serveri loogikat ja läbilaskvust tingimata suuremat. Ja mitte ainult, vaid reaalajas ja suure mastaapsusega!

Miks just Node?

1 on avatud lähtekoodiga.
2) Kui olete kunagi mõelnud kasutada ühte keelt nii serveri kui ka kliendi poolel, siis siin on lahendus.
3) Skaalautuvus ja Samaaegsus.
4) Jne

Purjed.js

Valisin purjed järgmiste omaduste jaoks lisaks sellele, et minu arvates oli see koodi mõttes kõige loetavam. Silma! olemas PALJU raamistikud Node'ile, nagu see on Ekspress, nurgeline, geddyJne

Ekraanipilt - 080913 - 13:21:50

Mis on purjed?

See on MVC raamistik mis jäljendab mudeli rubiin rööbastel (Jah, te kuulsite õigesti: D) väikeste või suuremate rakenduste loomiseks kiiresti, lihtsalt ja ohutult. edasi toetab tänapäevaseid rakendusnõudeid. Pole tähtis, millist andmebaasi kasutate, Purjed pakuvad abstraktsiooni kihti, mis muudab selle valiku ükskõikseks. Purjed on:

- Oskus luua RESTful JSON API automaatselt.
- See sisaldab moodulit socket.io.
- Loo marsruute automaatne oma kontrolleritele.
- Pakub süsteemi autentimine kasutajate ja juurdepääsu kontroll rollipõhine.
- uriseja Task Runnerina (automaatsed ülesanded nagu minimeerimine, kompileerimine, testimine jne)
- Varad: kõik failid nende vastavas kataloogis (css, js) on ühendatakse ühes failis ja minimeeritakse, vähendama märkimisväärselt lehe laadimine ja piiratud arv brauseritaotlusi.

Node.Js installimine

Türikaali, millega tegin 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

Purjed.Js paigaldus

Uusim stabiilne versioon:
sudo npm -g install sails

Siinkohal loome ilma vigadeta uue projekti! 😀

Looge kataloogi skelett:
sails new testProject

Sisestame oma projekti:
cd testProject

Käivitame serveri:
sails lift

Jeeeeeeeeeeah! astusime sisse http://localhost:1337/

Ekraanipilt - 080913 - 13:02:34

Meie kataloogi struktuur peaks välja nägema selline:
Ekraanipilt - 080913 - 13:07:57

API-d:
- Autojuhid
- Adapterid
- mudelid
- Poliitikad
- teenused

VARAD:
- pildid
- js
- stiilid
favicon
robotid

KONFIGEERI:
- kohalik
404.js, 500.js ...
route.js
session.js
sockets.js …… ..

NODE_MODULES:
- ejs (malli mootor)
- nuriseb
- optimist
- purjed-ketas

VAATED:
- Avaleht (siin on juurmall, localhost)
- 404.ejs
- 500.ejs
- layout.ejs (Nende jaoks, kes kasutasid rööpaid, käitub layouts.ejs nagu kui layouts.html. *)

EJS (sisseehitatud Javascript) See on mallimootor, kuid mitte ainus. Eriti meeldib mulle JADE paremini

FIN

Siiani on minu teadmised ja ma loodan, et olen olnud paljudele abiks ... olen uus selles tehnoloogias, nii et igasugune konstruktiivne kriitika on tere tulemast 🙂

See postitus tuli teha, sest arendan omamoodi psühhosotsiaalset võrgustikku (Mitte midagi teisest maailmast). Koos õppimise eesmärgilja vähe ressursse. idee on teha ka seda toetav koduserver (Kindlasti tehke sellest õpetus) Nagu ma varem ütlesin, on ressursse vähe, nii et optimeerimine See on väga oluline. (ja isegi kui nad poleks liiga ^ ^)


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   Arthur Shelby DIJO

    Mind hämmastab, kui truu see jäljendab RoR-i, kuigi paljud vihkavad RoR-i oma kehva jõudluse (ilma seadistamata) trendiseadistavate koodide puhastamise eest.

    Teema on väga huvitav, loodan, et jätkate selle arendamist, palju õnne.

    1.    nano DIJO

      Ma ei vihka RoR-i, tõsi on see, et rubiini filosoofia "sama asja tegemiseks on palju võimalusi" on tavaliselt probleem, sest mitte kõik neist pole tegelikult kõige tõhusamad ja kui soovite küsimusele vastata, siis paljudes juhtudel on teil see väike probleem, kus kõik reageerivad samamoodi erinevalt ja te kipute rohkem segadusse minema D:

      Selle Node'i raamistiku osas, kuna see pole mõeldud suurte ega suuremate asjade jaoks, kasutatakse Node'i koos teiste raamidega, näiteks Djangoga, konkreetsete asjade jaoks, ma arvan, et Mejorando.la näide on selline, nad ehitavad kogu saidi ja haldavad selle aluseid andmeid Djangoga, kuid reaalajas probleemid on jäetud Node otsustada, kuigi ma pole kindel, nii et ma ei saa sellest liiga palju rääkida.

      1.    jamin-Samuel DIJO

        Ma arvan, et nii ütlete, nad kasutavad saidi baasiks Djangot ja reaalajas asjadeks Node'i. Noh, vähemalt kuulen seda alati Freddy Vega ütlemas

        1.    Bruno cascio DIJO

          NodeJS ei ole nagu Django või PHP või rubiin. Kuid see on server nagu Apache, Nginx jne.

          Sails on raamistik, mis kasutab veebirakenduste loomiseks nodejs ja express (teine ​​raamistik) koos mõne mooduliga, näiteks socket.io.

          Tervitused!

          1.    Arnoldo RLF DIJO

            nii et kui soovite lisada Djangoga pythonis oleva lehega nodejs-iga tehtud vestluse (et jätkata näite parandamisega.la), peate kasutama raami või määrama apache (kui see nii on, pole mul aimugi, milline server kasuta pythoni) tee http://miweb.com ya node.js http://miweb.com/chat ja nendega suhelda

  2.   jamin-Samuel DIJO

    Hei, see on väga huvitav ...

    Lõpetasin selle, miks Node JS-i veebi jaoks kasutatakse?

    1.    Arnoldo RLF DIJO

      See on alternatiiv Apache'ile, selle eeliseks on reaalajas olemine (rakendused, mis suhtlevad pidevalt ja mitte ainult siis, kui taotlus esitatakse).

      1.    David Gomez DIJO

        NodeJS ei ole Apache, NGINX ega mõne muu veebiserveri alternatiiv (ega asendus). NodeJS on serveri JavaScripti tõlk, mis võimaldab teil luua selle keelega rakendusi, mis muidu nõuaksid selliste keelte kasutamist nagu Java, Python, Ruby või PHP.

        1.    Bruno cascio DIJO

          Jah, võib-olla väljendasin end valesti. Ma tahtsin edastada, et node.js töötab oma serveris ja ei vaja töötamiseks kolmandaid osapooli (apache, nginx, cherokee jne)

          Tervitused!

  3.   Arnoldo RLF DIJO

    väga hea, loodan, et rohkem õpetusi saab node.js jälgida ja reaalajas midagi teha

    1.    Bruno cascio DIJO

      Siia jätan teile 200-leheküljelise raamatu koos sissejuhatusega Node.js-le Koansi kaudu. Sellel on Node.js-le sisse lülitatud ja probleemi osa lahendamine (näiteks Twitter), kui päise raamistik on Express ...

      http://nodejskoans.com/

      PS: Purjed tehakse ekspresspõhiselt, tavaliselt on enamik neist.

      Tervitused!

  4.   elav DIJO

    Suurepärane panus Bruno .. Tere tulemast 😀

    1.    Bruno cascio DIJO

      Aitäh teile ja kogu kogukonnale, et lasite sellest osa saada 🙂 Tervitused!

  5.   auroszx DIJO

    Väga huvitav Bruno 🙂

    1.    Bruno cascio DIJO

      Aitäh!

  6.   Käsna naine DIJO

    Suurepärane artikkel. Tänud.

    Praegu kasutan mõnes oma projektis purjeid. Tahaksin teilt küsida, kust saaksin rohkem teavet purjede rollipõhise juurdepääsu kontrollimise kohta, võimaluse korral hispaania keeles, kuid kui mitte, siis inglise keeles. Tahaksin ühele oma lehele juurde pääsukontrolli lisada, kuid soovin luua õigused mõnele kasutajale teatud marsruudilt ja teistele teiselt marsruudilt. Kas see on purjetega võimalik? Ma ei leia selle kohta palju teavet.

    Tänud ja palju õnne artikli eest.

    tervitused
    Elvira.

    1.    Bruno cascio DIJO

      Tere, Elvira!

      Seoses sellega, mida mainite, olgu see siis Sailsjs või mõni muu raamistik, on teie pakutav seotud andmete modelleerimise ja süsteemi kehtestatud piirangutega.

      Võite luua midagi sellist nagu "rühmad" (rollid), millel on erinevad õigused, ja seostada iga kasutaja ühe neist.

      Eriti purjedes nimetatakse neid "poliitikaks" ja näete seda siin: http://sailsjs.org/#/documentation/concepts/Policies

      Tervitused ja tänud kommentaari eest!

      1.    Käsna naine DIJO

        Suur aitäh Bruno. Teie viipadega leidsin elegantse lahenduse. tervitus