jueves, 25 de noviembre de 2010

Cursos de Delphi y Silverlight para diciembre 2010

Acabamos de publicar la oferta de cursos de Delphi y Microsoft Silverlight para este mes de diciembre 2010 en MetaCode.

Pueden consultarlo en el sitio de MetaCode en http://metacode.mx/es/cursos-diciembre-2010.

Los cursos son virtuales, lo que permite que el horario sea mas adaptable y no tengan que invertir en viáticos para participar, así estaremos como instructores y haremos como siempre, cursos prácticos y personalizados.

Se trata de una ronda que incluye el curso principal de Delphi además de varios módulos como Programación Orientada a Objetos, DataSnap, reportes con FastReports (desde mi punto de vista, la mejor opción en reportes en Delphi), y un mini-modulo de 4 horas enfocado en cuestiones relativamente recientes del lenguaje en Delphi, como son Genéricos y Métodos Anónimos.

Por el lado de Microsoft Silverlight, se ofrece el curso de Fundamentos y Aplicaciones Silverlight, que es el curso introductorio a la tecnología. Aunque es el curso básico, es necesario tener fundamentos de C# y en general de .Net

Esperamos que la selección sea de su agrado, son los que mas nos han pedido últimamente, y forman un paquete integral, mezcla de temas intermedios y especializados en Delphi.

En el caso de Silverlight estamos proyectando programar la capacitación avanzada para Enero del próximo año.

Si requieren información pueden contactar un agente en el correo “capacitacion” de metacode.mx  o solicitar información en la pagina.

miércoles, 17 de noviembre de 2010

Nuevas luces en la blogosfera

Haciendo una pequeña pausa en la serie de artículos sobre control de versiones:

Un par de excelentes consultores y amigos, ambos con ideas de la nueva generación de Tecnologías de Información, tienen ya su espacio de expresión en el web.

Estoy seguro que serán una fuente de información invaluable y una referencia en lo que respecta a sus campos de acción. Sobre todo contribuir a guiar el camino de nuestra industria mexicana de sistemas.

El primero es mas bien un regreso. Se trata de Norberto Martínez, reconocido desde hace años en la comunidad Delphi, que ahora dirige el blog oficial de MetaCode. Tiene grandes ideas para el blog y estará contribuyendo con su experiencia en Delphi, Firebird, Python, control de versiones y muchas tecnologías de apoyo con su visión invaluable y pragmática. El blog se encuentra en http://metacode.mx/blog

Y el siguiente es una grata sorpresa para su servidor. SourceCode, un profesional que también admiro mucho como persona y como consultor de TI, y que contribuye en su blog en otra faceta en la que tiene mucho que aportar: como gerente corporativo de sistemas.

El blog de SourceCode se puede encontrar en http://elparadigmasiguiente.blogspot.com. El tiene experiencia y opinión valiosa en una cantidad de cosas, desde programación Delphi, infraestructura de sistemas, matemáticas, liderazgo y administración, gadgets y tecnología en general, hasta cosas como OpenSim. Veremos que sorpresas nos da.

lunes, 15 de noviembre de 2010

La evolución del control de versiones, segunda parte: Distribuido vs. Centralizado.

(ver Parte 1)
Estoy escribiendo una serie de artículos sobre los nuevos Sistemas de Control de Versiones (SCV), que buscan (y tiene éxito en) ser mejores soluciones que lo que Subversion hace ya de por si muy bien.

Distribuido contra Centralizado

Esta es la principal diferencia entre la anterior generación y la nueva generación de SCVs.

En un SCV centralizado (como Subversion, Perforce, etc.), un proyecto vive en un repositorio y cada desarrollador obtiene una copia de trabajo del repositorio. Sobre sus copias de trabajo el desarrollador hará cambios, los subirá de vuelta al repositorio central y actualizara constantemente.

En un SCV distribuido (como Mercurial, Git, Bazaar, etc.), cada desarrollador tiene un repositorio y obtiene su copia de trabajo de ahí. Puede estar interactuando cuanto quiera con su repositorio, subiendo cambios. Cuando quiera puede empujar los cambios en su repositorio hacia otro repositorio, que puede o no ser un repositorio central, el repositorio del proyecto de otro desarrollador, etc.

Ventajas del sistema distribuido

Puede parecer mas complejo pero en realidad es una gran idea el distribuir así el proyecto. Las razones son técnicas y sociales.

Técnicamente, es mas fácil llevar el trabajo y mantenerlo actualizado en mi propio repositorio y cuando sea necesario lo empujo hacia el repositorio compartido. También es posible mezclar mis cambios con los de un colega primero, verificar que funciona todo y después empujarlos todos hacia un repositorio compartido.

Socialmente, los desarrolladores tendrán mas confianza en estar subiendo de forma continua sus cambios a su repositorio personal sabiendo que, si su código tiene problemas aun, no se los pasaran a nadie mas.

Técnicamente además, al subir a nuestro propio repositorio continuamente nuestros cambios, cuando es hora de mezclar nuestro código con otros desarrolladores todo funciona como esperamos: un sistema distribuido tiene mas información y es mas eficiente al saber como mezclar el código, que cambio quien y a que hora. Mucho mas eficiente que Subversion por lo menos.

En el siguiente articulo comenzare a hablar de cada uno de los sistemas, empezando con Mercurial.

viernes, 12 de noviembre de 2010

