12
Analizando el entorno de WebMatrix José María Aguilar

Analizando el entorno de WebMatrix

Embed Size (px)

DESCRIPTION

¿Has oído hablar de WebMatrix pero no sabes de qué va todo ese asunto y por qué puede ser importante para ti? Si eres un programador de ASP clásico, PHP o JSP y necesitas hacer algo para plataforma .NET deberías leerte este artículo en el que nuestro tutor José María Aguilar te presenta WebMatrix, para qué sirve y de qué herramientas dispone.

Citation preview

Page 1: Analizando el entorno de WebMatrix

Analizando el entorno de WebMatrix José María Aguilar

Page 2: Analizando el entorno de WebMatrix

ANALIZANDO EL ENTORNO WEBMATRIX Nivel: Iniciación por José María Aguilar

Microsoft acaba de presentar, inesperadamente, una nueva solución integrada para desarrollo web llamada WebMatrix. Su principal objetivo es facilitar mucho el acceso al desarrollo de aplicaciones Web con tecnologías Microsoft al desarrollador novel o procedente de otras plataformas (ASP 3.0 clásico, PHP…).

WebMatrix es un producto gratuito que se puede descargar desde este enlace. La instalación se realiza en unos minutos. Una vez completado el proceso, no requiere ningún tipo de registro del usuario, ni obtención de claves: simplemente funciona.

¿Y qué vamos a encontrar tras la instalación? En primer lugar, hay que destacar que WebMatrix no es sólo una herramienta de desarrollo; podríamos decir que es un pack que incluye tanto las herramientas como las plataformas necesarias para desarrollar, probar y desplegar aplicaciones para la web: IDE, repositorio de proyectos open source de partida, motor de datos, servidor web, y un nuevo framework de desarrollo sobre ASP.NET. Y todo ello integrado de forma muy elegante.

Veamos con mayor detalle cada uno de estos elementos.

El entorno WebMatrix Una vez instalado el paquete, en nuestro menú de aplicaciones encontraremos un acceso directo a WebMatrix, que actuará como centro de control para el resto de sistemas integrados en el paquete, y también como nuestro entorno de desarrollo.

Page 3: Analizando el entorno de WebMatrix

Una vez iniciado, a la hora de crear proyectos, podemos hacerlo desde cero o hacerlo desde distintos puntos de partida:

Partiendo de plantillas suministradas con WebMatrix, entre las que se encuentran un directorio de enlaces, un catálogo simple de productos o una galería fotográfica, entre otros.

Crearlas partiendo de algún software existente en una galería de software libre, la misma utilizada por Web Platform Installer. Para ello, sin salir del entorno, podremos seleccionar la plataforma deseada, y será descargada e instalada automáticamente. Es destacable que, además de la aplicación elegida, se instalarán también las dependencias requeridas (por ejemplo PHP, o el motor MySQL).

Page 4: Analizando el entorno de WebMatrix

Ya sobre un proyecto abierto, el uso de WebMatrix se estructura en torno a cuatro espacios de trabajo: Site, Files, Databases y Reports, que se describen a continuación:

Site, desde el que se pueden consultar y modificar aspectos generales sobre el proyecto, y acceder a herramientas como el gestor de datos, el generador de informes del sitio web, un visor de peticiones, o aspectos relativos al despliegue. Incluso es posible acceder a ofertas de alojamiento de nuestros sitios Web.

Files, que da acceso a la estructura de carpetas y a los archivos de nuestro proyecto, y desde donde es posible crear, editar y añadir contenidos. En la siguiente captura se muestran algunos tipos propuestos al añadir un nuevo fichero al proyecto:

Como editor de código el entorno se queda bastante corto, y desde luego no tiene nada que ver con cualquiera de las ediciones de Visual Studio. De hecho, salvo el coloreado de código (disponible para HTML, CSS, Javascript, PHP, y ASP.NET), poco tiene que envidiarle el block de notas de toda la vida: nada de ayudas, autocompletado, Intellisense o similares, dado que la orientación de WebMatrix es distinta, bastante más simple en este aspecto, a entornos de desarrollo profesionales. Por tanto, para desarrollar en serio debes pasarte a Visual Studio, incluso en su versión Express, que superarán en mucho a esta herramienta.

Sin embargo, puede ser suficiente para desarrolladores que simplemente deseen retocar aplicaciones basadas en las plantillas suministradas, o software libre, que puede ser descargado directamente desde la herramienta, o usuarios que estén iniciándose en esta tecnología.

Databases, desde donde es posible gestionar las bases de datos utilizadas por el proyecto. En este momento dispone de soporte completo para SQL Server, MySQL y, otra gran novedad en WebMatrix, la nueva edición de SQL Server Compact Edition, que se comentará un poco más adelante.

Page 5: Analizando el entorno de WebMatrix

Reports, una herramienta que nos permite generar informes SEO sobre el sitio Web, capaz de analizar el sitio web de la misma forma que lo hace el toolkit SEO para IIS, para indicarnos errores y aspectos mejorables con vistas a la optimización en buscadores.

Page 6: Analizando el entorno de WebMatrix

