domingo, 29 de enero de 2012

Uso de Nueva Tecnología


Uso de Nueva Tecnología


Al iniciar un proyecto uno de las cosas que hay que decidir es la tecnologia con la que se va desarrollar el software. Hay muchas fuerzas por las cuales puede ser elegida uno y no otra. Puede ser que la empresa cliente imponga la tecnología por que luego se quedará con el código fuente y la tecnología que conoce. O por que el equipo de desarrollo quiere aprender una nueva tecnologia. O por que una tecnología permite hacer determinadas cosas con un par de lineas de código.


En el caso concreto de WPF es una tecnología que te permite hacer muchas cosas con un par de líneas de código pero si estás acostumbrado a programar al estilo de MFC o winforms, habrá cosas en las que uno tendrá que perder un poco el tiempo buscando la forma de hacerlo.


- No se puede hacer una copia de un objeto. En wpf hay que serializarlo, y luego deserializar para crear otro. ¿y que pasa si hay una clase wpf que no se puede serializar? es algo en lo habría uno que investigar.
- El repintado no se hace con un updateall sino llamando a un Invoke en wpf.


O por ejemplo, otro caso, el elegir los sockets de toda la vida o usar las diversas tecnologías para comunicaciones (.net remoting, WCF, ...). Que cuando uno sea más o menos un experto en .net remoting saldrá a la luz una nueva tecnología para comunicaciones.


Con esto quiero decir, que a veces, cuando eliges una tecnología para ir más rápido, el hecho de no conocerla a fondo hace que unas cosas se avanza rápido en un proyecto y otras tengas que parar a investigar. Cosas que con tecnologías que ya conocias, era a más rápido.


Aunque claro está, este conocimiento que se va adquiriendo en un primer proyecto con una tecnología nueva (como dicen en el libro Software Project Secrets), en un segundo proyecto que use dicha tecnología irá mucho más rápido el proyecto. Pero, cuando surja ese segundo proyecto, es muy posible que ya exista otra tecnología que sustituya a la anterior y volvamos al principio.


Pero una de las cosas más peligrosas a mi entender para el éxito de un proyecto es el realizar un proyecto novedoso con tecnología novedosa.