Introduzione a NodeJS + SailsJS

Ciao a tutta la comunità! Mi chiamo Bruno e ci sono stato DesdeLinux come utente. È ora che crei i miei primi post in questa community 🙂

Oggi vi porto una guida NodeJS y Vele.js

Node.js

È un ambiente di programmazione, basato sul linguaggio Javascript con un'architettura orientata agli eventi, ideale per la programmazione asincrona. Node, si basa sul motore V8 di Google.
Mantiene una comunità open source attiva, che ha scritto molti moduli per facilitare il nostro sviluppo.
Uno di essi è Presa.io (Consente al server di inviare aggiornamenti in tempo reale al client, ad esempio il tracciamento di un GPS)

Che cosa è?

Node è progettato per situazioni in cui il traffico è troppo grande, causando la logica del server e il throughput non necessariamente più elevati. E non solo, ma in tempo reale e con grande scalabilità!

Perché Node?

1 è open source.
2) Se hai mai pensato di utilizzare una sola lingua sia lato server che lato client, ecco la soluzione.
3) Scalabilità e partecipazione.
4) ecc.

Vele.js

Ho scelto le vele, per le seguenti caratteristiche oltre al fatto che dal mio punto di vista era la più leggibile in termini di codice. Occhio! esistere MOLTI framework per Node, così com'è Express, Angular, geddy, ecc.

Screenshot - 080913 - 13:21:50

Cos'è Sails?

Si tratta di una Framework MVC che imita il modello di rubino su rotaie (Sì, hai sentito bene: D) per la creazione di piccole o grandi applicazioni in modo rapido, semplice e sicuro. ulteriore ha il supporto per i requisiti delle applicazioni moderne. Non importa quale database utilizzi, Sails fornisce uno strato di astrazione, il che rende indifferente la scelta. Sails dispone di:

- La capacità di creare API JSON RESTfull automaticamente.
- Incorpora il modulo Presa.io.
- Genera percorsi automatico per i tuoi controller.
- Fornisce sistema di autenticazione degli utenti e controllo di accesso basato sui ruoli.
- Grugnito come Task Runner (attività automatiche come minificazione, compilazione, test, ecc.)
- Risorse: tutti i file nelle directory corrispondenti (css, js) sono unificato in un unico file e minimizzato, ridurre considerevolmente caricamento della pagina e numero limitato di richieste del browser.

Installazione di Node.Js

Il tutorial con cui ho fatto 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

Installazione di Sails.Js

Ultima versione stabile:
sudo npm -g install sails

A questo punto senza errori, creiamo un nuovo progetto! 😀

Crea lo scheletro della directory:
sails new testProject

Entriamo nel nostro progetto:
cd testProject

Avviamo il server:
sails lift

Yeeeeeeeeeeah! entrammo http://localhost:1337/

Screenshot - 080913 - 13:02:34

La struttura della nostra directory dovrebbe essere simile a questa:
Screenshot - 080913 - 13:07:57

API:
- Autisti
- Adattatori
- Modelli
- Politiche
- Servizi

RISORSE:
- immagini
- js
- stili
favicon
robot

CONFIGURAZIONE:
- Locale
404.js, 500.js… ..
route.js
sessione.js
sockets.js …… ..

NODO_MODULI:
- ejs (motore di modelli)
- grugnito
- ottimista
- vele-disco

VISUALIZZAZIONI:
- Home (ecco il modello di root, localhost)
- 404.ejs
- 500.ejs
- layout.ejs (Per coloro che hanno usato rails, layouts.ejs si comporta come rispetto a layouts.html. *)

EJS (Embedded Javascript) È un motore di template, ma non l'unico. Mi piace particolarmente JADE di più

END

Finora la mia conoscenza, e spero di essere stata di aiuto a molti ... lo sono nuovo in questa tecnologia quindi ogni critica costruttiva è benvenuto 🙂

