À 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