[View] [Edit] [Lock] [References] [Attachments] [History] [Home] [Changes] [Search] [Help]
Borrador en bruto y correcciones
Primero el texto original y marcado en rojo lo corregido. Debajo de cada parrafo corregido se pone un comentario de porque se corrigio. Luego en color mas clarito como queda con la correccion.
Elvio: Contame un poco tus experiencias en el uso de S8, qué te pareció, cómo resolviste, etc.
Claudio: El uso que yo le he dado a S8 es muy amplio. Quizas te puedo comentar los últimos desarrollos que estoy haciendo en Android (A8).Te cuento un poco esto y después te cuento los otros. Porque la verdad son muchas las cosas que tendríamos para charlar. Algunas son internas, no son desarrollos que yo esté haciendo para publicar, sino parte de un proyecto comercial. En realidad no tengo muchas cosas en producción que esté haciendo en S8. Pero si lo que yo estoy haciendo es un trabajo de evaluación en el trabajo de migración de plataforma. Siempre este tipo de tareas llevan tiempo. Tiempos para resolver las cosas nuevas que ocurren, tiempo para probar que los productos subyacentes realmente funcionen como dicen que funcionan. Porque hay cosas que no tienen que ver con Smalltalk sino con la plataforma de ejecución que hay por debajo.
Por ejemplo si hablamos de NodeJS si bien hay cierta estabilidad en el proyecto, existen cambios constantes.
En el caso de HTML5 en el nivel de desktop como de Mobile también en algunos momentos había cosas que no eran soportadas en el Mobile y en otros momentos sí. Con lo cual algunas pruebas que uno hace quedan rápidamente invalidadas. Específicamente en el soporte para HTML5. Esto hace que hoy por hoy, en mi caso particular, (no sé si esto es positivo o negativo para decirlo) todo esto está en concepto de evaluación. No en un desarrollo maduro y funcional.
(comentario sobre lo subrayado: esta frase se va, no aporta mucho a la respuesta)
Claudio: El uso que yo le he dado a S8 es muy amplio. Quizas te puedo comentar los últimos desarrollos que estoy haciendo en Android (A8). Algunos son internos, no son desarrollos que yo esté haciendo para publicar, sino parte de un proyecto comercial. En realidad no tengo muchas cosas en producción que esté haciendo en S8. Pero si lo que yo estoy haciendo es un trabajo de evaluación en el trabajo de migración de plataforma. Siempre este tipo de tareas llevan tiempo. Tiempos para resolver las cosas nuevas que ocurren, tiempo para probar que los productos subyacentes realmente funcionen como dicen que funcionan. Porque hay cosas que no tienen que ver con Smalltalk sino con la plataforma de ejecución que hay por debajo.
Por ejemplo si hablamos de NodeJS si bien hay cierta estabilidad en el proyecto, existen cambios constantes.
En el caso de HTML5 en el nivel de desktop como de Mobile también en algunos momentos había cosas que no eran soportadas en el Mobile y en otros momentos sí. Con lo cual algunas pruebas que uno hace quedan rápidamente invalidadas. Específicamente en el soporte para HTML5. Esto hace que hoy por hoy, en mi caso particular, (no sé si esto es positivo o negativo para decirlo) todo esto está en concepto de evaluación. No en un desarrollo maduro y funcional.
Elvio: Que problemas de soporte en HTML5 encontras?
Claudio: No veo problemas de soporte en S8 en particular. Hay tiempos que son necesarios dedicar para ver si determinada característica funciona o no. En un momento había comenzado con la proyección de usar PhoneGap para hacer una aplicación hibrida, pero después el PhoneGap vos vistes como es… se metió Adobe en el medio y embarro un poco la cancha con ese tema. De todas maneras eran proyecciones. Dentro de lo que hago, trato de buscar –teniendo en cuenta que soy unipersonal y no cuento con personal para poner a investigar muchas cosas- lo mas practico. Es decir, trato de buscar lo que me funcione y me de cierta proyección en el tiempo. Que no sea demasiado marginal.
(comentario sobre lo subrayado: quizas suavizando un poco y esquivando el palazo queda mas politico...)
Claudio: No veo problemas de soporte en S8 en particular. Hay tiempos que son necesarios dedicar para ver si determinada característica funciona o no. En un momento había comenzado con la proyección de usar PhoneGap para hacer una aplicación hibrida, pero después el PhoneGap comenzó en una fase de cierta inestabilidad. De todas maneras eran proyecciones. Dentro de lo que hago, trato de buscar –teniendo en cuenta que soy unipersonal y no cuento con personal para poner a investigar muchas cosas- lo más práctico. Es decir, trato de buscar lo que me funcione y me de cierta proyección en el tiempo. Que no sea demasiado marginal.
Elvio: Y cuáles eran las embarradas de cancha que veías en PhoneGap?
(comentario sobre lo subrayado: siguiendo la linea de lo politicamente correcto...)
Elvio: Y cuáles eran las problematicas que veías en PhoneGap?
Claudio: Hay cosas que estaban funcionando con PhoneGap y no funcionan mas… no invertí tiempo en ver cuántas y cuáles cosas no funcionaban mas. Con Ale coincidimos en que había cosas que no andaban, y que probablemente sean pavadas las que hay que tocar. Aunque uno esta experimentando y evaluando eso hace que nos genere cierto escozor y que por ahí habría que esperar un poquito más…
Esto siempre es en caso en que sea necesario acceder a funciones nativas de un dispositivo, si estamos hablando de PhoneGap en particular. (12:09)
Este último tiempo yo hice varios ciclos ahí. Desarrolle un aplicación que es de geolocalizacion, es una aplicación que tiene que ver con la actividad de la empresa a la que le estoy desarrollando, que es la misma que fue presentada en Smalltlak 2007 (http://www.dc.uba.ar/events/smalltalks/2007/presentaciones) donde se accede a la posición del dispositivo y se hace una geolocalizacion de los lugares a donde las personas se pueden dirigir, que son los puntos de recolección que tiene la empresa.
Esto es su momento había pensado encararlo con PhoneGap y S8, y que funcione en iPhone y Android y después con el tema del PhoneGap… estamos avanzando con una aplicación para Android solamente. Con la posibilidad, que no la descarto en un futuro, de usar PhoneGap para incluir iPhone y resolver cuales son los problemas que hay si esto empieza cobrar más estabilidad a medida que pasa el tiempo.
Después tenemos si una aplicación de uso interno que es en Android pero que dependemos un poco la disponibilidad de dispositivos industriales.
(comentario sobre lo subrayado: me pareciera que Ale tiene suficiente exposicion, mejor me suena que quede en primer plano Claudio. No es necesario nombrar a Ale para decir lo mismo. Mas Adelante Ale tendra sus entrevistas en el newsletter. Suavizando un poco mas el texto queda mejor)
Claudio: Hay cosas que estaban funcionando con PhoneGap y no funcionan mas… no invertí tiempo en ver cuántas y cuáles cosas no funcionaban mas. Probablemente sea trivial lo que hay que tocar. Pero aunque uno está experimentando y evaluando, eso hace que nos genere cierto escozor y que por ahí habría que esperar a que madure un poco más…
Esto siempre es en caso en que sea necesario acceder a funciones nativas de un dispositivo, si estamos hablando de PhoneGap en particular.
Este último tiempo yo hice varios ciclos ahí. Desarrolle un aplicación que es de geolocalizacion, es una aplicación que tiene que ver con la actividad de la empresa a la que le estoy desarrollando, que es la misma que fue presentada en Smalltlak 2007 donde se accede a la posición del dispositivo y se hace una geolocalizacion de los lugares a donde las personas se pueden dirigir, que son los puntos de recolección que tiene la empresa.
Esto en su momento había pensado encararlo con PhoneGap y S8, y que funcione en iPhone y Android y después con el tema del PhoneGap… estamos avanzando con una aplicación para Android solamente. Con la posibilidad, que no la descarto en un futuro, de usar PhoneGap para incluir iPhone y resolver cuales son los problemas que hay si esto empieza cobrar más estabilidad a medida que pasa el tiempo.
Después tenemos si una aplicación de uso interno que es en Android pero que dependemos un poco la disponibilidad de dispositivos industriales.
Elvio: que sería esto?
Claudio: Dispositivos industriales, son dispositivos que están preparados para sobrevivir en ambientes adversos. Tienen carcasas que son anti-shock, etc. No son dispositivos de consumo standard. Por ejemplo en este contexto estamos hablando de gente que va en camiones, se les puede caer el dispositivo, hay polvo, lluvia, etc. Para eso estamos usando dispositivos que actualmente todos vienen con Windows. Ahora están saliendo algunos dispositivos nuevos (Android), y también en su momento habíamos evaluado ponerle protección a los dispositivos comunes pero usando Android.
Esto si ya es una aplicación más grande, no importa que para iPhone no exista. En este caso A8 es perfecto, porque está muy bien hecho, tiene una integración con el SDK de Android con la capa de Java muy buena, por lo menos de las posibilidades que brinda, de lo que se puede hacer. Tiene muy bien resuelto el tema de cómo acceder a recursos locales dentro de la misma aplicación, empaquetados dentro de la misma aplicacion, y también acceder a recursos remotos. Se puede hacer cross domain request, donde se puede acceder a recursos locales como remoto con lo cual es en este caso la aplicación de geolocalizacion lo que tiene es algunos assets que son imágenes y paginas y archivos de S8 que se cargan junto a la instalación de la aplicación y luego hay un servidor Smalltalk que le sirve novedades y información.
Elvio: y la parte del mapa como están resolviendo?
(menos coloquial)
Elvio:y la parte del mapa como está resuelta?
Claudio: La Parte del mapa lo hacemos con el Google Maps, es todo HTML5. Esto es una aplicación Web pero que está corriendo con S8.
Elvio: Seria enriquecer el mapa con todos los assets que tenes y la info generada en S8.
Claudio: Claro, la aplicación es local (instalada) y corre en el dispositivo en una WebView. Pero es Web, en el sentido remoto y local. Es decir la aplicación interactúa con un servidor remoto Smalltalk que le sirve pedacitos de aplicación. Desde el servidor estoy bajando información, objetos y también trozos de chunk para actualizar, si hubiera la necesidad de actualizar la aplicación.
Después tengo otras cosas hechas en otros Smalltalks, pero estoy trabajando en la migración de toda la plataforma de desarrollo. He trabajado a nivel de la integración de servidores Node. Yo tengo un framework de aplicación desarrollado propio, y hace más o menos 8 años que estamos trabajando en ese framework. Es totalmente independiente del dialecto, con lo cual mi análisis de la migración a S8 sería bastante posible. Lo que tengo que definir un poco es cambios de infraestructura en el enfoque. Porque lo que hoy tenemos en las aplicaciones son cosas que funcionan en un server y en el caso de migrar a S8 funcionaria en el cliente. Esto te cambia la modalidad de trabajo, es un cambio importante. El server deja de tener tanta importancia.
No estoy con la idea de levantar los frameworks en S8. Estoy con la idea de hacer un ciclo mas sobre esos frameworks y reescribirlos sobre S8.
Elvio: …pero algo de esos has migrado, aunque sea partes chicas de desarrollo, no de ese framework, si no de otras cosas que tenias.
(se puede decir lo mismo de manera mas sintetica y clara)
Elvio: …pero algo de esos has migrado, aunque sea partes chicas de desarrollo.
Claudio: Si claro, el modelo del dominio es el mismo. Lo he enganchado en una imagen S8 y he hecho persistencia desde el browser. No tenes ningún problema.
Elvio: …en este punto esto fue una evaluación.
Claudio: Si, es así. Si tuviéramos que formalizarlo en una oración más estructurada diría que mis evaluaciones concretas de pruebas de tomar el modelo del dominio del sistema –que es bastante grande, es un sistema de logística, con planificación, con gestión, etc- son positivas. Este sistema no es el de geolocalizacion. Este último es un utilitario del sistema. Si no me refiero al sistema grande, el sistema de la empresa. Según mi evaluación la migración es perfectamente posible. Exige trabajo porque cambia que en vez de correr en el server, correría en el cliente. Con lo cual hay un trabajo que hacer de adaptación. Pero yo no voy a hacer un trabajo de adaptación por arriba, sino que voy a emprender un nuevo ciclo de implementación con este nuevo modelo.
Actualmente nuestras aplicaciones son Web, están trabajando en Smalltalk -me refiero a la aplicación central de la empresa – esta aplicación tiene un modelo de gestión de información muy compleja de cómo se llevan a cabo todas las planificaciones logísticas de la empresa. La aplicación gano un premio en el 2010, salió segunda en un concurso de logística y primera salió en coca-cola, con lo cual la aplicación tiene cierta notoriedad. Tiene gestión optimización de tools, con optimización de más de 30 a 40 lugares a visitar dentro de Europa, sabiendo cuales son los trayectos más cortos, coordinación de tiempo, un montón de cosas. Tiene un modulo móvil para registrar toda la información que se realiza fuera de línea.
Elvio: …todo esto esta implementado en Smalltalk Web.
Claudio: Todo eso lo tenemos implementado en Smalltalk y hay una interfaz web y otra desktop. Toda la aplicación es en Smalltalk y la UI es un poco “despreciable” en el sentido en que no influye tanto en la aplicación en si la parte de interface. En realidad tenemos una interface web, una en Windows Mobile, una en Windows desktop, y en este momento tenemos una interface Android, usando siempre la misma aplicación por detrás.
Elvio: Este nuevo ciclo de implementación sobre S8 que nombras, como lo apuntas? Es decir, S8 tiene tantos caminos…
Claudio: S8 es tan amplio como lo es Smalltalk, pero es más amplio todavía porque es moderno. Es decir, por qué yo me quiero mover a S8, porque tengo una plataforma de ejecución moderna, más variada, hay más lugares. Hoy podría ir a servidores de 64bit con Node, como también correr una aplicación mobile en Android, o en iPhone, o en iPad, o en cualquier browser que soporte HTML5 completamente.
Elvio: Que ganancia verías en este nuevo ciclo de implementación?
Claudio: Es acceder a cosas que por el momento no tengo. Para migrar lo migro y punto, es lo mismo. Pero para qué voy a migrar si voy a tener lo mismo? Antes trabajaba con el browser y con javascript. Ahora tengo la posibilidad de trabajar en el browser en Smalltalk. Tengo Smalltalk en el servidor y en el browser, con todo lo que implica eso. Para ser más concreto por ejemplo, si se arma una página web o cualquier interface de usuario, o cualquier prueba que hagas en un browser, te las tenes que arreglar con las herramientas que te provee el browser, con el firebug, etc, herramientas muy limitadas, mas todos las validaciones, llamadas que se hacen al server, usando ajax , etc. Con Smalltalk es totalmente interactivo, tenes un ambiente dentro del browser. Esto me da la posibilidad de experimentar cosas que antes no pensaba porque no tenía ganas de renegar. Si bien javascript es dinámico pero no me da esa posibilidad que me da Smalltalk y estoy trabajando de la misma manera. De manera subyacente es la misma plataforma de ejecución. Pero el S8 nos plantea una apertura de algo que antes no tenía, por lo rudimentario que es el javascript y las herramientas que tiene. Y a nivel de servidor me plantea una apertura a un modelo de ejecución que me parece mucho más moderno que las maquinas virtuales de Smalltalk comunes para servidor.
Si lo queremos poner en términos de ganancia, es que te abre posibilidades, te abre el juego de una manera que antes no era posible.
Elvio: siempre que se habla de migración se habla de costos…
Claudio: Yo nunca migro. Migración es tomar lo que está escrito y cachetearlo un poco para que ande en otro lado. Como Smalltalker uno hace siempre las cosas de nuevo. A veces por cuestiones de compromisos cacheteas algo para que ande pero después lo reescribís.
Yo abandone hace mucho tiempo el seaside… el seaside me sirvió como alguien que pone una piedra en el camino para superar un obstáculo. Lo pise y lo deje atrás. Después arme una capa de aplicación web y a partir de ahí tengo todo independiente del dialecto, con lo cual yo podría poner todo eso en S8 y seguir trabajando de la misma manera, pero… si yo trabajo de la misma manera me pierdo o dejo de aprovechar todas las posibilidades que me abre S8. Porque pondría todo en el servidor con Node y seguiría trabajando de la misma manera en el browser. Y ahora voy a trabajar de las dos maneras. Con Smalltalk en el servidor y con Smalltalk en el cliente. Y si puedo trabajar con Smalltalk en el cliente, puedo conectar dos clientes sin el server en el medio.
(mejor omitimos esto. Evitemos suseptibilidades en nuestra comunidad tan 'sensible' :-D)
Claudio: Yo nunca migro. Migración es tomar lo que está escrito y cachetearlo un poco para que ande en otro lado. Como Smalltalker uno hace siempre las cosas de nuevo. A veces por cuestiones de compromisos cacheteas algo para que ande pero después lo reescribís.
Con el tiempo arme una capa de aplicación web y a partir de ahí tengo todo independiente del dialecto, con lo cual yo podría poner todo eso en S8 y seguir trabajando de la misma manera, pero… si yo trabajo de la misma manera me pierdo o dejo de aprovechar todas las posibilidades que me abre S8. Porque pondría todo en el servidor con Node y seguiría trabajando de la misma manera en el browser. Y ahora voy a trabajar de las dos maneras. Con Smalltalk en el servidor y con Smalltalk en el cliente. Y si puedo trabajar con Smalltalk en el cliente, puedo conectar dos clientes sin el server en el medio...
Elvio: En este punto se abre un abanico de posibilidades que nadie se esperaba…
Claudio: Creo que esa es la clave de lo que es interesante resaltar por lo menos, es lo que creo desde mi lugar. Yo soy más activo que reflexivo con estas cosas. Soy más de hacer en vez de teorizar por qué lo hago. En el caso de Smalltalk uno va dejándose llevar en el hacer. Con lo cual mucho de lo que te cuento tiene más que ver con esa percepción que uno tiene de trabajar en smalltalk.