[OpenSource][Javascript]bibliothèque de Liaison de données
Bonjour,
Je me présente, Stéphane, développeur amateur, j'ai quelques connaissances en Java (pour Android), en CSharp/XAML, mais je code principalement en Python des petits outils et scripts.
Pour les besoins d'un logiciel afin de gérer mes contrats d'interim, je me suis tourné vers HTML5/CSS3/Javascript, parce que c'est ce qui me semblait le mieux et aussi par curiosité. Après quelques essais, j'ai commencé à rechercher des bibliothèques pour me simplifier la vie, et principalement, pour le data-binding (en fait, je trouvais que les "getElementById" prenaient un peu trop de place dans mon code…).
JQuery: UI, organisation, j'ai beaucoup aimé, mais niveau code, $("mon_id") ou getElementById, ça ne réglais pas le problème
AngularJS: j’ai rien compris à cette bibliothèque… Elle doit faire des trucs formidables, mais j'ai rien compris...
Knockout: plus évidente, mais trop de code javascript en plus, et puis un seul binding par élément ?!
Comme amateur (donc pas de limite de temps et envie de connaître mieux javascript) je me suis fait ma propre lib: fear the walking web:
déclarative: les bindings se déclarent dans le code HTML, ainsi que les presenters/templates pour l'affichage des objets/tableaux
multi binding :chaque attribut/propriété d'un tag HTML/objet HTMLElement peut recevoir un binding, et on peut en mettre plusieurs par élément HTML.
limite la modification des codes métiers: On doit juste créer un contexte de données (un objet javascript normal).
téléchargement: fear-the-walking-web
Description de l'archive:
ftw2.7z > fear-the-walking-web-flesh-and-bones.js: le fichier javascript à inclure dans votre page HTML.
ftw2.7z > docs > FearthewalkingwebDocsDemos.pdf: documentation + un exemple d'utilisation dans une application complète.
ftw2.7z > docs > exemples: les exemples de la documentation
ftw2.7z > docs > wows:l'application développée dans la documentation pour visualiser les cours de bourse d'une action.
ftw2.7z > pandemie: après avoir montré mon code à un ami, il m'a demandé si je comptais en faire un plugin JQuery. D'après ce que j'en ai compris, JQuery simplifie la manipulation du DOM, et ils ont construit un framework dessus (avec plein d'autres choses, ok…), alors que FTW2 permet au développeur de ne plus manipuler le DOM.
Comme amateur (donc le temps de prendre des décisions débiles), j'en suis arrivé à la conclusion qu'il serait plus logique(?!) de créer un framework complet basé sur le data binding! Ce n'est pour l'instant que quelques idées sur le fonctionnement, rien de bien concret encore.
Je suis très content de faire ma première release (comme disent les pros), actuellement en version 0.3, et de la poster sur DVP, (depuis le temps que je fréquente ce forum, enfin je peux lui rendre quelque chose!)
TODO:
améliorer les requêtes XPATH: souvent (toujours?) les bindings ne fonctionnent pas simplement parce que le xpath est mal fait (les caractères spéciaux dans les fallbacks par exemple)
optimiser le code: en temps d'exécution et en consommation mémoire
quelques fonctionnalités en plus auxquelles j'ai pensé en écrivant la documentation (binding direct sur webservice…)
que pensez vous de son utilisation?
que pensez vous de la documentation? Est elle assez claire?
Merci à tous pour le temps passé à essayer mon bout de code et pour vos retours.