C’est bon, nous avons choisi la base de données. Maintenant, avant de s’attaquer à la génération de la base de données (nous verrons le CodeFirst), nous avons souhaité choisir la technologie web pour gérer les pages de C’était quoi le contexte. Deux choix s’offrent à nous : Razor page ou bien mvc.net (on ne parlera pas ici d’asp.net pure, qui est réservé pour le.net Framework).
MVC.net – Garder ses habitudes
Si vous aimez le pattern MVC, MVC.net est fait pour vous.
Super slogan, n’est-ce pas ?!
- Model : nos données
- View : la view Razor cshtml
- Controller : notre classe qui gère toutes les actions venant de l’utilisateur : get, post, put, del.
On s’y retrouve à l’identique, avec asp.net core 2.0 et 2.1.
Un défaut majeur
MVC a ce gros défaut : cela génère beaucoup de fichiers. et ça augmente la complexité, surtout pour les gros projets.
Pour contrer cela, plusieurs développeurs ont tenté de réorganiser, d’améliorer mvc.net en proposant de nouvelles architectures.
Ce qui est merveilleux avec le moteur asp.net, surtout en .net core, c’est qu’il est extrêmement customisable !
Razor page – asp.net plus simple et mieux pensé
Si vous avez connu asp.net (l’ancêtre, avec le ViewState, les WebForms), vous allez adorer les Razor Page :
- On garde le principe de vue
- On y ajoute une classe qui gère la vue
- Un model pour chaque vue / page est activé
et surtout, on supprime tous les défauts de son créateur !
Nous avons donc un projet mvc.net simplifié, plus rapide à mettre en place, et moins générateurs de fichiers.
Une maintenance améliorée ?
Valider notre choix
A titre d’information : (venant de github)
Feature | Controller/Views | Razor Pages |
---|---|---|
Action Filters | x | 2.1 |
testable | x | x |
separation of concerns | x | x |
areas | x | 2.1 |
Partial views | x | na |
De plus, un grand débat est présent (parmi tant d’autres), sur github, sur le choix de MVC.net ou de Razor Pages.
En résumé :
Qui êtes-vous ? | MVC.net | Razor Pages |
---|---|---|
Puriste | Oui | Fuyez pauvre fou ! |
Habitué-e des webforms | Que de fichiers, je m’y perds ! | Oui |
Nouveau sur .net asp.net | Apprentissage un peu long | Oui, vous allez kiffer |
Dans le but de toujours apprendre de nouvelles technologies, notre choix s’est arrêté sur les Razor Pages.
Des surprises, des difficultés, des interrogations
Après ce choix, nous avons rencontré plusieurs problèmes. Nous vous en parlerons très bientôt …