Introduksjon til NodeJS + SailsJS

Hei til hele samfunnet! Jeg heter Bruno, og jeg har vært der DesdeLinux som bruker. Det er på tide for meg å lage mine første innlegg i dette samfunnet 🙂

I dag gir jeg deg en guide videre NodeJS y sails.js

node.js

Det er et programmeringsmiljø, basert på språket Javascript med en hendelsesorientert arkitektur, ideell for asynkron programmering. Node, er basert på motoren V8 fra Google.
Det opprettholder et aktivt open source-fellesskap, som har skrevet mange moduler for å lette utviklingen vår.
En av dem er socket.io (Tillater serveren å sende sanntidsoppdateringer til klienten, for eksempel en GPS-sporing)

Hva er det for?

Node er designet for situasjoner der trafikken er for stor, og forårsaker ikke serverlogikk og gjennomstrømning. Og ikke bare det, men i sanntid og med stor skalerbarhet!

Hvorfor Node?

1 er åpen kildekode.
2) Hvis du noen gang har tenkt å bruke et enkelt språk på både server- og klientsiden, er her løsningen.
3) Skalerbarhet og Samstemthet.
4) osv.

sails.js

Jeg valgte seil, for følgende egenskaper i tillegg til at det etter mitt synspunkt var det mest lesbare når det gjelder kode. Øye! eksistere MANGE rammer for Node, som det er Uttrykke, Vinkel, gedyOsv

Skjermbilde - 080913 - 13:21:50

Hva er Sails?

A MVC-rammeverk som etterligner modellen til rubin på skinner (Ja, du hørte riktig: D) for å lage små eller store applikasjoner raskt, enkelt og trygt. lengre har støtte for moderne applikasjonskrav. Det spiller ingen rolle hvilken database du bruker, Seil gir et lag med abstraksjon, som gjør valget av det likegyldig. Sails har:

- Evnen til å skape RESTful JSON API automatisk.
- Den inneholder modulen socket.io.
- Generer ruter Automatisk for kontrollerne dine.
- Tilbyr system av autentisering av brukere og tilgangskontroll rollebasert.
- Grunt som Task Runner (automatiske oppgaver som minifisering, kompilering, testing osv.)
- Eiendeler: Alle filene i tilhørende kataloger (css, js) er samlet i en enkelt fil og minifisert, å redusere mye sideinnlasting og begrenset antall nettleserforespørsler.

Installasjon av Node.Js

Tårnet jeg gjorde med 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

Sails.Js installasjon

Siste stabile versjon:
sudo npm -g install sails

På dette punktet uten feil, oppretter vi et nytt prosjekt! 😀

Lag katalogskjelettet:
sails new testProject

Vi går inn i prosjektet vårt:
cd testProject

Vi starter serveren:
sails lift

Yeeeeeeeeeeah! vi kom inn http://localhost:1337/

Skjermbilde - 080913 - 13:02:34

Strukturen i katalogen vår skal se slik ut:
Skjermbilde - 080913 - 13:07:57

API:
- Drivere
- Adaptere
- Modeller
- Retningslinjer
- Tjenester

EIENDELER:
- Bilder
- js
- stiler
favicon
roboter

KONFIG:
- lokal
404.js, 500.js… ..
routes.js
session.js
sockets.js …… ..

NODE_MODULER:
- ejs (malmotor)
- grynte
- optimist
- seil-disk

VISNINGER:
- Hjem (her er rotmalen, lokal vert)
- 404.ejs
- 500.ejs
- layout.ejs (For de som brukte skinner, oppfører layouts.ejs seg som enn layouts.html. *)

EJS (Embedded Javascript) Det er en malmotor, men ikke den eneste. Jeg liker spesielt JADE bedre

END

Så langt min kunnskap, og jeg håper jeg har vært til hjelp for mange ... det er jeg nye i denne teknologien, så enhver konstruktiv kritikk er velkommen ????

