Generadores de Código revisados: CodesmithTools & IronSpeed

image

Acabo de darle una pequeña revisada –una vez mas– a las herramientas arriba mencionadas, es que cada cierto tiempo voy viendo sus facilidades, y bueno, en el trabajo usamos algunas, dependiendo del caso o necesidad…

De por si el uso de una herramienta de generación de código ayuda considerablemente en todo lo relacionado a código que puede considerarse repetible o muchas veces “tonto”, aqui me refiero a las partes de conexión a base de datos, uso de stored procedures o incluso partes que siempre son repetibles si se usan alternativas ORM como Entity Framework u otros…

Pero bueno, de por si las facilidades brindadas por un generador de código es una filosofía mas que interesante, pero creo que este tema ya ha sido cubierto muchas veces, asi que por hoy no lo tocaremos.

Estaba usando el CodeSmith por un tiempo y que puedo decirles? que es genial!!, puede generar lo que sea, si tienes claro el modelo de trabajo, es decir, la configuración de una plantilla, la cual contiene una parte variable (la que nos ayudará a generar el código) que en base a parámetros y un poco de programacion .net nos genera lo que sea!

Mas que una demo, les recomiendo descarguen la versión de prueba y bueno, revisen la sección Examples / Basic Samples / CSharp para que noten la facilidad para generar rápidamente algunas cosas interesantes.

En la imagen de la derecha puede observarse el explorador de plantillas del CodeSmith y como pueden notar es considerablemente similar al IDE del Visual Studio, asi que la familiaridad de herramienta, ayudará un poco.

Lo interesante del asunto es que hay ejemplos de generación de código en varios frameworks como CSLA o NHibernate.

Entre lo positivo que podría resaltar es que la filosofía de esta herramienta es generar lo que sea desde una plantilla de texto plano configurada vía parametros y mientras mas programes en .net para generar texto plano, pues mucho mejor!
Lo negativo a mencionar es inicialmente, que su versión de pruebas es de 30 días (aunque la solucion rápida de un amigo fue pedir de nuevo un key de pruebas…) y por otro lado, a pesar de que veo que su comunidad es activa, a veces busco información y pues, me quedo en el aire con la duda (por suerte tengo amigos que saben bastante y me ayudan con ello, pero tampoco deberia ser asi, no?)

image

Por otro lado y luego de mucho tiempo, volví a descargar el IronSpeed Designer, muy interesante, con su pantalla inicial preguntándote “qué theme le pondrías a tu aplicación a generar?”, quedé pasmado pensando… “por qué no ponen eso en otras aplicaciones?”

De por si la configuración es bastante amigable, desde qué colores quieres incluir en las pantallas a generarse (asi es, pantallas!) hasta qué tabla quieres usar, lo cual considero mínino necesario en una buena aplicación de este rubro.

Lo que debo resaltar aqui como positivo es que el entorno es amigable y directo, es decir, necesito generar esto, punto final =D.
Y bueno una nueva característica de esta versión es que puedes configurar el diseño de la interfaz generada, desde el logo del header al texto del footer… como dije, entorno amigable.
Lo negativo del asunto es que a pesar que la generación de las fuentes ha mejorado considerablemente, pues el mantenimiento de las mismas, lo veo un poco engorroso, solo puedo decirles, que se genera tooodo en una capa =S, aunque claro estoy usando la version Free, bastante limitada en lo que respecta a numero de tablas y páginas a generar. 
 

En general que les puedo decir? La verdad es que ambas herramientas son muy buenas! claro ambas tienen un costo, pero si podría recomendarles algo, les preguntaría, exactamente qué buscan?

– Ya que, si se trata de mantenimientos rápidos, como a veces sucede en algunos proyectos, empresas pequeñas o incluso curiosidades que me podría pedir hasta mi abuelo, pues IronSpeed, hasta el Free les puede servir, ya que a pesar que limitan la cantidad de tablas (no mas de 15) y páginas que tengan que generarse (no más de 30), es algo que puede superarse

– Si estamos hablando de una aplicación mas empresarial (por asi decirlo) en la cual se necesite una distribución orientada a servicios, o quizá los requerimientos del usuario incluyan específicamente utilización de LINQ, NHibernate, CSLA, capas… pues CodeSmith te puede generar lo que quieras!

– Ahora, si tenemos la limitante del costo por las licencias, pues la mejor alternativa, es el AJGenesis del buen Angel “Java” Lopez.
Aqui la filosofia que se maneja es la que debería seguir todo motor de generación de código, permitir generar cualquier tipo de código a raiz de una plantilla configurable/programable.
De por si el AJGenesis es un mundo por explorar, que a su vez, no deja de ser sencillo de aprender, pero bueno, ese es tema de otro post o desde ya, les recomiendo revisen la documentacion que pueden encontrar en el blog del Java Lopez!

Y ya para despedirme, pues les adelanto que tengo en mente un podcast relacionado, veamos que sucede, no?

Un Saludo!
@jersson

Update de Podcast Nada Serios! (II)

Hola a todos!

Pues nada, solo comentarles que esta ultima semana hemos publicado dos podcasts nadaserios!, los cuales tratan de:

– #04: Como potencializar nuestras vidas con GTD
– #05: WPF+WF+WCF+Mono+Moonlight(Bonus: Chrome OS + MS Gazelle + Windows 7 Features)

Mayor detalle de cada uno encontrarán en los enlaces arriba mencionados, solo decirles, que estan mas que interesantes y esperamos el feedback que consideren necesario!!!

