Les frameworks Web peuvent être classés en deux catégories sur le plan du pilotage. Alors que les frameworks basés sur les actions (action-based) s’appuient sur le schéma HTTP requête/réponse, le framework Web basé sur les composants (component-based) en fait abstraction.
Les frameworks basés sur les actions : avec les frameworks basés sur les actions, le contrôleur sert d’instance centrale, qui accepte les requêtes clients, les valide et envoie une action appropriée. Pour chaque action possible, un objet logiciel qui comprend la logique d’application doit être traité au préalable par le développeur de l’application. L’objet provient alors en principe de classes abstraites. Si l’action est exécutée, le contrôleur actualise le modèle de données et transfère le résultat à la vue qui de son côté génère la réponse et l’envoie au client.
Les frameworks Web basés sur les actions s’appuient fortement sur le modèle MVC et peuvent également être appelés « frameworks basés sur les requêtes » du fait de l’introduction strictes du schéma requête/réponse. On trouvera parmi les plus classiques :
Comme les actions possibles d’un framework Web basé sur les actions est défini par le développeur même, on parle d’approche white box. Elle procure une grande liberté aux développeurs, mais exige toutefois une bonne compréhension des frameworks, car les développeurs prennent en charge les constructions HTML, CSS et JavaScript.
Frameworks Web basés sur les composants : Contrairement à l’approche orientée action, les frameworks Web basés sur les composants sortent du schéma réponse/requête HTTP : l’interface utilisateur de l’application Web est considérée comme un regroupement de composants. Pour chacun de ces composants qui sont reliés aux objets logiciels du côté serveur, des réactions précises sont définies pendant le développement de l’application Web. Elles succèdent à des événements provoqués par une interaction utilisateur avec un composant. On parle de ce fait également de Webframeworks orientés événements. Des exemples classiques sont :
L’idée de base dans l’approche basée sur les composants est de grouper les actions apparentées. Un composant AccountController représente par exemple des actions comme login, logout ou getAccount. Un objet logiciel peut par conséquent être responsable de plusieurs actions. Les frameworks Web basés sur les composants proposent en règle générale un grand choix de composants réutilisables, qui dissimulent au développeur les détails du schéma réponse/requête sous-jacent. On parle alors de Black box. Les webframeworks de ce type sont donc appropriés aux développeurs qui souhaitent s’appuyer dans un premier temps sur des composants prédéfinis. Pour avoir en revanche plus de liberté en HTTP, HTML, CSS et JavaScript, un framework Web basé sur les actions est en revanche davantage conseillé.