La evolución del control de versiones, primera parte.


Repito una vez mas, sin cansarme: quien no usa control de versiones es como quien no usa cinturón de seguridad, no compra seguro del auto, no trae llanta de refacción y habla por el celular mientras conduce: podrá llegar muchas veces a su destino pero no significa que no esta arriesgando mucho en el camino, aun cuando vaya solo.


Y eso que los sistemas de control de versiones existen desde hace tanto y han evolucionado increíblemente.
En el principio existió CVS: no manejaba muy bien los archivos binarios, pero la idea de que pueda bajar mi código como lo tenia ayer o hace un año, comparar las diferencias y además de tenerlo respaldado todo el tiempo, todo con unos sencillos comandos es innegablemente excelente.

Subversion fue el sistema que sustituyo a CVS, y que hace ver a su ancestro como juguete de bebés. Resuelve el problema de los binarios y hace que colaborar sea muy sencillo, y aun mas con un cliente como TortoiseSVN. Integra la idea de crear ramas de desarrollo que luego se pueden “remezclar” en el código principal, o marcar revisiones, corregir bugs sobre versiones viejas y luego integrar esa corrección en el desarrollo principal, etc.

Como todo, Subversion ahora no es suficiente. Hay nuevas necesidades en el desarrollo cada vez mas distribuido y hay pequeños y grandes detalles de Subversion que podrían ser mejores a la hora de colaborar.

Aquí es donde entran los nuevos reyes del control de versiones: Mercurial, Git y Bazaar.

Norberto Martínez y su servidor tenemos nuestras apuestas con Git y Mercurial, y hemos estado comparándolos, especialmente Norberto se dio a la tarea de investigar lo que ambos tienen que ofrecer en el web. Voy a escribir sobre ellos en los siguientes posts para que cada quien tome el camino que mas le lata.

jueves, 4 de noviembre de 2010

Silverlight es todo, menos zombie

Silverlight es una tecnología increíble, tal vez la mejor que Microsoft ha dado a luz. Solo espero que siga con su estrategia multiplataforma.

En la reciente convención PDC, la mas grande conferencia de desarrolladores de tecnologías Microsoft del año, se dio enfoque a que la compañía pondría muchos de sus huevos en la canasta de HTML 5 con su nuevo Internet Explorer 9.

Como mucha gente percibe a HTML 5 como una tecnología que podría cubrir las necesidades que Silverlight nació para solucionar, muchos reporteros amarillistas que viven de hacer escándalos (hasta en nuestro medio sucede eso, es increíble) comenzaron a sugerir cosas estilo “Silverlight esta muerto” y “Microsoft abandona a Silverlight por HTML 5”, y otros encabezados mas llamativos para que los lean mas y vender mas.

Por supuesto esas noticias se va corriendo como pólvora, incluso Marco Cantú ya lo menciono en su blog.

Con todo el respeto que me merece Marco y su forma muy sensata de exponer las ideas, quien crea que algo tan útil y redituable para todos (empezando por Microsoft) como Silverlight “morirá” no pueden estar mas equivocados.

La historia lo dice todo: Microsoft deja lo que no pega, o si inventa (copia) una tecnología nueva que le va a redituar mas. Pero el caso es muy diferente:

  • Silverlight es propietario y multiplataforma, mientras que HTML es un estándar con el que es mas difícil competir. Todos los navegadores lo soportaran tarde o temprano, y Safari o Google Chrome van muy adelante.
  • La estrategia con IE9 es recuperar el mercado que Google Chrome y Firefox han ido tomando. Ahorita dice Microsoft algo, y luego cuando liberen Silverlight 5, dirán otra cosa.
  • Toda la lógica de HTML 5 es Javascript, ¿han intentado hacer grandes aplicaciones en JavaScript, incluso usando jQuery o Dojo? Yo no lo vuelvo a hacer, gracias a Silverlight.
  • Para hacer una RIA, Silverlight tiene total integración entre la capa intermedia de servicios y la Interfaz del cliente, incluso ayuda con la conexión a BD.
  • Con Silverlight puedo instalar las aplicaciones en mi escritorio (en modo Out-of-Browser) y solicitar permisos elevados. HTML 5 puede soñar con eso, por que nunca va a poder hacerlo.
  • En modo Out-of-browser con permisos puedo instanciar Excel u Outlook y cualquier otra cosa COM, Leer y escribir archivos del usuario, usar el API de Windows, etc.
  • Silverlight sigue siendo la plataforma de desarrollo para los Windows Phone 7 que vienen en grande.
  • Las animaciones y efectos en Silverlight son sencillos de hacer con Expression Blend.
  • Para la lógica de Silverlight puedo usar C#, JavaScript, Visual Basic, F#, y mas adelante IronPython, IronRuby, Delphi Prism, etc. Así solo tengo que aprender un lenguaje para el backend y el frontend.
  • Una sola aplicación de Silverlight en una pagina web puede manipular todo el JavaScript, HTML DOM y CSS de la pagina.

Para su servidor, es obvio que Silverlight esta mas vivo que nunca desde que se libero Silverlight 4 en marzo de este año, como también es obvio que Microsoft va por todo, como siempre, sin importar si atropella a dos que tres (mil) en el camino. Ayer por Silverlight 4, ahora por Internet Explorer 9 mañana por Silverlight 5, etc, etc.