En esta primera entrevista, platicamos con Braulio Diez, Silverlight MVP de Málaga, España.
(LLS) Hola Braulio, gracias por tu tiempo
(BD) Gracias a vosotros, un honor que hayáis contactado conmigo.
(LLS) Por favor cuéntanos acerca de ti
(BD) Soy un profesional Freelance, especializado en el área de desarrollo web, y este es mi tercer año como MVP en Silverlight.
(LLS) Por favor cuéntanos acerca del último proyecto en el que estuviste involucrado
(BD) Como buen Freelance me toca estar involucrado en varias iniciativas en paralelo, … digamos que así no tengo tiempo de “aburrirme”, lo que más me ha gustado:
- SilverDiagram un motor de diagramas que nos permite implementar de forma fácil diversos tipos de aplicaciones: en breve publicaremos el código fuente de este editor de diagramas de redes (http://silverdiagram.net/Scripts/SD.Editor.html), y también estamos preparando la puesta en producción de un editor que permite definir accidentes de trafico.
- Master RIATec (http://riatec.lcc.uma.es/) : Soy unos de los organizadores y docente de esta maestria, ésta está centrado en ingeniería web y tecnologías RIA (Silverlight, HTLM5, ASP .net MVC, JQuery, RIA Services..), y tiene una combinación de profesores de la universidad y MVP’s de Microsoft.
- Estoy terminado un libro sobre desarrollo de aplicaciones de gestión con Silverlight 5, en inglés lo publico con Packt Publishing (http://www.packtpub.com/expert-line-of-business-application-development-for-silverlight-5/book), y en español con netalia (DNM+, http://www.dotnetmania.com/)
(LLS) ¿Qué aconsejarías a una empresa que está tomando la decisión entre Windows Forms, WPF y Silverlight?
(BD) Yo les haría una serie de preguntas:
- ¿Qué tecnologías de desarrollo conoce su equipo?
- Si su equipo sólo conoce WinForms, el salto a WPF y Silverlight requiere formación, esto hace que podamos aprovechar toda la potencia de esta tecnología (si no acabamos utilizándolo como si fuera WinForms, lo que llamamos algunos desarrolladores… Silverlight en Modo VB 6.0).
- ¿Qué tipo de aplicación quieren realizar?
- Si es una aplicación de gestión (como dicen los ingleses LOB), Silverlight y WPF incorporan un montón de mejoras que hacen que sea la plataforma ideal.
- Si es una aplicación compleja (por ejemplo algo tipo Visual Studio o tipo Photoshop), habría que pensar utilizar WPF y aprovechar toda la potencia nativa.
- ¿Quieren que su aplicación sea robusta y fácilmente mantenible?
- En este aspecto merece la pena invertir en Silverlight o WPF e implementar el patrón MVVM + IOC, una combinación muy buena de librerías para esto: MVVM Light Toolkit + MEF.
- ¿Quieren ahorrarse problemas de instalación y versionado?
- Cuando hacemos un desarrollo desktop con WinForms y WPF todos hemos sufrido algún problema con nuestros clientes: no siempre todos los desktop tienen la última versión de nuestro software, en algunas máquinas hay conflictos a la hora de instalar… con Silverlight no necesitamos realizar este tipo de instalaciones, el usuario siempre trabajo con la última versión de la aplicación y no hay problemas con DLL’s o versión de .net framework que estén instalados en la máquina cliente.
- ¿Quieren disfrutar de una experiencia Mixta Web y Desktop?
- Silverlight permite ejecutar nuestra aplicación integrada en nuestro navegador web, o también instalarla como si fuera una aplicación desktop (OOB), que además nos ofrece:
- Chequear actualizaciones y tener siempre la última versión de la aplicación descargada.
- Poder tener aplicaciones desktop trusted que permiten acceder a operaciones especiales (ej acceder al sistema de ficheros del ordenador, o realizar llamadas COM o a DLL’s no manejadas vía p/invoke).
- ¿ Quieren tener control de seguridad?
- Las aplicaciones Silverlight corren dentro de un SandBox, esto es un entorno limitado que evita que una aplicación maliciosa (o por accidente) pudiera borrar ficheros o acceder a información confidencial de su disco duro sin su permiso.
- Si necesita salir del SandBox tenemos la opción de implementar aplicaciones “trusted”, estás aplicaciones sólo se ejecutan con el permiso expreso del usuario.
Windows 8 trae dos sabores el de Metro, y el clásico (tipo Win 7), para las aplicaciones desktop que utilicemos para el trabajo tiene pinta que el interfaz que va a predominar es el desktop.
(LLS) ¿Qué impacto crees que tengan las aplicaciones Metro con respecto a las aplicaciones de escritorio actuales?
(BD) Buena pregunta, aquí debemos siempre leer entre líneas: Microsoft tiene previsto sacar un nuevo Sistema Operativo en el que la principal novedad es un interfaz táctil muy visual, debemos tener en cuenta:
- El principal target de Metro son las tablets, habrá que ver si este interfaz tiene éxito en ordenadores de sobremesa o laptops ¿ Conseguirán que nos compremos pantallas táctiles?.
- Las aplicaciones metro en un principio sólo se podrán vender via Market Place (algo parecido a lo que pasa con WP7). Se espera que con el tiempo se puedan incorporar otro tipo de desarrollo que no sea el orientado a “consumer market”.
- Windows 8 trae dos sabores el de Metro, y el clásico (tipo Win 7), para las aplicaciones desktop que utilicemos para el trabajo tiene pinta que el interfaz que va a predominar es el desktop.
- Metro está en un estado muy prematuro, hace unas semanas se hablaba de que el browser de metro no iba a soportar ningún tipo de plugin (http://blogs.msdn.com/b/b8/archive/2011/09/14/metro-style-browsing-and-plug-in-free-html5.aspx), para después mostrar una demo en la que se puede ver el plugin de flash corriendo en una Tablet (http://channel9.msdn.com/posts/Windows-8-Running-on-ARM).
- Tambíen en Metro podemos desarrollar aplicaciones nativas con XAML y .net con soporte a WinRT, esto hace que nuestro conocimientos en Silverlight / WPF podamos reaprovecharlos también para implementar aplicaciones Metro.
(LLS) ¿Qué aconsejarías a un desarrollador que está comenzando en el mundo de desarrollo de Silverlight?
(BD) Que se baje la versión 5 del producto, se compre un buen libro, chequee los videos y tutoriales de La Liga de Silverlight y empezará a divertirse con esta tecnología, muy importante: primero centrarse en aprender lo básico, después emplear tiempo en aprender a implementar el patrón MVVM.
Otro consejo es que especialice su carrera en dos tecnologías, por ejemplo Silverlight y ASP .net MVC / HTML 5 ¿ Por qué? Siempre es bueno ver que ofrece cada una, tener argumentos, y ver donde aplicar la mejor para cada caso, por ejemplo para realizar una aplicación de gestión o web, con Silverlight podemos hacer algo en poco tiempo y con muy buen nivel de calidad y usabilidad, sin embargo si queremos implementar un portal web o una aplicación web que corra entre otros dispotivos en iPhone, HTML5 es la opción a elegir.
Es impresionante constatar la evolución que tiene el área de desarrollo en América Latina, tenéis grupos y comunidades muy fuertes
(LLS) ¿Cuál es el impacto que tú percibes con respecto al desarrollo de software en América Latina?
(BD) Es impresionante constatar la evolución que tiene el área de desarrollo en América Latina, tenéis grupos y comunidades muy fuertes (cómo La Liga de Silverlight), empresas de profesionales muy especializados como Nektra, y también capacidad para albergar grandes factorías de Software.
A largo plazo creo que el mejor camino a seguir es la especialización. En mi caso he tenido la suerte de trabajar con excelentes profesionales de allá, y tengo buenos clientes de nuestro motor de diagramas.
(LLS) ¿Algún último consejo para nuestros lectores hispanoparlantes?
(BD) Sí, que piensen bien a que se quieren dedicar, que elijan una tecnología en la que se diviertan y se sientan a gusto… en nuestro trabajo se tienen que dedicar demasiadas horas como para encima estar haciendo algo en lo que uno no se siente realizado.