miércoles, 11 de agosto de 2010

Windev Episodio I


Introducción

Creo que ha llegado el momento de hablaros de mi trabajo actual, en concreto, del entorno de desarrollo con el que trabajo actualmente.

La herramienta se llama Windev, y está comercializada por PCSoft, una empresa francesa de desarrollo de software. Debido a su nacionalidad, siempre sacan antes al mercado la herramienta en francés y después en inglés. Es con esta última con la que estoy trabajando ahora, y la verdad es que funciona muy bien.



El Análisis

La base de Windev está en su análisis, es la parte más importante de la aplicación, y a partir de él, Windev puede generar todo lo demás automáticamente (esta opción se conoce como RAD) o manualmente. De la primera opción, hablaremos en siguientes capítulos, aunque os puedo adelantar que, desde mi punto de vista, no tiene más utilidad la aplicación generada que un prototipo básico.


En cambio, lo interesante está en el proceso manual. Una vez que generamos nuestro análisis, este nos hace la función de acceso a datos y de modelo de datos, siendo innecesaria la creación de un diagrama UML o de un conjunto de clases. Simplemente utilizamos el análisis para acceder a los datos y ya está.


Todos los controles que tiene Windev, están preparados para trabajar de esta forma y de hecho muchas de las ventajas que aportan a la aplicación, se pierde si no utilizas un acceso directo entre la capa de presentación y el análisis.


La forma de trabajar con el análisis, me recuerda mucho a la temporada que pasé con el modelado en Entity Framework, por lo que aunque utilice vocabulario propio de E.F como entidades o clases, no hay que olvidar que Windev, al crear el análisis NO genera ningún tipo de código.

Una vez iniciamos Windev y acabamos con todo el wizard de selección de nuevo proyecto, nos lanza directamente en el wizard para añadir un nuevo “File”, es decir, una nueva tabla, entidad, etc... Al crear el File, definimos sus miembros y sus relaciones y el tipo de base de datos que queremos utilizar.



Una vez tengamos definidos todos los componentes del análisis, pulsamos sobre Analisys Generation, para que el proyecto añada el análisis a su conjunto de datos.


Una cosa que me gustaría dejar clara, Windev no trabaja normalmente con objetos, sino que prefiere utilizar procedimientos. Aunque nos permite la opción de trabajar con ellos, Windev está pensado para no utilizarlos, por eso la gente que venga de ese mundo al ver que en el análisis no se han definido ni métodos ni nada por el estilo, y que encima he dicho que con el análisis y la capa de presentación ya nos vale, pensará que me he vuelto loco. Más adelante explicaré como trabaja Windev con procedimientos y con objetos.


Con este primer post, he querido hacer un acercamiento a Windev desde su base, próximamente iremos viendo más aspectos básicos de esta herramienta, que nos ayudarán a comprender mejor su funcionamiento y sus ventajas y desventajas.


Un saludo

