Bonjour,
je crois ne pas encore avoir tout à fait saisi comment ça marche, j'ai fait un essai, mais les closures/context de fonctions en javascript, et leur chaînage sont encore un peu flous dans ma tête...Par exemple, pour moi, créer une variable dans une fonction limite la portée à la fonction, j'ai trouvé l'explication du mot clé "var" et de ce qu'il se passait lorsqu'on l'utilise (ou pas) il y a pas très longtemps… Javascript a encore pas mal de subtilités que j'ai du mal a intégrer. Donc ce qu'il se passe avec une 'IIFE, je visualise pas encore.
Une nouvelle mise à jour sur GitHub. Au programme:
- Un dossier 'src': j'ai découpé le fichier source pour rendre le code plus lisible (et facile à debugger).
- Le ménage dans le code et suppression des commentaires inutiles (c'est fou ce que je peux laisser comme c*nneries la dedans! J'y trouverais une recette de cuisine ou la liste des courses que je serai pas plus surpris que ça)
- Sur vos bon conseils, j'ai crée une version UMD et minifiée de la lib (ftw2-min.js).Je continue à regarder comment ça fonctionne, je suis pas sur d'avoir encore tout à fait compris comment m'en servir...et je suis en train de me documenter sur les loaders de scripts, je garanti pas que ça marche pour l'instant…
- Du coup, j'ai du modifier quelques exemples de code (2way.html et item_presenter.html): la seule différence est que la méthode "generateUUID" définie dans FTW2 n'est plus accessible. (Au passage, aucune méthode n'est plus accessible. C'est plus simple et plus dans l'esprit de ce que je voulais faire)
- Une version de la doc en HTML. (Cela dit, les exemples de codes -dossier doc/exemples/*- sont ceux donnés dans la doc, j'ai juste copié le code html/js/css tel quel dans le pdf et ajouter des commentaires)
Dans le prochain épisode:
- Tenter de se débarrasser des surcharges de méthodes qui posent problème (les events listener,...). Je sens que pour le defineProperty, je vais quand même galérer…
- Ne pas obliger à créer un context de données en tant que variable globale (je pense à faire comme l'UMD, demander le constructeur? et me charger de l'instancier)
- Continuer le ménage dans les closures (en essayant de bien comprendre le truc)
- commencer à me pencher sur les Memory Leaks (et continuer d'apprendre à me servir des outils de profilage)
- écrire un readme!
On m'a demandé de choisir une licence pour FTW2, vous avez quelque chose contre la BeerWare? Je la trouve simple, courte à lire (parce que GPL, pardon!) et GPL-compliant.
Bonne lecture!
Partager