WebForms m’a TUER (ou comment je redécouvre le WEB)

unicornJ’ai fait pas mal de Web à la sauce Microsoft au fil des années. D’abord ASP, puis ASP.NET WebForms. Au point d’avoir presque complètement oublié comment marchait le Web. Je savais certes comment pondre un site Web. Je connaissais sur le bout des doigts le cycle de vie d’une page, je savais tordre les composants WebForms pour qu’ils recrachent un HTML qui ressemblait à quasi-deux gouttes d’eau au HTML que me filait un intégrateur. Je savais même optimiser cette saloperie de ViewState, pour alléger le plus possible le poids des pages qui transitaient dans les tuyaux. Mais au final, WebForms et IIS éloignent tellement le développeur de ce qu’est réellement le web que je paye cher la remise à niveau.

On passe tellement de temps à faire rentrer des cercles dans des triangles (ça rentre, hein, mais faut beaucoup d’élan). A tel point que j’ai préféré m’éloigner le plus possible de la couche de présentation pour me concentrer sur la tuyauterie business/data. Ca avait pour gros avantage de bosser sur une stack C#/SQL maitrisée, testable et sur laquelle on pouvait bosser vraiment proprement. Mais je suis un peu jaloux de mes collègues qui bossent sur des projets plutôt cools. J’entendais des noms comme MVC, JQuery, CSS3, Bootstrap, SPA, et quelques centaines de frameworks Javascript (un nouveau framework à la mode par semaine, d’après les dernières estimations). Je me suis dit qu’il était temps de remettre le nez dans tout ça. Ayant la chance d’avoir à ma disposition un abonnement à Pluralsight, j’ai pris mon casque, pas mal de temps, et j’ai suivi dans cet ordre :

  • les fondamentaux http : à mon avis, tout développeur Web devrait suivre ce cours (et y revenir de temps en temps). En 3h, Scott Allen fait un gros tour de ce qu’est http. URL, ports, queries, content type, content negociation, messages, verbes, sockets, TCP/IP, proxies, cache, cookies et authentification. Ca repose toutes les bases, et tout le reste en découle.
  • Bootstrap 3 : parce que nous, les devs, on sait le plus souvent faire des trucs qui marchent, mais bien moches. Twitter a open-sourcé son framework CSS3/Javascript, et permet de faire facilement et rapidement des trucs JOLIS. C’est un peu la révolution. Le cours est aussi de Scott Allen.
  • Javascript pour les développeurs C# : j’ai toujours détesté Javascript. Cette saloperie de langage non-typé, illisible et désorganisé. A la base, ça servait à faire clignoter des trucs dans Netscape, merde. Bon, maintenant, les gens développent des applis entières avec. Et même des serveurs. Je me suis donc fait violence, et je me suis dit qu’il fallait tout reprendre à zéro. Et ce cours-là, par Shawn Wildermuth est bien foutu, en plus d’avoir la bonne idée de faire le parallèle avec mon langage de prédilection pour bien mettre l’accent sur les différences et spécificité. Et il y en a.
  • Une intro à Nancy : Nancy est une stack complète et hyper-modulable permettant de développer des applis Web (pages et services). C’est un portage de Sinatra du monde Ruby, et c’est surtout une vraie alternative à ASP.NET MVC et Web API. Vraiment chouette.
  • Les fondamentaux ASP.NET MVC5 : toujours par le très très bon Scott Allen. Pas mal de redites d’autres cours, mais certains chapitres sont vraiment à suivre : OWIN et Katana, la gestion des identités et de la sécurité, Web API 2, et un tour des Web Essentials pour VS2013.
  • SignalR2 : SignalR, c’est clairement un des trucs les plus sexy sortis de chez MS ces dernières années. Dans ce cours, on voit une implémentation d’un jeu en temps réel avec un JS et SignalR.
  • AngularJS pour les devs C# : c’est un peu LE framework qui prend l’avantage en ce moment. Autant y consacrer quelques heures.

Si vous en voyez d’autres, je prends !