Y bueno, dentro de poco nuevos podcasts, asi que, si tienen algun tema para sugerir, o desean participar, pues solo dejen un mensaje y listo!!

Saludos
@jersson

Reglas Básicas del Software de Calidad

Los días 17 y 18 de Julio estuve presente en el Kick Off de MS Influencers FY09, esto en las oficinas de Microsoft Perú.
La verdad es que fue una experiencia mas que interesante, en la cual se mostró parte del plan que… por cierto no puedo mencionar mucho, nos presentaron a un abogado, asi que mejor no digo nada que quiero seguir libre!! 😀

En si muy buenos temas los que se conversaron, y la reunión de integración tambien tuvo lo suyo, con algo de karaoke, juegos de mesa o de consola, desde Halo hasta King of Fighters!

Pero bueno, hay algunas cosas que comentaré en un siguiente post, ya que de momento quisiera comentarles que el sábado ya para cerrar el Kick Off, hubo la propuesta de proponer un tema y en máximo 10 minutos presentarlo, dejando luego 5 minutos para un set de preguntas y respuestas… interesante no?

Pues me animé y tuve la suerte de terminar mi presentación en el tiempo que me quedaba y luego presentarla rápidamente.
Espero que haya quedado bien, o mejor aun, que se haya entendido. Preguntas… si que hubieron, pero igual siento que solo mostré una partecita de lo que queria presentar, pero bueno, solo eran 10 minutos!!!

El tema, Reglas Básicas del Software de Calidad, y bueno, el presentador, yo 😀

Aquí el archivo si desean descargarlo.

Y bueno, todo feedback es bienvenido, estamos aqui para aprender, no?

Muchas Gracias!!!

@jersson
PD: Si estuviste en el Kick Off, pues no dudes en compartir tu PPT!!!

Paint.Net como herramienta de diseño gráfico

Hace un tiempo descargué el Paint.NET, el cual de Paint solo tiene el nombre, pues a diferencia de este, tiene funcionalidades conocidas gracias a PhotoShop o Fireworks, como lo son, degradé, autoajustes, blanco y negro, invertir colores y otros, las cuales nos permiten hacer un trabajo de edición gráfica convencional.

Lo interesante de esta herramienta es que construida en .net y es gratis!
Estar basada en .net nos da una idea de la potencia del framework como tal, ya que, con un instalador de 1.5 MB te brinda facilidades que no pueden envidiarle a las herramientas gráficas mencionadas en el párrafo anterior.

La instalacion es simple, con unos clásicos clicks, pues ya tienes disponible el producto listo para usar, integrado con el menú contextual, tal como puede apreciarse.

image
Luego…

  image
 
Aqui mis comentarios
– Como habia mencionado, como tal el Paint.Net no tiene mucho que envidiarle a lo brindado por otras herramientas
– El entorno es amigable, pero no encontré manera rápida de poner una transparencia
– Lo encuentro bastante liviano, y no solo por el instalador, aqui me centro en los tiempos de respuesta y rapidez al aplicar los efectos
– Hace un tiempo escuché que era open source y de libre descarga de las fuentes, pero al parecer ya no comparten el código =S
– He oido incluso que muchas personas lo comparan y ponen a la misma altura con entornos muy utilizados como el Adobe PhotoShop, pero no he podido comprobarlo

Aqui mi duda principal
– Como no soy un asiduo diseñador gráfico, no puedo dar un feeback completo para esta herramienta, la verdad es que me parece muy buena la idea, las funciones y opciones en algunos casos son de uso facil o al menos comprensible, pero no puedo dar una buena opinión pues si bien es cierto, antes usaba Fireworks, bueno, hace mucho… el uso que le daba era algo trivial.

– Es por ello que dejo abierta la consulta a aquellos que utilizan herramientas de diseño similares, a ver si le dan una oportunidad a Paint.Net
– Y bueno, si tienen recomendaciones en general, pues agradecería lo comenten!

Gracias
@jersson

[Consultas] SilverLight 3.0 Por favor actualizar a la ultima versión

image
Asi es! inesperadamente los amigos de MS han liberado la version 3 del control SilverLight, SDK.
Y de momento noto que ya vamos por la tercera versión (que observador!) y mientras voy actualizando el control (proceso que ha sido
extremadamente rápido comparado con versiones anteriores) se vienen a mi mente preguntas como que opinan los usuarios? que tan buenas son las mejoras? entre otras cosas…

Pues claro, la informacion esta ahi, en la red, en la misma página de MS, indicado las mejoras en streamings, codecs y adicionales.

Pero que opinan ustedes? como les afecta a nivel desarrollo? despliegue? controles? compatibilidad hacia atras?
A la espera de sus respuestas (al menos una)

Saludos y Muchas Gracias
@jersson

Update de Podcast NadaSerios!

Solo para comentarles que como habrán notado (al menos uno, lo se!!!)desde la semana pasada estoy metido en un proyecto de podcasts llamado #nadaenserio!, todo esto con mi buen amigo @gustavo_veliz.

Hasta el momento hemos grabado tres conversaciones, las cuales son:
Los programadores ya no quieren programar: opiniones varias sobre formas de trabajo e implementacion de técnicas ágiles
Qué herramienta usas?: Desde sistemas operativos a administradores de tareas
Noticias varias y demás!: Temas varios como FF3.5, Iphone 3.0, Morro, Gazelle, Natal, entre otros!

Pero bueno, mas que nada invitarlos a que escuchen las grabaciones y nos den su apreciación personal, y si estan interesados en una conversacion nada seria! pues nos avisan!

Aquí la dirección! –> http://podcast.nadaenserio.com/

Saludos
@jersson