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 sails.js
node.js
To je programsko okruženje, bazirano na jeziku Javascript s arhitekturom orijentiranom na događaje, idealnom za asinkrono programiranje. Čvor se zasniva na motoru V8 Google-a.
Održava aktivnu zajednicu otvorenog koda, koja je napisala mnogo modula kako bi nam olakšala razvoj.
Jedan od njih je socket.io (Omogućuje serveru da klijentu šalje ažuriranja u stvarnom vremenu, na primjer praćenje GPS-a)
Zbog čega?
Čvor je dizajniran za situacije kada je promet prevelik, što uzrokuje logiku i protok poslužitelja ne nužno veće. I ne samo to, već u stvarnom vremenu i uz veliku skalabilnost!
Zašto Node?
1 je open source.
2) Ako ste ikada pomislili koristiti jedan jezik i na serveru i na klijentu, evo rješenja.
3) skalabilnost i Podudarnost.
4) itd.
sails.js
Šta je jedra?
To je a MVC okvir koji oponaša model rubin na šinama (Da, dobro ste čuli: D) za stvaranje malih ili velikih aplikacija brzo, lako i sigurno. dalje ima podršku za savremene zahtjeve aplikacije. Nije važno koju bazu podataka koristite, Jedra pruža sloj apstrakcije, što njegov izbor čini ravnodušnim. Jedra ima:
- Sposobnost stvaranja RESTful JSON API automatski.
- Uključio je modul socket.io.
- Generiši rute automatski za vaše kontrolere.
- Pruža sistem autentifikacija korisnika i kontrola pristupa zasnovan na ulogama.
- groktaj 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čen broj zahtjeva pretraživača.
Instalacija Node.Js
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
Kreirajte kostur direktorija:
sails new testProject
Ulazimo u naš projekat:
cd testProject
Pokrećemo server:
sails lift
Yeeeeeeeeeah! ulazimo http://localhost:1337/
API-ji:
- Vozači
- Adapteri
- Modeli
- Politike
- Usluge
IMOVINA:
- slike
- js
- stilovi
favicon
roboti
KONFIGIRANJE:
- lokalno
404.js, 500.js… ..
routes.js
session.js
sockets.js …… ..
NODE_MODULES:
- ejs (mehanizam predloška)
- gunđati
- optimista
- jedra-disk
PREGLEDI:
- Početna (ovdje je osnovni predložak, localhost)
- 404.ejs
- 500.ejs
- layout.ejs (Za one koji su koristili šine, ponaša se layouts.ejs igual nego layouts.html. *)
FIN
Do sada svoje znanje i nadam se da sam mnogima bio od pomoći ... Jesam novi u ovoj tehnologiji je takva svaka konstruktivna kritika dobrodošli 🙂
Ovaj post je nastao radi toga, jer razvijam neku vrstu psihosocijalne mreže (Ništa iz drugog svijeta). Sa svrhe učenja, i malo resursa. ideja je također napraviti kućni server koji ga podržava (Svakako napravite tutorial o tome) Kao što sam već rekao, resursa je malo, pa i optimizacija Veoma je važno. (pa čak i da nisu previše ^^)
Zapanjen sam koliko vjerno oponaša RoR, iako mnogi mrze RoR zbog loših performansi (bez konfiguriranja) čišćenja koda koji postavlja trendove.
Predmet je vrlo zanimljiv, nadam se da ćete ga i dalje razvijati, čestitam.
Ne mrzim RoR da budem iskren, stvar je u tome što je rubinova filozofija "postoji mnogo načina da se učini isto" obično problem, jer nisu svi oni najefikasniji i kada želite odgovoriti na pitanje , u mnogim slučajevima imate onaj Mali problem u kojem svi reagiraju na drugačiji način da učine isto, a vi se više zbunite D:
Što se tiče ovog okvira za Node, budući da nije za velike ili velike stvari, Node se koristi zajedno s drugim okvirima kao što je Django 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.
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
NodeJS nije poput Djanga ili PHP-a ili ruby-a. Ali to je server poput Apachea, Nginxa itd.
Jedra je okvir koji koristi nodejs i express (drugi okvir), zajedno s nekim modulima, poput socket.io, za stvaranje web aplikacija.
Pozdrav!
pa ako želite uključiti chat napravljen sa nodejs-om sa stranicom u pythonu sa Django-om (da nastavimo sa primjerom poboljšanja.la), morali biste koristiti 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 komuniciraju ih
Hej super zanimljivo ...
Ono što nisam završio je zašto se Node JS koristi za web?
to je alternativa apacheu, s prednošću u stvarnom vremenu (aplikacije koje komuniciraju cijelo vrijeme, a ne samo kada se podnese zahtjev).
NodeJS nije alternativa (ili zamjena) Apacheu, NGINX-u ili bilo kojem drugom web serveru. NodeJS je JavaScript tumač za poslužitelj, omogućavajući vam stvaranje aplikacija s ovim jezikom koje bi inače zahtijevale upotrebu jezika kao što su Java, Python, Ruby ili PHP.
Da, možda sam se pogrešno izrazio. Ono što sam želio reći je da node.js pokreće vlastiti server i ne trebaju mu treće strane za rad (apache, nginx, cherokee itd.)
Pozdrav!
vrlo dobro, nadam se da će više vodiča moći pratiti node.js i raditi nešto u stvarnom vremenu
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 Express osnovi, obično je većina njih.
Pozdrav!
Odličan doprinos Bruno .. Dobrodošli 😀
Hvala vama i cijeloj zajednici što ste dozvolili da budete dio toga it Pozdrav!
Vrlo zanimljivo Bruno 🙂
Hvala!
Odličan članak. Hvala puno.
Trenutno koristim jedra u nekim od svojih projekata. Želio bih vas pitati gdje mogu dobiti više informacija o kontroli pristupa jedrima zasnovanoj na ulogama, ako je moguće na španskom, a ako ne, na engleskom jeziku. Ž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. Da li je to moguće s jedrima? Ne mogu naći mnogo podataka o tome.
Hvala i čestitam na članku.
Hvala!
Elvira.
Zdravo Elvira!
Što se tiče onoga š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 sistem nameće.
Možete stvoriti nešto poput "grupa" (uloga) s različitim dozvolama i pridružiti svakog korisnika jednoj od njih.
Posebno se u jedrima nazivaju "polise", a možete ih vidjeti ovdje: http://sailsjs.org/#/documentation/concepts/Policies
Pozdrav i hvala na komentaru!
Hvala ti puno Bruno. Uz vaše upute pronašao sam elegantno rješenje. pozdrav