Je mentionne souvent. Développer une application web, c’est facile. En faire la maintenance est une autre histoire. À l’époque des frameworks front-end JavaScript permettant de faire des applications web riches et interactives à la fois, il est facile d’oublier que l’ont construit des abstractions par dessus d’autres abstractions. Nous vivons à une époque où, à chaque ajout de librairie tierce, un enjeu de maintenabilité est à portée de main.
Les navigateurs évoluent à la vitesse grand V. Inévitablement, vous aurez à mettre à jour une librairie dans le lot que vous utilisez. Cela signifie aussi que ce sera le jour où vous réaliserez que vous aurez, peut-être, à mettre à jour une série de dépendances.
Plus la chaîne de dépendances est grande, plus j’ai l’impression de percevoir ce même sentiment d’angoisse chez le lecteur. Cela nous est tous déjà arrivé au moins une fois? D’ailleurs, je cite l’exemple avec le développement front-end. Cependant, il est tout aussi valide avec .NET.
Devoir retester une application entière en raison d’une mise à jour mineure d’une librairie et de ses dépendances utilisée dans son application n’est pas cool.
J’avais initialement commencé ce billet en ayant comme objectif de faire un résumé de comment il est facile de faire une grille de données de type CRUD avec ASP.NET « vanille ». En fait, c’est tellement simple que je n’ai pas envie de répéter ce qui existe déjà sur le web à ce sujet.
Mon intention était surtout de démontrer qu’il n’est pas automatiquement nécessaire d’inclure une panoplie de librairies JavaScript pour manipuler le HTML et faire un SPA avec quelque chose qui peut se faire directement avec ASP.NET. Il y a un truc que je garde régulièrement en tête concernant le développement web. Plus une librairie va tenter de résoudre un problème complexe (ex.: faire un SPA ou de l’AJAX), plus son utilisation en sera aussi complexe ou induite en compromis contraignants.
Ceux qui lisent les Liens de la Semaine auront remarqué que j’ai inclus le lien vers le The boring front-end developer dans l’édition #141. Je me suis tout de suite reconnu dans les arguments avancés. Je le considère réellement comme un manifeste pour une façon platonique de concevoir le web. Les arguments sont aussi en ligne directe avec YAGNI pour le développement logiciel.
Le web est basé sur un protocole assez simple: HTTP. Gardons les choses simples lorsqu’il est temps de prévoir l’architecture front-end de son site. Pour faire simple, pour faire des grilles d’édition web, je doute sincèrement que vous ayez besoin d’AngularJS ou même de React.js, jQuery, d’un préprocesseur CSS comme Sass et de gulp pour faire tenir tout ça ensemble.
Comme toujours, soyez vigilant et, surtout, faites preuve de pragmatisme lorsque vous développez!
Bonjour,
Quelle est la bonne pratique concernant le CRUD avec ASP.NET « Vanille » ? ([Bind(Include = « LastName, FirstMidName, EnrollmentDate »)] dans l’exemple)
Utiliser « Bind attribute » ou un ViewModel (+ AutoMapper) ?
Dans quel cas utiliser l’un et pas l’autre ?
Merci !
Bonne question! J’ai aucune idée pour la meilleure pratique. Cependant, je suis un grand fan d’employer un ViewModel et AutoMapper. Peut-être que j’en ferai un billet à venir. :)