J'aurai un tutoriel à proposer dans un ou deux mois sur une bibliothèque que je développe actuellement en Javascript, elle s'appelle Yengin - même si ça fait bientôt 2 ans avec la première version sortie en 2013.
Introduction : Yengin est une bibliothèque axé HTML5/Canvas. L'objectif est d'offrir au programmeur un kit de développement pour des applications Web et même web mobile, des jeux HTML5. Comme ceux que l'on peut trouver sur Chrome Experiment ou Codepen.io. Ce que permet Jquery aujourd'hui sur la gestion du DOM et des évènements sera également implémenté dans la bibliothèque en allant plus loin. Le code sera lisible, portable (on peut copier une fonctionnalité depuis Yengin dans n'importe quel script JS), performant et compatible absolument partout. Je garantie également que le code est fait main (de A à Z) et respectera toujours ces critères.
Pourquoi un tutoriel : avant tout pour vous proposer ma philosophie de la programmation Javascript en prévoyance de mon grand projet de recherche & développement que je détaillerai d'ici l'année prochaine. Autrement l'idée du tutoriel est de vous proposer une approche de l'outil.
Avantage : code lisible, portable, performant, flexible, libre et compatible. Au goût également du Web de demain et toujours en évolution.
La version 2.1 sortira mi-Août. La dernière version actuellement disponible (la 2.0) est une alpha et des modules sont manquants ou imparfaits (notamment celui concernant l'Entity Component System qui sera entièrement re-modélisé avec une nouvelle structure). La documentation suivra également.
En attendant voici la liste des modules prévus pour la 2.1 :
- DeepCopy & shallowCopy.
- Récupère les paramètres GET et les TAG (http://monsite.fr/?get=yes#tag).
- Permet de stocker des données - accessible depuis n'importe quelle fonction.
- Enregistre des données plus ou moins persistantes sur l'ordinateur du client.
- Gère le DOM et les évènements (touche, souris & pad) - ici ça ira très loin
- Importe un fichier Javascript.
- Outils de dessin pour le Canvas + gestion des résolutions et des dimensions par rapport à l'écran.
- Permet l'Entity Component System
- Permet la gestion des cookies
- Mathématique sur des vecteurs (normalisation, taille du vecteur)
- Méthode de conversion (radian/angle, cartésien/polaire HSV/RGB)
- Outils (calcul de matrice, aléatoire et mise en cache d'un site)
- Et bien plus encore … Notamment de la cryptographie, pathfinding et animation de particules - peut-être dans la 2.2, ça dépend.
EDIT : j'ai également un tutoriel en cours de rédaction. C'est sur la modélisation de l'information. Aucune date de sortie de prévu - j'ai beaucoup de projet personnel à avancer. Désolé.