Questo post è nato per farlo, perché sto sviluppando una sorta di rete psicosociale (Niente da un altro mondo). Con scopi di apprendimentoe poche risorse. l'idea è di creare anche un server domestico che lo supporti (Sicuramente farne un tutorial) Come ho detto prima, le risorse sono poche, quindi il file ottimizzazione È molto importante. (e anche se non fossero troppo ^^)


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Arthur Shelby suddetto

    Sono stupito di quanto fedele emuli RoR, anche se molti odiano RoR per le sue scarse prestazioni (senza configurazione) la pulizia del codice di tendenza.

    L'argomento è molto interessante, spero che continuerai a svilupparlo, complimenti.

    1.    nano suddetto

      Non odio RoR ad essere onesto, il fatto è che la filosofia di Ruby "ci sono molti modi per fare la stessa cosa" di solito è un problema perché non tutti sono davvero i più efficienti e quando vuoi rispondere a una domanda , in molti casi hai quel Piccolo problema in cui tutti ti rispondono con un modo diverso di fare lo stesso e tendi ad essere più confuso D:

      Per quanto riguarda questo framework per Node, poiché non è per cose enormi o grandi, Node viene utilizzato insieme ad altri frame come Django per cose specifiche, penso che l'esempio di Mejorando.la sia così, costruiscono l'intero sito e gestiscono le sue basi di dati con Django ma i problemi in tempo reale sono lasciati a Node, anche se non ne sono sicuro, quindi non posso parlarne troppo.

      1.    jamin samuele suddetto

        Penso che sia così che dici, usano Django per la base del sito e Node per le cose in tempo reale ... Beh almeno questo è quello che sento sempre dire da Freddy Vega

        1.    Bruno cascio suddetto

          NodeJS non è come Django o PHP o ruby. Ma è un server come Apache, Nginx, ecc.

          Sails è il framework che fa uso di nodejs ed express (un altro framework) insieme ad alcuni moduli come socket.io, per la creazione di applicazioni web.

          Saluti!

          1.    Arnoldo RLF suddetto

            quindi se vuoi includere una chat fatta con nodejs con una pagina in python con Django (per continuare con l'esempio di miglioramento.la), dovresti usare un frame, o assegnare ad apache (se è così, non ho idea di quale server usa python) il percorso http://miweb.com ya node.js http://miweb.com/chat e comunicarli

  2.   jamin samuele suddetto

    Hey che super interessante….

    Quello che non ho finito è perché Node JS viene utilizzato per il web?

    1.    Arnoldo RLF suddetto

      È un'alternativa ad Apache, con il vantaggio di essere in tempo reale (applicazioni che comunicano continuamente e non solo quando viene effettuata la richiesta).

      1.    David Gomez suddetto

        NodeJS non è un'alternativa (o una sostituzione) ad Apache, NGINX o qualsiasi altro server web. NodeJS è un interprete JavaScript per il server, che consente di creare applicazioni con questo linguaggio che altrimenti richiederebbero l'uso di linguaggi come Java, Python, Ruby o PHP.

        1.    Bruno cascio suddetto

          Sì, forse mi sono espresso male. Quello che volevo comunicare è che node.js gestisce il proprio server e non necessita di terze parti per funzionare (apache, nginx, cherokee, ecc.)

          Saluti!

  3.   Arnoldo RLF suddetto

    molto bene, spero che più tutorial per poter seguire node.js e fare qualcosa in tempo reale

    1.    Bruno cascio suddetto

      Ecco un libro di 200 pagine, con un'introduzione a Node.js tramite Koans. Ha un in a Node.js e la "risoluzione" di una parte di un problema posto (l'esempio è Twitter) con Express come framework di intestazione ... ..

      http://nodejskoans.com/

      PS: Sails è fatto su base Express, di solito la maggior parte lo è.

      Saluti!

  4.   vivace suddetto

    Ottimo contributo Bruno .. Benvenuto 😀

    1.    Bruno cascio suddetto

      Grazie a te e all'intera comunità per aver permesso di farne parte 🙂 Saluti!

  5.   auroszx suddetto

    Bruno molto interessante 🙂

    1.    Bruno cascio suddetto

      Grazie!

  6.   La donna spugna suddetto

    Ottimo articolo. Molte grazie.

    Attualmente utilizzo le vele in alcuni dei miei progetti. Vorrei chiederti dove posso ottenere maggiori informazioni sul controllo degli accessi basato sui ruoli per le vele, se possibile in spagnolo, ma in caso contrario, in inglese. Vorrei aggiungere il controllo degli accessi a una delle mie pagine ma desidero stabilire le autorizzazioni per alcuni utenti da un determinato percorso e altri da un altro percorso. È possibile con le vele? Non riesco a trovare molte informazioni a riguardo.

    Grazie e complimenti per l'articolo.

    saluti
    Elvir.

    1.    Bruno cascio suddetto

      Ciao Elvira!

      Per quanto riguarda ciò che dici, sia esso Sailsjs o qualsiasi altro framework, ciò che proponi è relativo alla modellazione dei dati e alle restrizioni che il sistema impone.

      Potresti creare qualcosa come "gruppi" (ruoli) con autorizzazioni diverse e associare ogni utente a uno di essi.

      In particolare nelle vele si chiamano "polizze" e le potete vedere qui: http://sailsjs.org/#/documentation/concepts/Policies

      Saluti e grazie per il tuo commento!

      1.    La donna spugna suddetto

        Grazie mille Bruno. Con i tuoi suggerimenti, ho trovato una soluzione elegante. un saluto