Introduction à NodeJS + SailsJS

Bonjour à toute la communauté! Je m'appelle Bruno et j'ai été DesdeLinux en tant qu'utilisateur. Il est temps pour moi de faire mes premiers messages dans cette communauté 🙂

Aujourd'hui je vous apporte un guide sur NodeJS y Sails.js

Node.js

C'est un environnement de programmation, basé sur le langage javascript avec une architecture orientée événement, idéale pour la programmation asynchrone. Node, est basé sur le moteur V8 de Google.
Il maintient une communauté open source active, qui a écrit de nombreux modules pour faciliter notre développement.
L'un est socket.io (Permet au serveur d'envoyer des mises à jour en temps réel au client, par exemple un suivi GPS)

Qu'est-ce que c'est?

Node est conçu pour les situations où le trafic est trop important, entraînant une logique de serveur et un débit pas nécessairement plus élevés. Et pas seulement cela, mais en temps réel et avec une grande évolutivité!

Pourquoi Node?

1 est open source.
2) Si vous avez déjà pensé à utiliser une seule langue à la fois côté serveur et côté client, voici la solution.
3) Évolutivité et Concours.
4) etc.

Sails.js

J'ai choisi les voiles, en raison des caractéristiques suivantes en plus du fait qu'à mon avis c'était la plus lisible en termes de code. Œil! exister BEAUCOUP frameworks pour Node, tel quel Express, Angulaire, grognon, etc.

Capture d'écran - 080913-13: 21: 50

Qu'est-ce que Sails?

C'est un Cadre MVC qui imite le modèle de rubis sur rails (Oui, vous avez bien entendu: D) pour la création de petites ou grandes applications rapidement, facilement et en toute sécurité. En outre prend en charge les exigences des applications modernes. Peu importe la base de données que vous utilisez, Sails fournit une couche d'abstraction, ce qui en rend le choix indifférent. Sails a:

- La capacité de créer API JSON RESTfull automatiquement
- Il a intégré le module socket.io.
- Générer des itinéraires automatique pour vos contrôleurs.
- Fournit un système de authentification d'utilisateurs et contrôle d'accès basé sur les rôles.
- Grognement en tant que Task Runner (tâches automatiques telles que la minification, la compilation, les tests, etc.)
- Actifs: tous les fichiers dans leurs répertoires correspondants (css, js) sont unifié dans un seul fichier et minifié, pour réduire considérablement chargement de la page et nombre limité de requêtes du navigateur.

Installation de Node.Js

Le turorial que j'ai fait avec 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

Installation de Sails.Js

Dernière version stable:
sudo npm -g install sails

À ce stade, sans erreur, nous créons un nouveau projet! 😀

Créez le squelette du répertoire:
sails new testProject

Nous entrons dans notre projet:
cd testProject

Nous démarrons le serveur:
sails lift

Yeeeeeeeeeeah! nous sommes entrés http://localhost:1337/

Capture d'écran - 080913-13: 02: 34

La structure de notre répertoire devrait ressembler à ceci:
Capture d'écran - 080913-13: 07: 57

API:
- Conducteurs
- Adaptateurs
- Des modèles
- Stratégies
- Prestations de service

ATOUTS:
- images
- js
- modes
favicon
Collaboratif

CONFIG :
- local
404.js, 500.js… ..
routes.js
session.js
sockets.js …… ..

NODE_MODULES :
- ejs (moteur de modèle)
- grognement
- optimiste
- voiles-disque

VUES
- Accueil (voici le template racine, localhost)
- 404.ejs
- 500.ejs
- layout.ejs (Pour ceux qui ont utilisé des rails, layouts.ejs se comporte comme que layouts.html. *)

EJS (Embedded Javascript) C'est un moteur de template, mais pas le seul. J'aime particulièrement mieux JADE

FIN

Jusqu'à présent, mes connaissances, et j'espère avoir été utile à beaucoup ... je suis nouveau dans cette technologie, toute critique constructive est bienvenue ????

