domingo, 23 de setiembre de 2007

/desarrollo rápido para web



Hace un tiempo baje de internet GeneXus, en parte por la insistencia de un familiar cuya empresa está montada en función de productos realizados con esta herramienta.
El me hablaba de las facilidades y la (innegable) rapidez de desarrollo que se logra usando Genexus
.

Lamentablemente, y a su pedido, tengo que caer en esa costumbre uruguaya de decir, sin mencionar nombres. Y no me gusta, pero hago una excepción porque tiene que ver con el contenido de este post.

Sinceramente y al margen de reconocer las bondades del producto, una especie de metalenguaje que a partir de la modelización de una realidad genera el código de la aplicación, no logró entusiasmarme demasiado.
Principalmente porque no me gusta ver que todo se arma sin saber cómo, un sistemas de cajas negras que no comprendo (porque no es necesario), porque además si quería modificar el código generado era una tarea engorrosa, y porque me gusta ver el proceso desde la cocina.
Prefiero invertir un tiempo en aprender paradigmas de desarrollo que me permitan generar mis bibliotecas, que después usaré como un puzzle de acuerdo a las circunstancias, pero que yo conozco porque yo las generé, a que me den algo armado por otro. Y donde además, el conocimiento para realizar la aplicación no pasa tanto por la lógica de los algoritmos, ni de la ingeniería de software, sino que está restringido a la lógica de negocios.
(El me decía que yo podría trabajar generando componentes para GeneXus más que desarrollando aplicaciones con esa herramienta).

Es una herramienta ideal para software de gestión (escritorio o web) que es a lo que la empresa de mi familiar se dedica, pero cuando intentamos salir de esa trinchera, desarrollar con GeneXus es bastante más complicado, o directamente imposible.
No lo considero viable para realizar procesamiento de imagenes o juegos, y actualmente estoy interesada en esas áreas.

Tampoco me convenció demasiado que el diseño de la base de datos dependiera completamente de la aplicación. Y cuando modificamos el modelo automáticamente altera las tablas, si es necesario, dificultando su re utilización en otras aplicaciones.

Pueden generarse productos competentes en GeneXus, de hecho la empresa de este familiar, tiene éxito a nivel nacional y creciente en el exterior.
Pero es GeneXus dependiente, el mismo me dijo que apenas conocía la tecnología .NET (no lo necesita), o java, o los diferentes tipos de arquitectura. Y es porque esta herramienta se lo da digerido. Concluyendo que si un día no existía GeneXus debería contratar programadores porque el no sabe hacer casi nada. El es un gran experto en modelar problemas, asi que larga vida a GeneXus.
GeneXus es ideal cuando son pocos empleados, y se necesita sacar algo rápido al mercado, y como en su caso que comenzó solo, le vino al pelo.

En informática todo va rápido, pero por ahora soy de la idea que mas vale conocer paradigmas de desarrollo, y ver qué lenguajes o herramientas se adaptan mejor a uno u otro de acuerdo a las circunstancias o a un problema dado. Pero sí me interesa que esos lenguajes sean flexibles dentro de sus características, que me permitan controlar lo que hago porque puedo ver cómo lo hacen, y para mi GeneXus en ese aspecto, entre otros, no es flexible.
Y ademas porque no quiero depender de un lenguaje en particular, si bien entiendo que por perfiles personales y de trabajo llegamos a preferir uno mas que otro.

La forma que elegimos para trabajar, cuando podemos elegir, es la filosofía de vida que elegimos también, otra manera de interactuar. Esto no pretende ser una crítica a quienes usen GeneXus, porque como dije pueden generarse productos muy comptetentes.
Prefiero lo menos pragmático quizás, para algunos, pero que siento me da un conocimiento mas integrado a nivel de desarrollo y análisis, y de control en otras áreas. Y con GeneXus me sentí restringida.
Además, por experiencia se, que cuando contamos con un conjunto de bibliotecas en el lenguaje que sea, creadas por nosotros, cualquier aplicación será de desarrollo rápido. Me pasa en mi trabajo para ORT.

dos interesantes herramientas
Vi dos herramientas
gratuitas para desarrollo rápido web xpotronix y SIUToba que me 'recordaron' a Genexus, pero me gustaron más por la libertad que permiten. A diferencia de Genexus, la base de datos se centra en su organización y no en la aplicación.
Aun las estoy probando, y no puedo decir mucho más, pero lo dicho recién le juega a favor.









3 comentarios:

Anónimo dijo...

Sabe cual es el costo de Genexus ? en ningun lugar lo dice y tal vez Ud con la experiencia de su familiar lo sepa. Y como es el licenciamiento ? por desarrollador, por copia, etc

rog dijo...

No tengo idea, y como dije, me interesa tan poco la herramienta que no lo he averiguado. Supongo que el tipo de licencia es por copia, porque es la mas rentable jej.
El comenzó así, generó un producto en Gx, y luego compró la licencia para comercializarlo, que en su momento le costó unos U$2500, claro hablamos de hace mas de 10 años atrás.
saludos

Anónimo dijo...

es que es para modeladores, y no para edsarrolladores, lo dice en sus manuales de primeros pasos en genexus. aqui en méxico lo están usando para hacer desarrollos rápidos de esos que se le ocurren a medio día a un "jefazo"... lo que si es que hay que quitarse mcuhos paradigmas de desarrollo de la choya

p.d. choya = cabeza :)