5.5.0 • Published 2 years ago

hornet-js-core v5.5.0

Weekly downloads
5
License
CECILL-2.1
Repository
github
Last release
2 years ago

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é serveur
  • Express : bibliothèque de base pour l'écriture d'application web sur Node.js
  • Director : composant de gestion du routage des urls sur le serveur
  • React : bibliothèque de création d'IHM html selon une logique orientée composants
  • Superagent : composant JavaScript pour l'exécution d'appels http
  • Webpack : outil de création de paquetages (JavaScript, CSS, ...) pour les navigateurs web
  • Gulp : outil pour la création de tâches de développement

Prérequis

  • NodeJS 10.X

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