SpaceTree en javascript


Javascript es un lenguaje que no logra convencerme. Cuando mire la sintaxis vi que es lindo lenguaje, pero cuando veo programas de otros, me cuesta mucho entenderlos.

Por otro lado, me pone muy nervioso que para el javascript que se carga en el cliente, no se pueda saber si se ejecuta la ultima versión o una versión guardada en algun repositorio local.

También en la implementación actual, muchos navegadores permiten seguir ejecutando a pesar que el programa ejecutado de error, lo cual se muestra como un pequeño ícono casi imperceptible.

Como lo había dicho en el 2006, no me convence mucho este camino, pero me parece que al mercado no le importa mucho mi opinión. :)

Cada vez aparecen más bibliotecas y formas de hacer cosas espectaculares con javascript y muchas de sus limitaciones encuentran formas de evitarse.

Lo ultimo que me gustó fue la posibilidad de hacer un SpaceTree con JavaScript. Está muy bueno, y me gustaría tener algo similar para el Call Browser, de forma de poder navegar la KB GeneXus de forma mas fácil.

Voy a ver si hago unas pruebas para ver que tan difícil es integrar esto, con una aplicación Genexus.

En la biblioteca JIT, hay otras cosas interesantes, como puede ser el TreeMap, que sería bueno para mostrar datos en el pattern Summarized By.