Dette innlegget kom til å bli gjort, fordi jeg utvikler et slags psykososialt nettverk (ingenting fra en annen verden). Med formål med læring, og få ressurser. ideen er å lage en hjemmeserver som støtter den (Sikkert lage en opplæring av det) Som jeg sa tidligere, er ressursene få, så de optimalisering Det er veldig viktig. (og selv om de ikke var for ^^)


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   Arthur Shelby sa

    Jeg er overrasket over hvor trofast det etterligner RoR, selv om RoR er hatet av mange for sin dårlige ytelse (uten å konfigurere) trendinnstilling for kodevask.

    Faget er veldig interessant, jeg håper du fortsetter å utvikle det, gratulerer.

    1.    nano sa

      Jeg hater ikke RoR, sannheten er at Rubys filosofi om at "det er mange måter å gjøre det samme på" vanligvis er et problem fordi ikke alle er de mest effektive, og når du vil svare på et spørsmål, i mange tilfeller du har det lille problemet der alle svarer deg på en annen måte å gjøre det samme, og du har en tendens til å bli mer forvirret D:

      Når det gjelder dette rammeverket for Node, da det ikke er for store eller store ting, brukes Node sammen med andre rammer som Django for spesifikke ting, jeg tror eksemplet på Mejorando.la er slik, de bygger hele nettstedet og administrerer dets databaser med Django, men sanntidsproblemene overlates til Node, selv om jeg ikke er sikker, så jeg kan ikke snakke for mye om det.

      1.    jamin samuel sa

        Jeg tror det er slik du sier, de bruker Django til bunnen av nettstedet og Node for ting i sanntid ... Vel, det er i det minste det jeg alltid hører freddy vega si

        1.    Bruno cascio sa

          NodeJS er ikke som Django eller PHP, eller rubin. Men det er en server som Apache, Nginx, etc.

          Sails er rammeverket som bruker nodejs og express (et annet rammeverk) sammen med noen moduler som socket.io, for opprettelse av webapplikasjoner.

          Greetings!

          1.    Arnoldo RLF sa

            så hvis du vil inkludere en prat laget med nodejs med en side i python med Django (for å fortsette med eksemplet forbedring.la), må du bruke en ramme, eller tilordne til apache (hvis det er tilfelle, har jeg ingen anelse om hvilken server bruk python) stien http://miweb.com ya node.js http://miweb.com/chat og kommunisere dem

  2.   jamin samuel sa

    Hei det superinteressante ....

    Det jeg ikke fullførte er hvorfor brukes Node JS til nettet?

    1.    Arnoldo RLF sa

      Det er et alternativ til Apache, med fordelen av å være i sanntid (applikasjoner som kommuniserer hele tiden og ikke bare når forespørselen kommer).

      1.    David Gomez sa

        NodeJS er ikke et alternativ (eller erstatning) til Apache, NGINX eller noen annen webserver. NodeJS er en JavaScript-tolk for serveren, slik at du kan lage applikasjoner med dette språket som ellers vil kreve bruk av språk som Java, Python, Ruby eller PHP.

        1.    Bruno cascio sa

          Ja, kanskje jeg uttrykte meg feil. Det jeg ønsket å formidle er at node.js driver sin egen server og ikke trenger tredjeparter for å jobbe (apache, nginx, cherokee, etc)

          Greetings!

  3.   Arnoldo RLF sa

    veldig bra, jeg håper flere opplæringsprogrammer for å kunne følge node.js og gjøre noe i sanntid

    1.    Bruno cascio sa

      Her er en bok på 200 sider, med en introduksjon til Node.js gjennom Koans. Den har inn til Node.js, og "oppløsningen" av en del av et problem som stilles (eksemplet er twitter) med Express som overskriftsramme… ..

      http://nodejskoans.com/

      PS: Seil lages på ekspressbasis, vanligvis er de fleste av dem.

      Greetings!

  4.   livlig sa

    Utmerket bidrag Bruno .. Velkommen 😀

    1.    Bruno cascio sa

      Takk til deg og hele samfunnet for å la være en del av det 🙂 Hilsen!

  5.   auroszx sa

    Veldig interessant Bruno 🙂

    1.    Bruno cascio sa

      Takk!

  6.   Svampkvinnen sa

    Utmerket artikkel. Takk så mye.

    Jeg bruker for tiden seil i noen av prosjektene mine. Jeg vil spørre deg hvor jeg kan få mer informasjon om rollebasert tilgangskontroll for seil, om mulig på spansk, men hvis ikke, på engelsk. Jeg vil legge til tilgangskontroll til en av sidene mine, men jeg vil etablere tillatelser for noen brukere fra en bestemt rute og andre fra en annen rute. Er det mulig med seil? Jeg finner ikke mye informasjon om det.

    Takk og gratulerer for artikkelen.

    En hilsen
    Elvira.

    1.    Bruno cascio sa

      Hei Elvira!

      Når det gjelder det du nevner, det være seg Sailsjs eller andre rammer, det du foreslår er relatert til modellering av dataene og begrensningene som systemet pålegger.

      Du kan opprette noe sånt som "grupper" (roller) med forskjellige tillatelser og knytte hver bruker til en av dem.

      Spesielt i seil kalles de "policyer", og du kan se det her: http://sailsjs.org/#/documentation/concepts/Policies

      Hilsen og takk for kommentaren din!

      1.    Svampkvinnen sa

        Tusen takk Bruno. Med instruksjonene dine fant jeg en elegant løsning. en hilsen