À l'abordage avec Sails.js

Présenté par :

Malik Baba Aïssa

malik@contestnco.com

Sommaire

  • Storytelling
  • Présentation du framework
  • Courbe d'apprentissage
  • L'histoire de mon projet avec Sails
  • Fin (ou démo peut être)

Storytelling

Balderdash - agence web

Mike McNeill

Présentation du framework

Des fonctionnalités intéressantes

Framework NodeJS

Basé sur Express

Posssibilité d'utilisation: 

MVC Classique ou API centered

Communauté - Open Source

v0.12

> 14 000 stars

202 contributors

13 issues

Un CLI intégré

$ sails new <project>

Générer un nouveau projet

Générer ses modèles et contrôleurs

$ sails generate api <endpoint>
$ sails generate model <controller>

Générer un endpoint de l'API (model + controller + CRUD)

$ sails generate controller <controller>

Un ORM puissant

  • Couche d'abstraction entre la base de données et les modèles
  • Possibilité de répartir ses modèles entre plusieurs bases de données sans aucun souci (SQL ou pas)
  • Configuration ultra simple
  • Très simple d'utilisation
  • V2 en cours de développement

 

Défaut majeur: gestion des relations N-N avec table de transition

 Un framework Frontend Agnostic

  • Utilisation par défaut MVC => EJS, ou n'importe quel moteur de templating dispo avec consolidate.js  
  • Utilisation API centered => n'importe quelle techno front

 Un framework "Realtime"

  • Chaque endpoint est associé à un socket de base, et une lib côté serveur et client permet de gérer le tout sans soucis
  • Chaque route a la possibilité d'être realtime ou non

Une configuration simple et efficace

  • Fichiers JS avec une configuration JSON
  • Les différents environnements peuvent avoir une config personnalisée

Des plus sympas

Policies et Hooks

Déploiement

Fichiers de configuration déjà prêts

Plusieurs stratégies de déploiements

Le plus simple : PM2 + Keymetrics

Courbe d'apprentissage

La petite histoire de

Premier projet en Symfony 2 vendu aux grands comptes

Second projet SAAS pour des tailles d'entreprises diverses

SAAS - Les technos

  • Début - SailsJS + AngularJS

  • Pivot ! Que faire ? Angular ne convenait plus par rapport au business

  • Solution : Sails = Frontend Agnostic

 

Models + Controllers gardés, MVC classique, il a suffit de rajouter les Views

 

Première version = 3 mois de travail

Seconde version = 2 semaines environ pour adapter le projet

Perte de deux semaines au lieu de 2 mois et demi

Questions/Réponses

Débats/Trolls

Conclusion

Présentation Sails.js

By malikba

Présentation Sails.js

  • 493