Pour avoir fait le tour d'horizon de toutes les technologies, j'ai pu un peu tester et me fixer sur certaines technologies.
Je met au placard C# et l'horrible framework ASP.NET, qui en plus d'être propriétaire, est particulièrement horriblement structuré et vu que je refuse de travailler sous windows, avoir un environnement de travail linux pour du C# est une vraie blague, sans compter le fait que je n'aime tout simplement pas le langage.
Je m'intéresse particulièrement à la sécurité et la plupart de mes services ont du chiffrement derrière, donc NodeJS est déjà exclu d'office, sa nature mono-threadée rendant la moindre procédure de chiffrement bloquante à 100% (et je ne compte pas déléguer le chiffrement à un autre processus, ce serait ouvrir encore plus le service en termes de failles et de points faibles). De plus, je refuse de ship un core plus lourd que la JVM avec des outils et une communauté toute sauf mature (sans parler de NPM, de dependency-hell et des centaines d'outils existants, tous différents, mais au final aucun bien finalisé). Le pire étant les drivers pour des SGDB sérieux comme PostgreSQL.
Typescript, après l'avoir essayé à travers la version 1 puis 2, je dis simplement non. Encore une fois des outils très jeunes, un langage qui change très souvent et je ne parles pas du poids (qui rejoint donc immédiatement l'argument NodeJS).
J'ai testé Ruby on Rails et je m'en sers au boulot pour un petit projet, et je dois dire qu'il me déplaît particulièrement, shippant par défaut énormément de fonctionnalités (ORM, Worker system et j'en passe) et rendant leur désactivation particulièrement douloureuse. En tout cas, parmi toutes les technologies cités jusque là, c'est sans doute celle que je préfère.
Python, seulement avec Flask ou Tornado, est assez agréable, mais je le garde pour de petits projets.
Pour Java, pouvoir mettre une web interface à disposition depuis le core de mes programmes serveurs est assez pratique, mais ça s'arrête là.
Ma technologie backend préférée reste le PHP, notamment la version PHP7.1, accompagné de Libsodium pour la sécurité ainsi que de PhalconPHP pour les gros projets et Siler pour les petits projets (1 framework et 1 flat-files library extrêmements performants et sécurisés), que je préfère largement à des veaux comme CakePHP, Symfony ou encore Laravel. Au moins, c'est débuggable!
J'attends d'ailleurs avec impatience la sortie de PHP7.2, qui incluera alors nativement la Libsodium, faisant alors de PHP le langage le plus secure-able de tout le marché ! Un grand coup de vent pour un excellent langage.
Mon outil de gestion d'exécution préféré n'est pas Grunt ni Composer (je garde composer pour les dépendances) mais GNU Make, que je trouve très simple, très performant et que je recommande à tous, notamment pour sa souplesse et le fait qu'il est présent sur tous les systèmes (à l'exception de Windows) nativement.
Côté Web, après avoir fait le tour de Angular, React, VueJS, je suis particulièrement repoussé par ces 3 technologies pour les mêmes reproches qu'à NodeJS et Symfony (poids et dépendance).
Je garde mes sites statiques s'ils le peuvent (exemple: mon blog, ajouter du JS ne servirait absolument à rien sinon se la jouer "moderne", et je préfère que mon blog soit léger et accessible au plus grand nombre) et ceux qui ont besoin de dynamisme se voient accueillir la librairie Mithril.JS, qui est indéniablement ma librairie UI Web préférée, très complète, sans bloat, sans dépendances supplémentaires et en full vanilla Js.
Partager