Comentarios

  1. Enrique:

    la verdad que seguramente deberías de ver un poco mejor el tema de JavaScript ya que conociendo este lenguaje, "solo el cielo es el límite".
    En nuestra empresa desarrollamos aplicaciones con Genexus y lo integramos con JQuery(el cual te lo recomiendo con mucho enfasis), es muy simple de entender y usar mas aún.
    Te aseguro que una vez que pruebes la integración que puedes lograr con Genexus, no vas a parar de pensar si uno que otro problema lo podes lograr con JQuery.
    Por razones de CopyRight :( no te puedo pasar un link para mostrarte lo que hacemos.

    ResponderBorrar
  2. Sauron: Seguramente tengas razon.
    Ya he vista aplicaciones muy buenas con javascript pero veo que estamos forzando algo que no fue pensado para eso.
    No me parece la mejor base para crear las aplicaciones del futuro, pero muy posiblemente me este equivocando feo.

    Cada vez que tengo que programar algo en javascript, me siento programando con un nivel de precariedad innecesario.

    ResponderBorrar
  3. Enrique:

    Justamente para eso está JQuery, que te permite una sintaxis mas laxa e intuitiva.

    Obviamente estamos saliendonos de los límites pensados para Genexus, pero para lograr una aplicación web que se precie que con Genexus nos quedamos corto.
    Nosotros aprovechamos la fortaleza de Gx para el manejo de las distintas bases de datos. Y luego a los WebPanels le agregamos esas funcionalidades extra con JQuery.

    De todos modos, todo es cuestión de Gustos, pero no hay que menospreciar Javascript.

    Ni bien podamos hacer público algunos de nuestros productos te voy a mostrar que la integración y uso es muy sencillo.

    Saludos.

    ResponderBorrar
  4. Enrique, estoy de acuerdo contigo y la "sensación de precariedad".

    Entiendo que JQuery y otras librerías "unen el Gap" entre el programador y lo que queremos hacer en el Browser, pero de todas formas todo parece arcaico.

    Con respecto a las implementaciones, que existen, creo que la diferencia está en quienes y cuantos realmente utilizan las mismas.

    Hoy en día son pocos los que se animan a hacer algo full Javascript (DOM-DHTML).

    Hay 2 casos.

    El primero son los pocos que se animan a hacerlo de forma comercial, trasladando el costo de implementación/mantenimiento al costo de licenciamiento (Terminan generalmente siendo utilizados en aplicaciones de intranet).

    Luego tenemos a los proyectos "abiertos" que sobreviven (que son muy pocos), y lo hacen gracias a que generalmente o son muy acotados (o genéricos) o son fuertemente apoyados por grandes instituciones (o comunidades).

    Para aquellos que quieran chusmear que opinan los creadores de YUI, Dojo, MooTools, Prototype y GWT sobre Javascript y lo que sería HTML 5:
    http://www.infoq.com/articles/js-for-h5

    Me da la sensación que ellos sienten lo mismo que Enrique.

    Creo que será cuestión de tiempo, esperar y forzar a que los Browsers comiencen a tomarse en serio esto de que dejaron de ser simples contenedores de HTML a ser aplicaciones que brinden una infraestructura para ejecutar aplicaciones. (aparecerá el Browser Gazella de MS?, veremos que hace frente a CHR y MOZ)

    ¿o eso también es un error?
    ¿El Browser es el "gran plugin/API" de la Web?.

    Browser = Internet = El Mundo = Todos tienen uno = Llego a muchos más = El costo mantenimiento es menor

    Creo que la guerra de los Browsers está ayudando un poco a todo esto, sin embargo siguen dejando de lado al amigo Javascript para enfocarse mas en los tiempos y el "UI/Canvas/DOM" que en el lenguaje y el entorno de desarrollo en sí.

    Hay que diferenciar a aquellos que utilizan librerías y framework's a aquellos que realmente programan en javascript's esos frameworks y librerías, el nivel de complejidad es totalmente diferente.

    Es como la movida Mashup, es muy simple utilizarlos e integrarlos a nuestras aplicaciones, pero no es así de simple desarollar uno que realmente sea compatible con todos los Browsers.

    Para los que quieran programar de forma amigable Javascript, vean Aptana, en una de esas les puede ayudar http://www.aptana.com/

    En mi opinión, Javascript bien utilizado es muy bueno, solo que los Browser's hoy en día no dan buenas herramientas de Debug y no están logrando unificarse en sus características (API nativa + DOM).

    ResponderBorrar
  5. Creo en mi humilde opinión que un sitio web 2.0 en el cual no hayas metido ni una letra de javascript, dista mucho de ser web 2.0.
    Yo no entendia nada de javascript hace un tiempito (un sintoma de ser programador GX y estar acostumbrado a que me hagan todo y yo hacer todo como GX me indica), pero chusmeando sitios que me encantaban (la interaccion y presentacion, no el contenido) como facebook, rtm, gmail, greader , etc etc y viendo los fuentes me di cuenta que sin saber javascript era muy dificil hacer algo que gustara en cuanto a su UI.
    Me meti un poco con JS y ahora no puedo hacer un webpanel sin ponerle javascript por todos lados.
    La libreria JQUERY es simplemente espectacular, muy recomendable y bastante facil de aprender (y de encontrar las cosas hechas).

    Reconozco que si tenes un modelo de miles de objetos, mejor hacer las cosas de la forma mas rapida y facil de mantener... pero si vas a hacer algun desarrollo mediano, estaria bueno tomar jquery como libreria base.

    Saludos

    ResponderBorrar
  6. Hace 4 años cuando empece con Genexus el experto en Internet que envió el representante en Argentina de Artech no sabia lo que era CSS menos aún Javascript. Les juro que casi entro en pánico...
    ¿Cómo hacer una aplicación digna para Internet sin los elementos mas básicos que pudiéramos imaginar?

    Con el tiempo comprendí las fortalezas de Genexus. Manejaba moderadamente bien las bases de datos y permitía a programadores normales entregar un producto razonable sin conocer la tecnología de fondo.

    Hoy debo reconocer que es una muy buena solución para proyectos grandes y para empresas, que sin ser especialistas en tecnología, tienen que hacer desarrollos internos o para aquellas empresas que (como la mía) desarrollan aplicaciones para terceros.

    Pero lo que nunca acepte fueron sus debilidades, en lo que respecta a la Web sin lugar a dudas son las Interfaces de Usuarios. Las que Genexus generan dan lastima. Con los patterns algo mejora pero estamos lejos de los que necesita para hacer una aplicación digna.

    Genexus hace un excelente trabajo en "proteger" al desarrollador de tener que estar al día con los últimos avances tecnológicos. Pero el costo de esta protección es demasiado alto para empresas que si pueden (y quieren) invertir en el desarrollo de tecnología.

    Decidimos que usaríamos Genexus en todo lo posible y solucionaríamos sus dificultados con tecnología.

    Desarrollamos un framework, (gracias a Sauron y Rafrik), en donde cada día incorporamos mas y mas Javascript y CSS. Los resultados son radicalmente diferentes.

    Javascript es un lenguaje dinámico, en apariencia sencillo pero de gran riqueza. Si bien se pueden hacer algunos pequeños script conociendo apenas la sintaxis, para poder usarlo como herramienta de producción hay que estudiarlo.

    Una vez que se entiende bien revela su potencial completo.

    En la actualidad estamos replanteando completamente el framework para que limitemos Genexus a manejo de los datos y delegar en el cliente la mayor cantidad de tareas posibles.

    La web es fantástica como plataforma pero como cualquier plataforma tiene sus costos. Recuerdo lo simple que era hacer una pantalla en Foxpro y se me cae una lágrima pero no volvería jamas a trabajar en modo texto (apenas puedo hacer algunas aplicaciones de escritorio). Uno de los costos es que no existe control sobre el ambiente de ejecución, concretamente el browse y al acceso a los recursos locales como la impresora o el disco.

    Pero en los últimos tiempos los progresos fueron enormes. Excelente librerias (jQuery, para GX sin duda la mejor) y cada día mejores browser (Chrome 2.0, Firefox 3.5 o Safari 4.0 , Incluso IE 8.0 no esta tan mal) hacer a la Web una plataforma totalmente viable.

    Si quieren probar entren a:
    www.micolegioweb.com.ar/colegio_pruebausuario: demo@agil-soft.com
    clave: 123

    Al entrar pulsar [F2] + "alu" + [INTRO]
    Luego [F3] + "ale" + [ABAJO] + [INTRO]

    ResponderBorrar
  7. David:
    Mi sensacion es que tiene sus riesgos que la comunidad entera desarrolle aplicaciones basadas en javascript y los navegadores en el estado actual de los mismos.

    Me siento como MARTILLANDO un TORNILLO con una TENAZA. Se puede hacer y logro el objetivo, pero me da mucho trabajo y uso herramientas que no estan pensadas para eso.

    Las bibliotecas (no son librerias) ayudan a lograrlo, pero las siento como un parche....
    Gracias por el aporte.

    Fabi:
    No me gusta mucho la etiqueta de Web 2.0, pero creo que hay muchas buenas aplicaciones modernas que no usan javascript y si otras tecnologias como silverlight,air y otras cosas.
    No estoy en contra de javascript y he programado con este lenguaje. Creo que la integracion con GX, no es la mejor, pero esto esta mejorando y va a mejorar mas aun en el futuro. Mi sensacion es que me gustaria encontrar una opcion tecnologica que me dejara mas contento que programar con javascript.
    La pregunta que trato de responderme a mi mismo es:
    ¿La forma de programar con javascript va a durar 5 años? Me da la sensacion que van a aparecer otras cosas que la sustituya, y por eso no quiero meter mucho codigo con esto.

    No desconozco que hay aplicaciones con requerimientos muy diferentes. Las que acostumbro a desarrollar son aplicaciones grandes, donde los requerimientos de interfaz de usuarios vienen bastante abajo si las comparo con confiabilidad, escalabilidad y de errores en calculo.
    El esfuerzo (demasiado grande) de tener una aplicación "linda" no es algo que para quienes desarrollamos paguen. Es solo una cuestión de costo/beneficio.

    Alejandro:
    Vi la aplicacion de ejemplo que mandaste y esta muy buena. No es el tipo de aplicación que desarrollo, pero me gusto.
    Las mejores bibliotecas, los mejores browsers, van a ayudarnos a todos.

    jQuery, parece ser la ganadora de todas las bibliotecas javascript.
    Gracias por los comentarios a todos.


    jQuery es muy buena

    ResponderBorrar
  8. Creo que el problema no es Javascript. El problema es el acceso al DOM del html que hace dificil lograr cosas "lindas" sin enredarse y sobre todo lograr el mismo look & feel en todos los browsers.
    No creo que javascript necesite mejoras. Si creo que el DOM lo necesita y en ese sentido HTML5 es un gran avance.
    Por otro lado, los nuevos browsers ( chrome, ie8, ff3, etc) han logrado mejoras increibles en los interpretes de JS ( cosa que era en mi opinion el unico punto debil para usar JS "en serio" )

    ResponderBorrar
  9. Alfredo:
    Javascript no es el culpable, pero si las implementaciones del mismo, que en todos los browser son diferentes.

    No es muy efectivo, tener que desarrollar algo con pequeñas diferencias para cada un de los navegadores existentes.

    Seria mejor poder decir que mi aplicacion es compatible con el standard YY y con eso asegurarme que va a funcionar con todos los navegadores que cumplan con eso. Esto aun es medio utópico.
    Espero que html5 mejore la cosa.

    ResponderBorrar
  10. El manejo del DOM en forma uniforme es lo que hace jQuery (o prototype o YUI, etc)

    Las diferencias del lenguaje en si mismo no son para nada relevantes.

    Incluso en jQuery 1.3 ni siguiera la librería tiene código especifico para cada browse. Usa una técnica mas robusta y sencilla de detectar las capacidades del browse en el que corre.

    Hoy el tema no pasa por las limitaciones del browse, ni del lenguaje. La cosa para por las necesidades que tenga el sistema y si disponemos de los recursos (tiempo, esfuerzo, dinero) para invertir.

    ResponderBorrar
  11. alguien sabe cómo implementar efectivamente un framework javascript.. En mi caso es JQuery, que no está funcionando en un webform simple y vacío sólo con un bubble (tipo coda), supongo por js de Gx.

    ResponderBorrar

Publicar un comentario

1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.

Entradas más populares de este blog

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Aplicación monolítica o distribuida?

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.