Uvod u NodeJS + SailsJS

Pozdrav cijeloj zajednici! Zovem se Bruno i bio sam u DesdeLinux kao korisnik. Vrijeme je da objavim svoje prve postove u ovoj zajednici 🙂

Danas vam donosim vodič NodeJS y Jedra.js

Node.js

To je programsko okruženje, bazirano na jeziku Loše s arhitekturom orijentiranom na događaje, idealnom za asinkrono programiranje. Čvor, temelji se na motoru V8 Googlea.
Održava aktivnu zajednicu otvorenog koda koja je napisala mnogo modula kako bi nam olakšala razvoj.
Jedan od njih je Utičnica.io (Omogućuje poslužitelju da klijentu pošalje ažuriranja u stvarnom vremenu, na primjer praćenje GPS-a)

Zašto je to?

Čvor je dizajniran za situacije kada je promet prevelik, što uzrokuje logiku i propusnost poslužitelja ne nužno veću. I ne samo to, već u stvarnom vremenu i uz veliku skalabilnost!

Zašto Node?

1 je open source.
2) Ako ste ikad pomislili koristiti jedan jezik i na poslužitelju i na klijentu, evo rješenja.
3) Skalabilnost i Podudarnost.
4) itd.

Jedra.js

Odabrao sam jedra, zbog sljedećih karakteristika, pored činjenice da je po mom mišljenju bio najčitaniji u smislu koda. Oko! postoje PUNO okviri za Node, kakav jest Izraziti, Kutni, geddy, Itd

Snimka zaslona - 080913 - 13:21:50

Što je Jedra?

To je MVC okvir koji oponaša model rubin na šinama (Da, dobro ste čuli: D) za stvaranje malih ili velikih aplikacija brzo, jednostavno i sigurno. unaprijediti ima podršku za suvremene zahtjeve primjene. Nije važno koju bazu podataka koristite, Jedra pruža sloj apstrakcije, što njegov izbor čini ravnodušnim. Jedra ima:

- Sposobnost stvaranja RESTFULL JSON API automatski.
- Uključio je modul Utičnica.io.
- Generiraj rute automatski za vaše kontrolere.
- Pruža sustav ovjera korisnika i kontrola pristupa zasnovan na ulogama.
- roktati kao pokretač zadataka (automatski zadaci kao što su minifikacija, kompilacija, testiranje itd.)
- Sredstva: Sve datoteke u odgovarajućim direktorijima (css, js) jesu objedinjeni u jednu datoteku i umanjeni, smanjiti znatno učitavanje stranice i ograničeni broj zahtjeva preglednika.

Instalacija Node.Js

Turorial s kojim sam radio 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

Jedra.Js instalacija

Najnovija stabilna verzija:
sudo npm -g install sails

U ovom trenutku bez grešaka kreiramo novi projekt! 😀

Stvorite kostur direktorija:
sails new testProject

Ulazimo u naš projekt:
cd testProject

Pokrećemo poslužitelj:
sails lift

Jeeeeeeeeeah! ušli smo http://localhost:1337/

Snimka zaslona - 080913 - 13:02:34

Struktura našeg direktorija trebala bi izgledati ovako:
Snimka zaslona - 080913 - 13:07:57

Apis:
- Vozači
- Ispravljači
- Modeli
- Politike
- Usluge

IMOVINA:
- slike
- js
- stilovi
favicon
roboti

KONFIGURIRAJ:
- lokalno
404.js, 500.js ... ..
rute.js
session.js
sockets.js …… ..

MODULI_ČVORA:
- ejs (predložak motora)
- roktati
- optimist
- jedra-disk

POGLEDI:
- Početna (ovdje je osnovni predložak, localhost)
- 404.ejs
- 500.ejs
- layout.ejs (Za one koji su koristili tračnice ponaša se layout.ejs isti nego layout.html. *)

EJS (ugrađeni Javascript) To je mehanizam za izradu predložaka, ali ne i jedini. JADE mi se posebno više sviđa

FIN

Do sada svoje znanje i nadam se da sam mnogima bio od pomoći ... Jesam novi u ovoj tehnologiji je svaka konstruktivna kritika Bienvenida ????

