Bonjour à tous.

un petit message pour parler d'une lib et d'un "framework"
Webix est une lib de widget assez complète et plutôt abordable
Webix Jet est un micro framework MVC
pour la doc
https://www.gitbook.com/@webix

Je ne développe pas de site web mais des applications. la différence c'est que je ne propose pas de consulter des contenus mais je propose à l'utilisateur des actions à faire sur ses données.
Je n'ai pas non plus besoin de présentation customisée. pour être précis j'utilise des grilles, des graphes, des boutons, des menus, des arbres, des forms.
Je ne les customise pas.

je préfère donc des lib qui me permettent de créer ces widgets sans avoir à me palucher le html et le css.
Webix et de ceux-la. On peut l'utiliser en ajoutant des attributs dans du code HTML mais cela n'a aucun intérêt pour moi.
il est beaucoup plus simple d'écrire { view:"datatable", autoConfig:true, data:grid_data } que de mettre un fragment html quelque part pour l'inclure à la volé dans une page et lui ajouter les attribut qui transformerons ce fragment en grille.

C'est donc dans cet esprit que j'ait expérimenté Webix. mon premier bilan est le suivant
  • Abordable : moins de 2 heures pour vraiment maîtriser le modèle de programmation.
  • riche : la couverture des widgets est très largement supérieure à mon besoin.
  • paramétrable : sur ce point je mettrais un bémol il y a beaucoup d'options dans les différent widget mais c'est inégal et certains pourraient être rebuté par un cadre assez figé
  • Extensible : je n'ai pas à proprement regarder cette partie. L'ajout de widget ne m'est pas apparu compliqué. Mais l'ajout de fonctionnaités sur certains widget ne parait pas simple.
  • efficient : c'est probablement un des points fort de la lib. on fait beaucoup avec très peu de code.
  • efficace : là il faudrait des test de perf pour vérifier mais j'ai trouvé la chose rapide et le HTML généré m'a l'air très correct. je n'ai pas poussé dans les détails.

voilà en gros pour Webix. Je vous conseille de lire attentivement LES licences car tout n'est pas libre.

Webix s'intègre à de nombreux frameworks comme anglar.
Mais Webix reste un lib de composant d'affichage.
il faut donc l'utiliser avec autre chose. cela implique plusieurs modèle de programmation. Webix utilise une approche OO classique et JQuery une approche plus fonctionnelle en fluent API les utiliser ensemble implique donc de passer de l'un à l'autre en permanence. ce n'est pas propre à webix mais sur un projet d'envergure le choix des différente lib est sensible en ce sens qu'il ne faut pas multiplié les modèle au risque d'avoir un code difficile à maintenir, voire avoir des incompatibilités.

webix Jet est un micro framework mvc qui vient en complément de webix.
il est simple à mettre en oeuvre. mais le point que je relevait juste au dessus se vérifie avec lui.
Jet ne s'occupe que du parttern MVC et il le fait avec un modèle de programmation différent de webix (dommage) mais pour fonctionner il a besoin d'autre micro framework eux aussi très spécialisé comme routie.
j'ai compté rien de moins que
almond
less
polyglot
requirejs
routie
webix
webix jet
pour faire fonctionner la démo.on s'y fait rapidement mais même si ces frameworks sont censé être très spécialisés il y a de la redondance (forcément) et il y a donc plusieurs façon de résoudre certaine problématique car plusieurs framework apport une approche différente. sur un très gros projet il faudra fixé des règles au développeur pour éviter d'avoir un code disparate et difficile à maintenir.

La mise en oeuvre m'a pris quelque minute. travaillant de façon très modulaire une fois le squelette mis en place c'est allé très vite.

La prochaine étape sera l'industrialisation.
A+JYT