Je travaille sur un projet où un autre développeur a développé une UI en tant que solution de type client autonome à l'aide du cadre Ember.js. P>
On m'a demandé de déplacer ce travail sur un projet ASP.NET MVC3. P>
Problème est, Ember.js utilise des accolades et des doubles bretelles dans la syntaxe, ce qui semble interférer avec le moteur de rasoir utilisé par MVC3. P>
Ai-je raison de penser que les 2 technologies (ASP MVC3 et Ember.JS) ne peuvent pas travailler ensemble? P>
4 Réponses :
Vous devriez pouvoir utiliser les blocs détaillés dans http://weblogs.asp.net/scotgu/archive/2010/12/15/asp-net-mvc-3-razor-s- et-lt-text-gt-syntax.aspx pour envelopper vos modèles Ember afin qu'ils soient disponibles correctement. p>
Cela dit que vous ne remplissez pas vraiment les exigences de vos clients en faisant cela. Un développeur ASP.NET MVC normal devra toujours apprendre Ember.js pour travailler avec cette base de code. Ce que vous devriez vraiment faire, c'est la réécrire d'utiliser des concepts ASP.NET MVC, comme la création de pages à partir de modèles, de vues partielles, etc. P>
Pas vraiment. Vous ne pouvez pas réécrire le même comportement avec ASP.NET MVC car il s'agit d'un cadre côté serveur que, seulement reçoit uniquement des demandes HTTP comme entrée. Ember.js D'autre part est un cadre côté client qui reçoit des événements de navigateur et peut ainsi réagir plus sophistiqué pour l'interaction des utilisateurs. Pour une belle comparaison entre le côté client et le côté serveur MVC, voir: lien
Il y a des raisons d'utiliser ASP.NET MVC et des raisons d'utiliser Ember. Écrire des choses "Utilisation de concepts ASP.NET MVC" peut ne pas être ce que son client veut. Juste parce qu'ils sont tenus d'utiliser ASP.NET MVC lorsque la technologie côté serveur ne signifie pas qu'il ne peut plus tirer parti d'un cadre côté client et à utiliser Ember n'empêche pas nécessairement «l'exécution des exigences du client».
Cependant, si vous obtenez Par exemple, JQuery utilise $ signe comme alias, qui peut être remplacé. Regardez ces références - Remplacer "$" (signe dollar) avec "jQuery" p>
Cependant, si cela ne fonctionne pas, vous pouvez probablement retenir votre moteur de vue. P>
Une approche comporterait les modèles de guidon dans un fichier de ressource (RESX) et les ajoutez à Ember dans une fonction anonyme similaire à celle-ci: Cela devrait se produire avant < / em> Vous appelez la méthode Le fichier de ressources est également une bonne idée lorsque vous avez une assistance multilingue p> p> initialisée de votre application p>
Pour prendre en charge des modèles précompilés sur le côté serveur, je vous recommande d'utiliser la bibliothèque CSharp-Ember-Hardsbars (Installer via Nuget) afin de ne pas avoir de conflit avec Razor, Haml, ASPX ou tout moteur de vue. Voici le projet de GitHub Github.com/myslik/cshaparp-ember-handlebars avec un Exemple de tempalte de l'API Web (WIP)
Je travaille sur ASP.NET MVC 4 Application qui utilise fortement Ember et n'a aucun problème.
Le cas avec double bretelles a une solution de contournement très facile: il suffit d'utiliser @: code>. Tout après
@: code> est interprété comme texte brut. Donc, ce marquage de rasoir avec expression de guidon sera valide:
<ul>
@if (Model.SomeCondition)
{
@:{{#each product in products}}
<li>{{product.name}}</li>
@:{{/each}}
}
</ul>
Pourquoi avez-vous été invité à le déplacer dans ASP.NET MVC? Y a-t-il un problème avec l'application comme il existe aujourd'hui?
C'est une exigence du client. Ils sont une entreprise utilisant principalement .NET / .NET MVC. L'interface utilisateur a été faite par un développeur avec un fond principalement PHP.
+1 pour contrer le -1 donné sans commentaire.