Ovaj je post nastao radi toga, jer razvijam neku vrstu psihosocijalne mreže (Ništa s drugog svijeta). S svrhe učenja, i malo resursa. ideja je također napraviti kućni poslužitelj koji ga podržava (Svakako napravite tutorial o tome) Kao što sam već rekao, resursa je malo, pa i optimizacija To je vrlo važno. (pa čak i da nisu previše ^^)


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Arthur Shelby dijo

    Iznenađuje me koliko vjerno oponaša RoR, iako mnogi mrze RoR zbog loših performansi (bez konfiguriranja) čišćenja koda postavlja trend.

    Predmet je vrlo zanimljiv, nadam se da ćete ga i dalje razvijati, čestitam.

    1.    nano dijo

      Ne mrzim RoR, istina je da je Rubinova filozofija "postoji mnogo načina da se učini isto" obično problem jer nisu svi oni doista najučinkovitiji, a kad želite odgovoriti na pitanje, u mnogima slučajevi imate taj Mali problem u kojem svi reagiraju na drugačiji način i čine se više zbunjeni D:

      Što se tiče ovog okvira za Node, jer nije za velike ili velike stvari, Node se koristi zajedno s drugim okvirima poput Djanga za određene stvari, mislim da je primjer Mejorando.la takav, oni grade cijelu stranicu i upravljaju njezinim bazama podataka s Djangom, ali problemi u stvarnom vremenu prepušteni su Nodeu, iako nisam siguran pa o tome ne mogu previše razgovarati.

      1.    jamin samuel dijo

        Mislim da se tako kaže, oni koriste Django za bazu stranice, a Node za stvari u stvarnom vremenu ... Pa, barem to uvijek čujem kako Freddy Vega govori

        1.    Bruno cascio dijo

          NodeJS nije poput Djanga ili PHP-a ili rubina. Ali to je poslužitelj kao što su Apache, Nginx itd.

          Jedra je okvir koji koristi nodejs i express (drugi okvir), zajedno s nekim modulima, poput socket.io, za stvaranje web aplikacija.

          Pozdrav!

          1.    Arnoldo RLF dijo

            pa ako želite uključiti chat napravljen s nodejs-om sa stranicom u pythonu s Django-om (da nastavimo s primjerom poboljšanja.la), morat ćete upotrijebiti okvir ili dodijeliti apache-u (ako je to slučaj, ja nemam pojma koji poslužitelj koristi python) stazu http://miweb.com ya node.js http://miweb.com/chat i komunicirati ih

  2.   jamin samuel dijo

    Hej, super zanimljivo ...

    Ono što nisam dovršio je zašto se Node JS koristi za web?

    1.    Arnoldo RLF dijo

      to je alternativa apacheu, s prednošću u stvarnom vremenu (aplikacije koje komuniciraju cijelo vrijeme, a ne samo kada se podnese zahtjev).

      1.    David Gomez dijo

        NodeJS nije alternativa (ili zamjena) Apacheu, NGINX-u ili bilo kojem drugom web poslužitelju. NodeJS je JavaScript tumač za poslužitelj koji vam omogućuje stvaranje aplikacija s tim jezikom koje bi inače zahtijevale upotrebu jezika kao što su Java, Python, Ruby ili PHP.

        1.    Bruno cascio dijo

          Da, možda sam se pogrešno izrazio. Ono što sam želio reći je da node.js ima vlastiti poslužitelj i ne trebaju treće strane za rad (apache, nginx, cherokee itd.)

          Pozdrav!

  3.   Arnoldo RLF dijo

    vrlo dobro, nadam se da će više vodiča moći pratiti node.js i raditi nešto u stvarnom vremenu

    1.    Bruno cascio dijo

      Ovdje vam ostavljam knjigu od 200 stranica, s uvodom u Node.js kroz Koans. Ima ulaz u Node.js i "rješavanje" dijela postavljenog problema (primjer je twitter) s Expressom kao okvirom zaglavlja ... ..

      http://nodejskoans.com/

      PS: Jedra se izrađuju na osnovi Expressa, obično je većina njih.

      Pozdrav!

  4.   živo dijo

    Izvrsni doprinos Bruno .. Dobrodošli 😀

    1.    Bruno cascio dijo

      Hvala vama i cijeloj zajednici što ste dopustili da budete dio toga it Pozdrav!

  5.   auroszx dijo

    Vrlo zanimljiv Bruno 🙂

    1.    Bruno cascio dijo

      Gracias!

  6.   Žena spužva dijo

    Izvrstan članak. Hvala puno.

    Trenutno koristim jedra u nekim svojim projektima. Želio bih vas pitati gdje mogu dobiti više informacija o kontroli pristupa jedrima na temelju uloga, ako je moguće na španjolskom, ali ako ne, na engleskom. Želio bih dodati kontrolu pristupa na jednu od svojih stranica, ali želim uspostaviti dozvole za neke korisnike s određene rute, a druge s druge rute. Je li to moguće s jedrima? Ne mogu pronaći puno podataka o tome.

    Hvala i čestitke na članku.

    pozdravi
    Elvira.

    1.    Bruno cascio dijo

      Pozdrav Elvira!

      U vezi s onim što spominjete, bilo da je to Sailsjs ili bilo koji drugi okvir, ono što predlažete povezano je s modeliranjem podataka i ograničenjima koja sustav nameće.

      Možete stvoriti nešto poput "grupa" (uloga) s različitim dozvolama i pridružiti svakog korisnika jednoj od njih.

      Osobito se u jedrima nazivaju "polise", a možete ih vidjeti ovdje: http://sailsjs.org/#/documentation/concepts/Policies

      Pozdrav i hvala na komentaru!

      1.    Žena spužva dijo

        Puno ti hvala Bruno. Uz vaše upute pronašao sam elegantno rješenje. Pozdrav