25 comentarios:

  1. Hola compañero,

    Al igual que tú, estoy familiarizado con Windev, sin embargo, la potencia de windev no es como tú dices el "analisis". La mayoria de mis desarrollos no incluyen bases de datos y permiten hacer una gran variedad de cosas.
    La potencia de windev es que como dice la publicidad de PC Soft es 10 veces más rápido desarrollar con él.
    Otro de los fuertes de windev, son los ejemplos prácticos, y la documentación que acompaña al producto que hace que cueste muy muy poco aprender a manejarse en el IDE y en el lenguaje en sí.

    Saludos.

    ResponderEliminar
    Respuestas
    1. No sé porqué decís que se programa 10 veces más rápido. NO veo ningún ejemplo de ello. Con Velneo hay 5 videos de 10 minutos aproximadamente cada uno y empiezas de cero y tienes una pequeña aplicación muy potente y que ya querría Windev. Eso con lo visto hasta ahora. De nada sirven chorraditas de carruseles o pijadas de otra índole. Vamos a lo que vamos, a hacer programas útiles. Las tonterías se las dejamos a la gente de Microsoft, vale?

      Eliminar
  2. Hola Malfoi,

    Lo primero gracias por tu comentario, siempre se agradecen comentarios constructivos que ayuden a mejorar los siguientes posts sobre Windev, por lo tanto pondré especial atención en lo que comentas acerca de los ejemplos prácticos y documentación.

    Por otra parte, no coincido contigo en lo que dices acerca de la potencia de Windev, debido a mi experiencia he comprobado que Windev relaciona el análisis con todos los componentes de la aplicación, de una manera muy fuerte.

    ¿Qué tipo de proyectos realizas, que no cuentan con ningún análisis?

    Un saludo

    ResponderEliminar
  3. Hola,

    Pues hay multitud de pequeños desarrollos como por ejemplo:

    -Comunicaciones con impresoras industriales y escaners a través de puertos serie.

    -Conversores de formatos de archivos.

    -Monitores de equipos remotos con sockets.

    -Impresores de reportes y carátulas.

    -Herramientas de consultas de bases de datos no Hyperfile.

    -5S informáticas.

    -Control de accesos a la red con llaves usb autónoma.

    -Verificación de DNI's individuales o listados de DNI's.

    -Comunicaciones con atornilladores y test electricos industriales.

    -Control y gestión de mezcladoras gavimétricas GXB2200.

    -Conversión de datos de un lector de tarjetas magnéticas serie a acceso de teclado.

    -Generación de cartas con campos variables.

    -Tratamiento de grandes cantidades de información.

    -Búsqueda, carga y validación de información en archivos.

    -Control de un comedor de empresa.

    Bueno, como puedes ver son pequeños desarrollos de lo más variado, y hay muchos más que no recuerdo en este momento.

    Ésta creo que es la fuerza de windev, permite en muy poco tiempo, crear, mantener y disponer de programas que ahorran muchas horas de tareas mecánicas que se simplifican al final en muy pocos clicks de ratón.

    Supongo que por el tipo de desarrollos en los que me he visto involucrado, digo lo que digo, si tú as estado inmerso en desarrollos cliente/servidor y programas de gestión obviamente habrás tenido que usar frecuentemente hyperfile y el acceso a bases de datos.

    Saludos...

    ResponderEliminar
    Respuestas
    1. Malfoi, insisto en lo anterior. Esos programas se hacen con Visual Studio .NET en menos que canta un gallo. Otra cosa es que el que lo programe no tenga ni idea.

      Eliminar
  4. Hola Malfoi,

    Efectivamente el desarrollo en el que me veo involucrado ahora mismo, y que me está haciendo buscarle las vueltas a Windev, es una pedazo aplicación de gestión, completamente camaleónica, que pueda ser usada por un rango muy amplio de clientes, con muy pocas variaciones, y sobre todo, con una robustez a prueba de bombas :D

    Es por ese motivo, por el que el análisis, es una parte muy importante de nuestra aplicación, y claro, ahí he visto que Windev, ha hecho un gran trabajo, puesto que desde él, se crea todo lo demás mucho más rapido.

    Un saludo y muchas gracias

    ResponderEliminar
  5. Hola MtCantero

    Yo esoy mirando Windev o Velneo como alternativa a xbase++. Tengo muchos años de experiencia en programas de gestión y contabilidad.

    Se lo bueno que es tener amigos con los que compartir conocimientos y si no he dejado antes xbase++ ha sido precisamente por los amigos que tengo allí.

    Para mi sería muy util que comentaras las decisiones que vas tomando por el camino. Por ejemplo:¿Vas a usar Postgree Sql, Oracle, o el sistema cliente-servidor que trae nativo windev?
    (dicen que se puede cambiar fácil de uno a otro)

    A mi me gustaría usar Postgree porque puedo acceder desde xbase++ y desde Fastreports

    ¿Has visto Velneo?¿Que te ha hecho decidirte por Windev?

    Un saludo

    ResponderEliminar
    Respuestas
    1. Yo si he trabajado con Velneo durante 4 años. Muy bueno, pero tienen una política de precios que es de vergüenza. La versión 6 es muy rápida y fácil de aprender. La versión 7 es una gran cagada por parte de la nueva directiva de Velneo. Si quieres usarlo, hazlo en la versión 6x.

      Eliminar
    2. P.D. sólo se puede programar en plataforma Windows con la versión 6x. La versión 7 si es válida para Linux y Mac. Ninguna de las 2 son válidas para iPhone ni Android (por mucho que digan, la están cagando en ese tema). La versión 7 tiene un plugin para navegadores pero no se parece en nada a lo que hace WebDEV.

      Eliminar
  6. Hola Jose Valle,

    Comparto tu opinión acerca de que lo más importante es que exista una comunidad alrededor de una herramienta determinada.

    En concreto en Windev, yo me muevo entre 3 páginas:
    - Los foros oficiales
    - El grupo de google de Windev Tips
    - La web de www.windeveloper.es

    Ahh y se me olvidaba, el blog de Giuseppe: www.lordzealon.com

    Por mi parte, he llegado hace poco a Windev, después de estar buscando durante casi 1 año una tecnología que nos permitiera migrar de delphi a .NET con ciertas ventajas. Los motivos son muchos, pero el más importante es que desarrollas muy rápido, y eso es lo que mi empresa está buscando. Personalmente soy una persona mas cercana al mundo de .NET, pero Windev ultimamente me está gustando y mucho.

    De Velneo no conozco nada, dado que mis investigaciones han ido por otro camino, pero probablemente Giuseppe Luigi lo conozca, puedes encontrarlo en su web, o en cualquiera de los foros que te he puesto arriba.

    Lo que tengo pensado en este blog, es comentar todo avance que vaya haciendo referente a Windev, por lo tanto si te interesa estate atento, y si crees que tienes algo que decir o aportar, adelante, estás en tu casa.

    Por último y contestandote a lo que me preguntas sobre las bases de datos, ahora mismo estoy utilizando el cliente-servidor nativo que trae Windev, pero en el futuro lo compaginaré con PostgreSQL y MySQL.

    Un saludo y muchas gracias

    MtCantero

    ResponderEliminar
  7. Vaya, siempre se agradecen los comentarios, sobre todo si son positivos, hacia una persona :D

    @Jose Valle
    Respecto a los comentarios hacia mi blog, no estoy seguro, pero creo que MTCantero se refiere, o bien, a ésta entrada, o a una serie de entradas que realicé antes que el blog se me fuera al garete.

    Estaré encantado de resolverte (si está en mi conocimiento, claro) cualquier duda vía email si lo deseas, y de lo que saques en claro, si quieres, pongo un post sobre el tema.

    Respecto a lo que comentas sobre la comunidad, a diferencia de Velneo, que tiene la mejor comunidad alrededor de una herramienta que he visto en la vida, la comunidad de Windev no es muy grande, y en castellano, menos aún, pero eso sí de calidad :D. Salvador (windeveloper.es) lleva mucho tiempo trabajando con Windev, y conoce bastante la herramienta, e Hilario (windev-tips) es un máquina de Windev.

    Como comenta MTCantero, estamos desperidagos entre los foros oficiales, los foros de www.windeveloper.es, y el grupo de google Windev-Tips. En lo personal, prefiero el grupo de google, recibiéndolo en el email (sin desmerecer ni mucho menos el fantástico trabajo de Salvador), pero no dejo de pasarme por Windeveloper y los foros oficiales (éstos últimos menos).

    Respecto al tema de BBDD, la BBDD nativa (con 25 años de desarrollo, no lo olvidemos) de Windev está muy bien. No la he probado en C/S aún, pero se comenta que el rendimiento es muy bueno, además de integrarse con tu proyecto al milímetro. HF te permite además cambios en caliente, actualización del análisis con una BBDD en producción (por ejemplo, una nueva versión de la aplicación) sin perder cambios y un largo etc. Además, funciona bajo Linux, Windows y MacOS nativamente, y cambiar de usar Classic (monopuesto) a C/S, es cuestión de 4 lineas de código rellenadas automáticamente con un asistente. El sistema integrado de informes, es muy bueno, además, de tener Reports&Querys gratuito, para que tus clientes puedan crearse sus informes (si tú quieres).

    No hay que olvidarse, que Windev, no es sólo un IDE. Es una suite de herramientas, que cubren el ciclo completo de una aplicación..todo, en una sola herramienta. Desde el desarrollo mismo de la aplicación, a auditoría de ésta, control de bugs, documentación del proyecto, generación de instaladores, multidioma, mensajería interna, etc, muy largo para un simple comentario.

    En fin, que sin conocer xbase++, me aventuro a decir que no tiene nada que envidiarle :P y no digo nada más, porque ésto ya está pareciéndose a un post más que a un comentario, jejeje

    ResponderEliminar
  8. Giuseppe, sabes que cuando quieras puedes crear posts en mi blog!! Estas invitado formalmente, asi que cuando quieras replicar lo que pones en el tuyo, ya sabes :D

    Un saludo

    ResponderEliminar
  9. Hola Mario,

    Ante de todo, longa vida para tu Blog, creo que tu idea es muy buena, yo voy agregando lista de otro vinculos relacionado con Windev y espero poder crear mi proprio site un dia.
    Estoy de acuerdo con el tema del analisis en torno de que giran cosas essenciales de un projecto.
    Soy un total SelfMan made en relacion a la computacion y llegue a descobrir que Windev es la mejor heramienta hoy para personas que no tienen ninguna base en la programacion si el tema es applicaciones para el O.S. Windows con la meta de ser multi idioma.
    Ahora, si se trata de desenvolver para Linux o Mac OS, parece que el Java pierde sus funciones y passa a ser aplicaciones mono-idioma (a lo menos con la vers XI que tengo) - si consigues averiguar esto con la vers (XV) que tienes te lo agradeceria mucho.
    Entonces, fuera de esto, Windev es Numero 1, otra vez, para personas con poca base en Programacion.
    Con mucho tiempo.
    Me decidi porque HF te permite ofrecer applicaciones con BD. Pero Con JAVA (Linux y Mac) no se si puedo seguir con esta Base de datos o tendria que mudarme por MySql...
    Prentendo este año agregar a mis applicaciones administrativas funciones de busca y respaldo/restauraciones por internet vinculada con BD Mysql hospedada (o PostGres dicen que es mejor). Assi tendre un Front-end y Back-end Multi-idioma, solo le faltaria ser multiplataforma pero windev no esta pronto para esto ya de lo que parece. (? o estoy desactuaclizado)
    *por otro lado, si tienes tu proprio servidor con MySql, te aconsejo la solucion Wordpress para hacer te un Blog(forum..y tood el cuento) de primera linea, me parece la mejor solucion para sites que pretende durar un largo tiempo.
    Saludo !
    ericki

    ResponderEliminar
  10. Hola!.

    Leidos vuestros comentarios me he animado a empezar con el tutorial. He hecho hasta 1.3 y es muy fácil, aunque he tardado bastante mas de lo que dicen 2h en vez de la 1/2 hora que dicen.

    Veo todo sencillo, bien pensado. Cuando acabe el tutorial haré mi aplicación de gestión con la versión express y luego ya decidiré que módulos compro.

    Gracias por vuestros consejos.

    Jose Valle

    ResponderEliminar
  11. Hola Ericki,

    Perdona mi tardanza en contestar, pero me ha pillado el fin de semana en medio y he estado fuera de la oficina. Lo primero de todo, muchisimas gracias por tus comentarios positivos hacia este blog, quisiera recordar, que no es trabajo de uno solo, sino que toda la calidad y las ganas las poneís vosotros.

    En cuanto a lo de la bd y el multi-idioma, de lo primero tendré bastante idea dentro de unas semanas o así, porque ya estamos haciendo pruebas con postgreSQl, yo también he oido que es mejor que MySQL, aunque en las pruebas que de momento hemos realizado de rendimiento, tampoco se observa una diferencia tan amplia.

    El tema del multi-idioma no lo tengo nada tratado, normalmente programo para Windows, aunque es probable que Giuseppe sepa algo al respecto de esto, ¿porque no le mandas un correo o le dejas un comentario en el blog?

    Llevo tiempo oyendo hablar de la plataforma WordPress, pero no tengo ni idea de ella, a ver si en septiembre que me cogeré una semanita de vacaciones lo miro un poco.

    Un saludo
    @Jose Valle:

    Hola Jose,

    Estamos aquí para lo que necesites, ya te comenté cuales son las webs por las que nos movemos, así que si necesitas algo, peganos un toque!!

    Un saludo y suerte en tu nuevo camino


    MtCantero

    ResponderEliminar
  12. Hola Jose y todos,
    Alguien que ya trabaja con la Version XV podria hacer una conculta rapida en la Ayuda dentro de Windev para decirme me + con respecto al uso de JAVA.
    En la version XI, la ayuda/Java dice que la conversion hasta una apli. en JAVA solo puede ser mono-idioma ! (es decir usted se pierdiera toda su traduciones.)
    Pregunta:
    Sera que con la version WD XV ahora se conserva los idiomas existentes ?
    Gracia por el retorno...
    Ya poste esta pregunta 2 veces en FR,ESP,ING y mandé un email a PCsoft.
    (este post en la Vers XV FR, fue removido y puesto en vers. + antiguas)
    Assi que no tengo repuesta desde hace 3 dias.

    Muchas Gracias ;)
    ericki

    ResponderEliminar
  13. Veo que existen bastantes dudas sobre la multiplataformidad de Windev, a la que le dedique un pequeño tiempo cuando comencé con la herramienta (vengo de entornos opensource, y queria saber las limitaciones).

    Debido a ésto, creo que sería recomendable redactar un post sobre el tema. Me pondré a ello tras la comida, e intentaré que esté redactado esta misma tarde.

    Un saludo.

    ResponderEliminar
  14. Hola Ericki,

    He estado revisando la ayuda de WD15, y en principio no pone acerca de la perdida de el multi-idioma.

    Aún así, echale un vistazo a la ayuda online, http://doc.windev.com/en-US/?9000010&name=java-application-and-windev

    Me imagino que probablemente llegarás a la misma conclusión que yo, así que será muy interesante ver que es lo que nos cuenta Giuseppe!!

    @Giuseppe: ¿Habría algún problema en postear la url de tu post cuando lo termines?

    Un saludo

    ResponderEliminar
  15. @MtCantero: Claro que no, postearé aquí mismo un comentario cuando esté.

    Respecto al tema del multidioma, hay una función que permite forzar el cambio, Nation()(1), y precisamente, la ayuda dice que esa función está disponible en Java, así que.

    (1) http://doc.windev.com/en-US/?3054014&name=nation-function

    ResponderEliminar
  16. Aquí teneis la entrada

    Siento que esté mal escrito y seguramente falta de información, pero la he escrito con prisas, y las prisas nunca son buenas jejeje.

    Gustosamente, si está en mi mano, contestaré a las dudas de los comentarios.

    Un saludo.

    ResponderEliminar
  17. Acerca de la multiplataforma, de Windev, hasta la version 15 , no se podian imprimir reports en PDF, para Linux, lo que impedia la utilizacion del mismo, como estacion, no como servidor de ficheros , con Java pasa lo mismo, no puedes hacer reports, a no ser que crees una inteface con Jasper Reports, por ejemplo.
    El error, humildemente en el que caemos todos, yo el primero, es que las teorias a veces, intentamos aplicarlas a las herramientas y olvidamos que las herramientas a veces no soportan esta aplicacion, windev, como mejor funciona es en modo nativo, el intento de aplicar un modelo MVC, por ejemplo, deja unos tiempos de desarrolo (como se ha visto aqui), lejos de ser productivos.
    Windev es una excelente herramienta, pero ten go la sensacion, de que añaden cosas y no las terminan, el HF, me parece muy bueno, rapido y fiable. En cuanto a que es numero 1 para personas con poca base, no estoy de acuerdo, todo el mundo puede ir al ide, crear una ventana y asignarle un control, pero la logica de negocio,el analisis y muchas otras cosas mas o las conoces o la aplicacion acaba siendo cualquier cosa menos una aplicacion profesional.
    Por ese criterio, todas las herramientas que llevan IDE, y otras facilidades, merecerian ese calificativo y no deberia ser a si.

    ResponderEliminar
  18. Hola Leviantan, gracias por agregar le agua a mi molino, ja passaron varios dias y todavia no recivi del sopporte de Pcsoft repuesta alguna y la tuya me esta ayudando bastante ahora (fuera del excelente tema en el Blog de Giusepe).
    No se si puedo mencionar lo aqui (pero lo hago con este link):
    http://www.lordzealon.com/2010/08/23/multiplataformidad-con-windev/comment-page-1/#comment-97

    Ahora por fin se lo que tengo que esperar del windev, al menos con la version XVI que se puede coneguir hoy en dia. (De repente nos sorprenderian con unas novedadew en la Vers. XVI..???!!)

    Tiene razon, no me exprime bien sobre el tema del desarollamiento con IDE para personas con "poco" bases. (Todo depende de lo que se llama "poco")
    Es obvio que quien no tiene algunos conceptos claros sobre programacion, no conseguira ir a lugar alguno.
    Hablando sobre mi caso (y de lo que parece tambien ser el caso de muchos novatos *ver forum de Pcsoft) no tengo base (téorica) en programacion.
    Por esto, diria entonces que WD seria No1 para los Self-Man-made como yo. No tento denigrar lo importante de una capacitación professionalizante.
    Solo que en este caso mio, no exisitia curso de "informatica" en mi epoca. (ya'po no soy un dinosaurio tampoco)
    Assi que hoy no poduo explicarte lo que es una Programcion con Objectos y varios otras "misterios" que leo en todo lugares. Lo que aprendi lo aprendi leyendo las ayudas del Software y otras revistas.
    Como varios usuarios de WD no savemos programar en ningun Lenguage diriamos "púro" typo C, Java o otros y - claro demorando nos mas - que un programador "de verdad" conseguimos hacer varias aplicaciones de uso administrativos usando Base de datos, MySQL, instancias con criterios,impressiones filtradas. Solo por el hecho Windev fue pensado para ofrecernos este "L5G" con lo que poderiamos llamar de "Macro" o formula semi pronta para completar. open(), hsearch() y assi por el estilo !
    (bien parecido a lo que se encontra tambien en Ms-acess)
    Por no saber "programar" como lo pueden hacer ustedes, no me considero un verdadero Programador y siempre me faltaran conceptos - hasta basicos - que poderian facilitar me muuucho la vida, pero si no fuera por Windev pienso que nunca haberia lleguado en este "mercado" esta (nueva?) categoria de personas que tampoco no pueden mas ser considerada como simple usuarios finales.
    *sin querer inchar nos los torbillos ;)
    Tanto como existe configurador de Paginas web para configurar se un site web sin conocimiento especifico de Html. Es una tendencia del mercado, y no hay forma que desaparesca tanto como no desaparecera la necessidade de professionales en este ramo !
    ...digo yo ;)
    Que se cuidan !
    Ericki

    ResponderEliminar
  19. Despues de leer tanto el post como los comentarios no puedo mas que elogiar la calidad y calides de los mismos, me encuentro aquí buscando información para elegir la herramienta en la que desarrollaré mi proximo proyecto.
    Actualmente desarrollo en VFP pero creo que ya es tiempo de ver otras tecnologías antes de que caiga un meteorito y me extinga por dinosaurio.Tambien busco una herramienta que se comunique con distintos tipos de bases (Mysql,Firebird,Possgress, etc) y a la vez la curva de aprendisaje sea lo mas corta posible, asique me tendran por estos lados haciendo preguntas tontas hasta poder entrar en ritmo.
    Francisco.

    ResponderEliminar
  20. Hola Francisco,

    Lo primero muchisimas gracias por tu comentario, y creeme que de verdad siento tener que responderte esto.

    El caso es que el blog esta mas o menos inactivo, hace muchisimo tiempo que no actualizo y ademas hace muchisimo tiempo que no utilizo Windev para desarrollar.

    Actualmente me he mudado de ciudad, me he ido a vivir a Londres y estoy trabajando en Microsoft Dynamics CRM 2011.
    Espero que tengas mucha suerte con tu busqueda y si necesitas ayuda con Windev puedo proporcionarte contactos bastante experimentados :D

    Un saludo y muchas gracias

    ResponderEliminar