Qué MVVM framework usar?

“One thing is sure : MVVM is not an option, it’s the only way to create clean apps that can be tested. “

Olivier Dahan (MVP C# 2009, MVP Client App Dev 2010)

 

Bueno, ya tenía claro que me pasaba a Silverlight y a MVVM, y decía adiós al “viejo” WinForms. Es la hora de TDD, DI…. y aún pareciendo atrevido, ejecutar mi aplicación en Azure.

Ahora tengo una duda, que en realidad son dos: ¿uso algún framework que me ayude? y en ese caso, ¿cuál será el que más se ajusta a mis necesidades?

¿Pero como no voy a usar un framework que me facilite la vida? ¿a caso voy a programar a pelo el grid, el schedule o el calendar? Nada, usaré el framework.

¿Y ahora qué? MVVM Light Toolkit, Prism, Caliburn, Siverlight FX, nRoute… ¿cúal?

La cosa queda entre los dos primeros…y por lo que leo, mejor Light Toolkit, más sencillo para ser productivo en poco tiempo, especial para los novatos (como yo). Prism es un tocho, eso sí, será muy bueno.

Pues nada Lauren (que es el nen que ha hecho este framework y que además tiene un book en Amazon, ah! y puedes verle en acción en channel 9), voy a probar con esto.

Y aquí no acaba todo, en cuanto tenga esto claro y en una próxima entrada comentaré: “Use Unity, MEF, and the MVVM Light Toolkit to write more maintainable, extensible software.” (en pocas palabras, me va a tocar comprar el librito de Lauren…)

Fiddler

Otra herramienta para debug y esta vez gratuita.

Lo podemos definir como un HTTP Debugging Proxy… en castellano? bueno, podrás ver (entre otras cosas) todo lo que pasa por tu navegador.

mi aplicación Silverlight se queda siempre iniciando y no pasa del “bussy indicator”…

No arranca!! no se muestra error… ¿qué falla? ¿qué hago? Me falla tanto en mi pc como en Azure… pero si no sé qué falla… no puedo arreglar el error.. ¡¡socorrooooo!!

Bueno, no te preocupes, hay solución: Silverlight Spy (http://firstfloorsoftware.com/silverlightspy/download-silverlight-spy/)

En su día fue gratuita, ahora de pago, pero de momento y hasta que MS mejore su herramienta de “debug” o compre a esta compañía, la necesitaremos para entre otras cosas, ver dónde estamos fallando.

¡Muy recomendable! (o imprescindible) Sorpresa

Could not load type ‘System.ServiceModel.Activation.HttpModule’ from assembly ‘System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’

En mi VM instalé primero el framework 4 y luego instalé el IIS. En fin, que el IIS no se ha enterado de que ha de usar el ASP.NET de esta versión, así que hay que decírselo.

Vete al directorio del f4 y en una ventana cmd (con derechos de admin) ponle aspnet_regiis.exe –iru

Arreglado!

System.ServiceModel.CommunicationObjectFaultedException was unhandled Message: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.

Si instalas IIS o ya lo tenías instalado, asegúrate de revisar su configuración después de instalar el Azure SDK 1.3. Puedes mirar en http://msdn.microsoft.com/en-us/library/gg465715.aspx#IIS y http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7a1089b6-4050-4307-86c4-9dadaa5ed018

Y sobre todo “Enable IIS7 with ASP.NET and WCF HTTP Activation, Static Content, IIS Management Console, and optionally CGI.”

WMware Player

Me decidí. Tras años de oír hablar de las máquinas virtuales, me he decidido a instalar la mía. También es verdad que ahora las tenemos hasta en la sopa, así que el que no la pruebe, no está “cool”.

Qué cosa tan sencilla y totalmente recomendable. Una VM para cada entorno de desarrollo, sin mezclar tecnologías que pueden chocar y manteniendo la máquina más limpita. Y muuuchas más ventajas….((los problemas ya irán surgiendo..como siempre…))

Solo un problema: mucha RAM y disco duro.

Ahora sí que me tengo que actualizar el hard…. Guiño