2008-09-02 24 views
7

Puede alguien (tal vez un XSL-fan?) Me ayude a encontrar ninguna ventaja con el manejo de la presentación de los datos en una página web con XSL sobre ASP.NET MVC?ASP.NET MVC vs XSL

Las dos alternativas son:

  1. ASP.NET (MVC/WebForms) con XSL
    obtener los datos de la base de datos y su transformación a XML que se muestra a continuación, en las diferentes páginas con XSL-templates.

  2. ASP.NET MVC
    Obtención de los datos de la base de datos como objetos de C# (o LinqToSql/EF-objetos) y mostrarla con línea de código en MVC-páginas.

El principal beneficio de XSL ha sido la visualización consistente de datos en muchas páginas diferentes, como WebControls. Entonces, corríjanme si me equivoco, ASP.NET MVC se puede usar de la misma manera, pero con objetos muy tipados. Ayúdenme a ver si hay algún beneficio para XSL.

Respuesta

7

puedo ver la ventaja principal de emplear XSLT para transformar los datos y mostrarlo al usuario sería el siguiente:

  • los datos ya están en un formato XML
  • los datos siguen un pozo esquema definido (esto hace que usar herramientas como XMLSpy sea mucho más fácil).
  • Los datos deben transformarse en varios formatos de salida diferentes, p. PDF, WMP y HTML

Si este es el único resultado para sus datos, y no está en formato XML, entonces XSLT podría no ser la mejor solución.

Del mismo modo, si se requiere la interacción del usuario (por ejemplo, la edición de los datos), entonces el resultado final será el empleo de código de programa de fondo de todas formas para manejar las actualizaciones de modo podría resultar una tecnología demasiado ...

0

Si sólo va a mostrar los datos de plantillas XSL DB puede ser una solución conveniente, pero si vas a la interacción del usuario mango. Hm ... No creo que sea mantenible en absoluto.

6

Siempre he encontrado dos problemas principales cuando se trabaja con transformaciones XML:

En primer lugar tienden a ser bastante lento, todo el archivo XML debe ser analizada y validada antes de poder hacer nada con ella. Siendo XML también es excesivamente detallado, y por lo tanto más grande de lo que necesita ser.

En segundo lugar, la forma en que las transformaciones funcionan es un poco difícil de codificar: herramientas personalizadas como la ayuda de XmlSpy, pero sigue siendo un modelo diferente al que la mayoría de los desarrolladores están acostumbrados.

Por el momento, MVC es muy rápido y prometedor, pero sufre la tradicional alteración del desarrollo web de <% y %> picaduras de abejas en todo su código. Usar transformaciones XML lo evita, pero es mucho más difícil de leer y mantener.

+0

Con el advenimiento de los motores de vista alternativos, como la maquinilla de afeitar, las picaduras de abeja ahora dañasen menos. –

+3

@RobertHarvey - Razor es genial, la sintaxis '@' es mejor que '<%' (al menos para declaraciones simples) pero sigue teniendo el problema fundamental de cambiar entre salida y código. Eso sí, esta es una respuesta de 3 años y medio. En aquel entonces MVC era 'prometedor', ahora creo que estarías loco si utilizas las transformaciones XML. – Keith

4

he utilizado esa técnica en el pasado, y hay aplicaciones en las que utilizamos que en mi actual lugar de trabajo. (Lo admitiré, no soy totalmente fanático, pero jugaré a ser el abogado del diablo). De verdad, ese es uno de los principales beneficios, y empujar esta idea puede ser un poco limpio. Puede crear dinámicamente el xsl sobre la marcha y cambiar el aspecto de la página por capricho. ¿Es posible hacer esto a través de los otros métodos? Sí, pero es muy fácil crear un programa para modificar un documento xml/xsl sobre la marcha.

Si piensas en usar XSL para transformar un documento xml en otro y mostrarlo como html (que es lo que realmente estás haciendo), estás abriendo tu sistema para permitir que otros programas accedan a los datos en el página a través de XML. Puede hacerlo a través de los otros métodos, pero al usar una transformación xsl se fuerza a generar xml cada vez.

Me gustaría ir con cuidado con la creación de un sistema de esta manera. Encontrarás muchas caídas de pozo que no estás esperando, y si no conoces muy bien a xsl, también habrá una curva de aprendizaje.

1

Jafar Husain ofrece una pocas ventajas en su proposal for Pretty XSL, principalmente el almacenamiento en caché de la hoja de estilo para aumentar la carga de la página y reducir el tamaño de sus datos. Steve Sanderson propuso un enfoque ligeramente diferente usando JavaScript como el controlador here.

Otro enfoque similar sería usar XForms, aunque el mejor soporte es a través de JavaScript library.

1

mira esto si desea utilizar XSLT y ASP.MVC

http://www.bleevo.com/2009/06/aspnet-mvc-xslt-iviewengine/

+0

Bueno, no quiero realmente. Solo quería algunas opiniones sobre por qué alguien querría usarlo. –

+0

Bueno, la única razón por la que puedo pensar en usarlo para separar los datos y la presentación es en los sitios web de tráfico super alto que estaban ahorrando 10-20% hace una diferencia significativa. – bleevo

Cuestiones relacionadas