IIS Express IIS Express es un intento de mezclar la potencia del servidor Web empresarial de Microsoft, Internet Information Server 7.5, y la facilidad de uso de los servidores de desarrollo que estamos acostumbrados a utilizar desde Visual Studio. Lo mejor de los dos mundos.

Y aquí lo tenemos. Los sitios web abiertos desde WebMatrix son ejecutables directamente a través de este servidor, que se iniciará al abrir el proyecto y quedará minimizado en el área de notificaciones de Windows:

Desde este icono podemos consultar las aplicaciones actualmente en funcionamiento en el servidor, consultar información básica sobre ellas, como la ruta desde la que se está sirviendo, resetearlas, y algunas cosas más.

El comportamiento de las aplicaciones sobre IIS Express es idéntico a como sería en los servidores de producción con el correspondiente IIS 7.5, puesto que internamente se utiliza el mismo motor, evitándonos así la necesidad de contar con permisos de administrador, tener el servicio corriendo continuamente, o el engorro de configurar cada aplicación (permisos, pool de aplicaciones, etc.).

Desde el entorno de WebMatrix también podemos iniciar, parar, o resetear el servidor Web, así como, y esto es un detalle de lo más interesante, consultar en tiempo real las peticiones que se están produciendo a nuestra aplicación, muy útil en depuración:

Page 7: Analizando el entorno de WebMatrix

SQL Server Compact Edition 4 Otra de las grandes novedades introducidas en WebMatrix fue también presentada hace unos días por el mismo Scott Guthrie: SQL Server Compact Edition (SQL CE), una versión reducida del motor de bases de datos de Microsoft diseñada para funcionar en el interior de aplicaciones ASP.NET.

SQL CE es un motor ideado para ser la forma más fácil de incluir bases de datos en aplicaciones, eliminando los altos requisitos asociados a ello: es gratuito, y no requiere ningún servicio en el servidor, lo cual reduce los costes finales de alojamiento.

¿Y cómo es posible esto? Pues en primer lugar, haciendo que el motor sea basado en archivo; para mover datos entre un sitio y otro bastará con copiar el fichero de datos, como si se tratara de un Access. Asimismo, el motor se distribuye con la aplicación, y se ejecuta en memoria junto con ésta. De hecho, para desplegar un proyecto que use esta solución como repositorio de datos bastará con copiar unas DLLs en el directorio de binarios de la aplicación, y lo tendremos todo listo.

Como consecuencia, nada que instalar en servidor, ni se requieren privilegios especiales para ejecutarlo.

En lo que respecta a la programación es compatible con las API de acceso a datos de .NET, lo que quiere decir que no debemos encontrar problemas para utilizar tecnologías de mayor nivel como Entity Framework u otros ORMs. Sus únicas limitaciones vienen dadas por el tamaño de fichero máximo admitido (en estos momentos 4GB, aunque se prevé subir esta cifra) y por la ausencia de determinadas características como los procedimientos almacenados, o triggers, entre otros.

Y aunque está claro que el rendimiento no será comparable al de otras ediciones de SQL Server, y que no podrá aguantar una gran carga de usuarios, es posible actualizarla a SQL Server Express (también gratuito), a SQL Server o incluso a SQL Azure sin tocar una línea de código. De hecho, desde el propio entorno de WebMatrix se dispone de herramientas para realizar la migración:

Page 8: Analizando el entorno de WebMatrix

En WebMatrix existe una integración total con este nuevo motor de datos. Sin salir del entorno es posible agregar bases de datos al proyecto, editar su estructura, acceder a los datos, o manipular su diseño y propiedades:

Esta base de datos embebida es realmente interesante para la mayor parte de las aplicaciones que se pueden hacer en una PYME y, sin embargo, es una gran desconocida. Si tienes interés en aprender más sobre SQL Server Compact no te olvides de que en Krasis Press tenemos el libro más completo del mercado.

Page 9: Analizando el entorno de WebMatrix

ASP.NET Web Pages & Razor ASP.NET Web Pages es un nuevo framework de desarrollo, presentado con WebMatrix, destinado a la creación de aplicaciones sencillas para la Web. Y con “framework nuevo”, me refiero a eso precisamente… es diferente a WebForms, y también diferente a ASP.NET MVC 2.

No soporta controles de servidor

No mantiene el estado de la vista (ViewState)

No hay eventos

No hay code-behind

No hay separación de capas arquitectural, como en MVC

No hay convenciones de nombrado o localización

No hay tabla de rutas...

Lo único que hay es la página, como en los viejos tiempos.

De hecho, al echarle un vistazo, no se puede evitar la sensación de estar ante algo con cierto aire retro, muy parecido a la programación con ASP clásico (sin .NET), PHP, JSP u otros lenguajes basados en el concepto de “todo está en la página”, aunque, eso sí, apoyado en el framework .NET, con las ventajas que ello conlleva.

ASP.NET Web Pages Dispone de un API propio, con un gran número de funciones y helpers, algunos de ellos muy potentes, para facilitarnos el desarrollo. Por citar sólo algunos ejemplos, tendremos acceso a funcionalidades de alto nivel de Twitter o Facebook, inclusión directa de vídeos, validaciones con ReCaptcha, o manipulación de imágenes, utilizando helpers dentro de la propia página.

