Rasoir basé sur MVC vs Single Page Application MVC 4
J'ai utilisé pour utiliser MVC 3 Rasoir moteur de rendu des pages. Parfois, j'ai eu à utiliser les appels AJAX pour le transfert de Rasoir-rendu HTML et de l'insérer dans la page à l'aide de JQuery. En tant que nouveau projet de départ, nous ne considérons utiliser MVC 4 Page Unique cadre d'Application qui est nouveau pour nous. J'ai pris le premier coup d'œil à ce qui m'a laissé avec des sentiments mitigés:
D'une part, il implique l'ensemble de vos données sont transférées par JSON et le client fait tout le travail pour les rendre et de coder certaines liées à l'INTERFACE utilisateur de la logique qui est excellent pour le serveur et les performances du réseau. D'autre part le client (HTML+JavaScript) devient de plus en plus lourd avec un bouquet de chaînes magiques cachés et de relations à l'intérieur de ce qui semble être difficile à maintenir. Nous avons utilisé pour VS intellisense, type-safed .NET serveur de code pour afficher les pages que nous avons d'échange pour les scripts clients et knock-out de liaison des états en cas de SPA.
Je me demande tout prons et inconvénients de l'utilisation de SPA comparant à un Rasoir, d'autres que ce que j'ai mentionné ici? Grâce
- Faux choix. Vous pouvez utiliser de Rasoir dans un SPA. Juste peut-être pas autant.
- Nous allons utiliser Rasoir pour la première fois de chargement de la page sans les données, tous les autres demandes sont à faire avec l'aide d'Ajax+JSON, MS SPA n'implique pas utiliser Rasoir pour le chargement des données
- "prons". Lol, je pense que cela devrait être le nouveau mot de remplacement pour les "avantages et inconvénients".
Vous devez vous connecter pour publier un commentaire.
Rasoir est un serveur de base de la technologie où les SPA (Single Page Application) est une approche de l'architecture utilisée sur le client (navigateur web). Les deux peuvent être utilisés ensemble.
D'un niveau élevé, SPA déplace le rendu et la récupération des données pour le client. Le serveur web devient une couche de services d'assise en face de la base de données. Un modèle MVC qui fonctionne le mieux lors de l'utilisation du SPA. Des cadres comme Knockout.js et Backbone.js peut être utilisé pour cela. Le résultat net est une riche sensible de bureau comme une expérience.
Pour ce faire, vous aurez besoin d'être une descente javascript programmeur ou la volonté d'apprendre le javascript.
Oui, il bouge les exigences de l'entreprise à partir de C# en javascript. Dans Visual Studio, il est limité intelli-sense pour le javascript. Pour avoir confiance dans votre code javascript que vous aurez besoin de s'appuyer sur des tests unitaires. Le côté positif, c'est la riche expérience de l'utilisateur (pense que gmail ou google maps).
Je pense que ça sonne comme vous, sont déjà assez bien au courant de la plupart des arbitrages ici, vous aurez une réduction de la charge réseau avec SPA, et de décalage de mesure du traitement pour le client. Vous avez, cependant, l'augmentation de la complexité de votre code, et de le rendre un peu plus difficile de maintenir facilement le système (tout simplement parce que de l'augmentation de la complexité - pas due à une architecture problèmes inhérents à la SPA).
Une autre chose à garder à l'esprit est la compatibilité. La raison pour laquelle je mentionne un "faux choix" dans mon commentaire à votre question, c'est que pour que le site soit utilisable pour des gens avec le Javascript désactivé, vous devrez tout de même régulière, l'ensemble des pages vues. C'est aussi une bonne idée de le faire pour des raisons de RÉFÉRENCEMENT, un robot va parcourir votre site en tant qu'utilisateur avec JS désactivé, et vous pouvez ensuite l'indexation de votre site. Le site doit alors gérer de tels Url entrantes correctement de sorte que ceux avec le JS activé va se trouver dans votre SPA en regardant le même contenu (par opposition à l'objet de dumping dans le "no JS" afficher inutilement).
Il y a autre chose, je vais parler comme une possibilité qui peut aider avec ce qui précède, mais il casse les idéaux d'un SPA, c'est, à l'aide d'Ajax-chargé partiels dans certains endroits, plutôt que de données JSON. Par exemple, disons que vous avez un typique "EMail de Contact" sur le site; vous voulez charger dans le contexte de la SPA, mais c'est probablement plus facile de le faire en chargement partiel via AJAX. (Bien que certainement, oui; vous pourriez le faire avec un objet JSON décrivant les champs à afficher dans le formulaire e-mail).
Il sera probablement contenu plus "contenu" que des "données", que vous pouvez que vous souhaitez charger via partiels et Ajax.
Un SPA est vraiment un projet intéressant, et je suis sur le point de déployer un moi-même. J'ai utilisé un mélange de JSON et partiels, mais qui peut ne pas être votre propre choix.