Ce post est né pour le faire, car je développe une sorte de réseau psychosocial (Rien d'un autre monde). Avec buts de l'apprentissageet peu de ressources. l'idée est de créer également un serveur domestique qui le supporte (Faites-en sûrement un tutoriel) Comme je l'ai déjà dit, les ressources sont peu nombreuses, optimisation c'est très important. (et même s'ils n'étaient pas trop ^^)


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Arthur Shelby dit

    Je suis étonné de la fidélité avec laquelle il émule RoR, bien que beaucoup détestent RoR pour ses performances médiocres (sans configuration) de nettoyage de code avant-gardiste.

    Le sujet est très intéressant, j'espère que vous continuerez à le développer, bravo.

    1.    nano dit

      Je ne déteste pas RoR, la vérité est que la philosophie de ruby ​​«il y a plusieurs façons de faire la même chose» est généralement un problème parce que toutes ne sont pas vraiment les plus efficaces et quand vous voulez répondre à une question, dans beaucoup cas vous avez ce petit problème dans lequel tout le monde vous répond avec une manière différente de faire la même chose et vous avez tendance à être plus confus D:

      En ce qui concerne ce framework pour Node, comme il n'est pas pour des choses énormes ou grandes, Node est utilisé avec d'autres cadres tels que Django pour des choses spécifiques, je pense que l'exemple de Mejorando.la est comme ça, ils construisent l'ensemble du site et gèrent son bases de données avec Django mais les problèmes en temps réel sont laissés à Node, même si je ne suis pas sûr, je ne peux donc pas trop en parler.

      1.    jamin samuel dit

        Je pense que c'est comme ça que tu dis, ils utilisent Django pour la base du site et Node pour les choses en temps réel ... Enfin du moins c'est ce que j'entends toujours dire Freddy Vega

        1.    Bruno cascio dit

          NodeJS n'est pas comme Django ou PHP, ou ruby. Mais c'est un serveur tel qu'Apache, Nginx, etc.

          Sails est le framework qui utilise nodejs et express (un autre framework) avec certains modules tels que socket.io, pour la création d'applications Web.

          Salutations!

          1.    Arnoldo RLF dit

            donc si vous voulez inclure une discussion faite avec nodejs avec une page en python avec Django (pour continuer avec l'exemple de Improvement.la), vous devrez utiliser un frame, ou assigner à apache (si c'est le cas, j'ai aucune idée du serveur qui utilise python) le chemin http://miweb.com ya node.js http://miweb.com/chat et les communiquer

  2.   jamin samuel dit

    Hé c'est super intéressant….

    Ce que je n'ai pas fini, c'est pourquoi Node JS est-il utilisé pour le Web?

    1.    Arnoldo RLF dit

      c'est une alternative à apache, avec l'avantage d'être en temps réel (des applications qui communiquent tout le temps et pas seulement lorsque la demande est faite).

      1.    David Gómez dit

        NodeJS n'est pas une alternative (ou un remplacement) à Apache, NGINX ou tout autre serveur Web. NodeJS est un interpréteur JavaScript pour le serveur, vous permettant de créer des applications avec ce langage qui nécessiteraient autrement l'utilisation de langages tels que Java, Python, Ruby ou PHP.

        1.    Bruno cascio dit

          Oui, peut-être que je me suis mal exprimé. Ce que je voulais transmettre, c'est que node.js exécute son propre serveur et n'a pas besoin de tiers pour fonctionner (apache, nginx, cherokee, etc.)

          Salutations!

  3.   Arnoldo RLF dit

    très bien, j'espère plus de tutoriels pour pouvoir suivre node.js et faire quelque chose en temps réel

    1.    Bruno cascio dit

      Voici un livre de 200 pages, avec une introduction à Node.js via Koans. Il a un dans Node.js, et la "résolution" d'une partie d'un problème posé (l'exemple est twitter) avec Express comme cadre d'en-tête… ..

      http://nodejskoans.com/

      PS: Les voiles sont fabriquées sur une base Express, généralement la plupart d'entre elles.

      Salutations!

  4.   animé dit

    Excellente contribution Bruno .. Bienvenue 😀

    1.    Bruno cascio dit

      Merci à vous et à toute la communauté d'en avoir fait partie 🙂 Salutations!

  5.   auroszx dit

    Bruno très intéressant 🙂

    1.    Bruno cascio dit

      Merci!

  6.   La femme éponge dit

    Excellent article. Merci beaucoup.

    J'utilise actuellement des voiles dans certains de mes projets. Je voudrais vous demander où je peux obtenir plus d'informations sur le contrôle d'accès basé sur les rôles pour les voiles, si possible en espagnol, mais sinon, en anglais. Je souhaite ajouter un contrôle d'accès à l'une de mes pages, mais je souhaite établir des autorisations pour certains utilisateurs d'un certain itinéraire et d'autres d'un autre itinéraire. Est-ce possible avec des voiles? Je ne trouve pas beaucoup d'informations à ce sujet.

    Merci et félicitations pour l'article.

    salutations
    Elvire.

    1.    Bruno cascio dit

      Bonjour Elvira!

      Concernant ce que vous mentionnez, que ce soit Sailsjs ou tout autre framework, ce que vous proposez est lié à la modélisation des données et aux restrictions que le système impose.

      Vous pouvez créer quelque chose comme des «groupes» (rôles) avec des autorisations différentes et associer chaque utilisateur à l'un d'entre eux.

      En particulier dans les voiles, elles sont appelées "politiques" et vous pouvez le voir ici: http://sailsjs.org/#/documentation/concepts/Policies

      Salutations et merci pour votre commentaire!

      1.    La femme éponge dit

        Merci beaucoup Bruno. Avec vos invites, j'ai trouvé une solution élégante. salutations