Page 10: Analizando el entorno de WebMatrix

Por defecto utiliza el motor de vistas Razor, uno de los previsibles grandes cambios del próximo ASP.NET MVC 3, donde también será el ViewEngine por defecto.

Razor está diseñado para integrarse de forma más natural en el código de las páginas, siendo más conciso y expresivo que el motor utilizado hasta ahora. Pero sin duda, lo más destacable de este motor de vistas es que cambia la forma en la que incluimos código en el interior del marcado de una página: los clásicos bloques <% … %> que usamos desde hace muchos años y que contribuyen a dificultar la lectura son sustituidos por una nueva estructura, que se apoya en un parser mucho más inteligente y sensible al contexto, y que nos permite introducir código como el siguiente:

Estas dos tecnologías, ASP.NET Web Pages y Razor, aunque pueda parecer lo contrario, son totalmente independientes entre sí, aunque se combinen por defecto en WebMatrix. De hecho, existirán otros motores de vistas para Web Pages, y Razor podrá ser utilizado en otros contextos, como el framework MVC.

Destaca también el hecho de que Razor ni siquiera depende del contexto Web para funcionar, lo que deja la puerta abierta a su inclusión en otros tipos de aplicaciones, o incluso a la realización de pruebas unitarias sobre la vista.

Conclusiones El concepto WebMatrix, como suma de plataformas y herramientas que ofrecen una vía rápida para la creación o personalización de aplicaciones, sobre todo si están basadas en paquetes existentes como software libre, me parece muy interesante.

Como entorno de codificación es obvio que se queda muy corto. Pero claro, tampoco habría tenido sentido para Microsoft crear un nuevo IDE, ya que dispone de Visual Studio y su magnífica versión Express, que también es gratuita. Como comentaba anteriormente, este entorno sirve para los casos en los que también te podría valer el Bloc de Notas, poco más o menos.

Sin embargo, sí me ha parecido muy correcta la integración en el entorno de las herramientas de gestión de bases de datos, el servidor web integrado, el sistema de despliegue y el analizador SEO, así como la pasmosa facilidad de instalación y uso del conjunto. Realmente, en sólo unos minutos puedes descargar un software Open Source, probarlo en local y subirlo a tu ISP, casi sin conocer lo que hay por detrás.

Para programadores noveles o ajenos a tecnologías de Microsoft es una vía interesante para acceder a ella, aunque sea a través de un camino que no existía hasta ahora, y con un destino

Page 11: Analizando el entorno de WebMatrix

distinto a los conocidos hasta el momento, y que tendrá que demostrar su validez en la práctica. Lo que es seguro es que la sencillez de la propuesta hará que la curva de aprendizaje sea relativamente suave.

También lo considero interesante para los que ya llevamos algunos años en esto, pues materializa la posibilidad de dar un vistazo a varias novedades de calado que ya se venían comentando desde hace algún tiempo, como Razor, IIS Express, o SQL CE, y que seguro que entrarán en breve a formar parte de nuestras herramientas de uso habitual.

Respecto a ASP.NET Web Pages, en cierto sentido puede entenderse como un paso atrás… siempre que estés delante, claro ;-). Hay muchos desarrolladores que todavía luchan a diario con ASP clásico o cualquier otra plataforma de las mismas características, a los que saltar a esta tecnología seguro que costará menos trabajo que pasar a Webforms, pues las diferencias son mucho menores.

Enlaces de interés

Scott Guthrie: o Introducing WebMatrix o New Embedded Database Support with ASP.NET o Introducing IIS Express o Introducing “Razor” – a new view engine for ASP.NET

Scott Hanselman: Microsoft WebMatrix in Context and Deploying Your First Site David Ebbo: How WebMatrix, Razor, ASP.NET Web Pages and MVC fit together ASP.NET Web Pages API Quick Reference WebMatrix Home WebMatrix Beta Tutorials Download WebMatrix Sql Server Compact 2008 SP1 Referencia Completa

Acerca del autor José María Aguilar es ingeniero informático y lleva más de quince años trabajando en el mundo del desarrollo de software, principalmente con tecnologías Microsoft. Ha trabajado como programador, analista, responsable de informática en el sector de la consultoría estratégica, y director técnico de una empresa de desarrollo. Escribe regularmente artículos sobre ASP.NET MVC y otros temas relacionados con el desarrollo de software en su blog, www.variablenotfound.com.

Acerca de campusMVP CampusMVP te ofrece la mejor formación en tecnología Microsoft a través de nuestros cursos online y nuestros libros especializados, impartidos y escritos por conocidos MVP de Microsoft. Visita nuestra página y prueba nuestros cursos y libros gratuitamente. www-campusmvp.com

Reconocimiento - NoComercial - CompartirIgual (by-nc-sa): No se permite un uso comercial de este documento ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula esta obra original. Se debe citar la fuente.

Page 12: Analizando el entorno de WebMatrix