hornet-js-core
Le framework Hornet
est conçu selon le principe d'isomorphisme
, c'est à dire que le code d'une application Hornet s'exécute aussi bien dans un navigateur web que sur un serveur d'application Node.js.
Les composants techniques du framework :
Node.js
: plateforme logiciel d'exécution du code JavaScript côté serveurExpress
: bibliothèque de base pour l'écriture d'application web sur Node.jsDirector
: composant de gestion du routage des urls sur le serveurReact
: bibliothèque de création d'IHM html selon une logique orientée composantsSuperagent
: composant JavaScript pour l'exécution d'appels httpWebpack
: outil de création de paquetages (JavaScript, CSS, ...) pour les navigateurs webGulp
: outil pour la création de tâches de développement
Prérequis
Utilisation dans un projet
Ajouter au package.json
"dependencies": {
"hornet-js-core": "5.5.X"
}
Puis lancer la commande :
npm install
Actions
Les actions sont exécutées côté serveur et portent les traitements de l’application. Les services externes sont appelés depuis les actions afin d’effectuer les traitements demandés par l’utilisateur.
Chaque action doit être une fonction retournant une Promise
effectuant l’action à proprement parler (au sens métier). Ce fonctionnement est nécessaire afin de permettre au routeur
:
- de savoir quand effectuer le rendu de la page côté serveur.
- de pouvoir désactiver les actions lors du premier affichage de la page côté client pour éviter un double appel des API externes (serveur puis client).
Routeur
Ce composant est le point central de la navigation. Il permet de gérer de manière identique la navigation au sein de l’application que ce soit côté client (avec ou sans JavaScript) ou côté serveur.
Ce composant est configuré à partir d’un ensemble de « routes » qui viennent faire le lien entre une URL et les actions du pattern (dans son implémentation isomorphe).
Le routeur d'Hornet s'appuie sur le composant Director.
Les particularités :
- Transmission des données
POST
par une méthode spécifique afin de ne pas modifier l’url du navigateur - Utilisation du mode « historique » html5 (mode
pushState
à la place de la notation !#
) afin d’uniformiser les urls entre la partie client et serveur.
Vues
Les vues sont les composants servant à produire le code html affiché à l'utilisateur.
Les composants de cette brique utilisent le moteur de rendu React :
Licence
hornet-js-core
est sous licence cecill 2.1.
Site web : http://www.cecill.info