Le JavaScript est le langage de programmation qui m'offre le plus de perspectives et de plaisir à coder.
Présent dans quasiment tous mes projets depuis plusieurs années, le JavaScript est devenu mon langage de prédilection depuis l'arrivé de Node.js.
J'ai décidé d'orienter principalement mes services de freelance vers les technos JavaScript, Node.js et Golang. Le JavaScript peut tout à fait être couplé à d'autres technos (ex: Golang, PHP, Ruby, Python, Java, Rust, Erlang, ...) déjà en place ou pas.
Notamment pour le développement (front-end et/ou back-end) d'applications de types :
- API REST,
- temps réel (socket, peer 2 peer, streaming),
- création de logiciel
- applications mobiles
Le JavaScript fournit un très large champs d'applications. Il prend de plus en plus de place dans tous les devices (systèmes d'exploitations, mobiles, systèmes embarqués et IoT tels que Arduino, Raspberry PI, Intel, Beagleboard, ...).
Il est présent pour la réalisation de logiciels utilisant des frameworks UI tels que QT et GTK (pour n'en citer que 2 populaires supportant le JS). Je préfère tout de même réaliser un logiciel dans un environnement de rendu WebKit qui permet d'utiliser toutes les technos front (HTML, CSS, jQuery, React, Angular ainsi que toutes les autres libs et frameworks JS). Dont l'incontournable Google Chrome Developer Tools qui fournit un environnement intégré pour le débogage, l'optimisation et l'analyse de l'application.
Je fais de la veille quotidienne pour voir ce qu'il y a de nouveau dans l'écosystème du JavaScript en général, pour suivre de prêt les évolutions. Ca bouge vite, très vite, c'est passionnant :)
Pour en savoir plus sur mon expérience JavaScript, voir aussi :
Si ça peut être utile, j'ai publié en Open Source sur mon compte GitHub quelques projets JavaScript que j'utilise régulièrement (ou plus du tout pour certains), dont :
Unit.js | Un framework de tests unitaires pour le front-end et le back-end. https://github.com/unitjs (la doc http://unitjs.com). |
Routux | Un routeur front-end supportant les middlewares, regex pattern, routes nommées, gestionnaire d'erreurs, ... https://github.com/Nicolab/routux. |
Bindux | Une lib (experimentale) du genre Angular / jQuery (Data-binding + templating + DOM manipulation). https://github.com/bindux/bindux. |
Noder.io | Une lib d'IoC (Inversion of Control). https://github.com/noder-io (la doc http://noder.io). |
Evemit | Un event emitter, tout léger, tout rapide. https://github.com/Nicolab/evemit. |