Buscar
Social
Ofertas laborales ES
« OpenXava 2.2 liberado | Main | Está disponible jLibrary 1.1 »
lunes
jul022007

¿Está Adobe AIR cometiendo los mismos errores que cometió Java?

En un post de Javalobby se reflexiona sobre si Adobe AIR (Adobe Integrated Runtime, anteriormente conocido como Apollo) está cometiendo los mismos errores que cometió Java al principio. AIR no permite acceder a librerías nativas, lo cual le va a impedir integrarse en el escritorio del cliente. El soporte a la impresión, malo al igual que el de Java cuando comenzó, o el sólo poder acceder a las bases de datos a través de servicios web son apuntados como grandes puntos flacos de AIR.



El autor del post afirma que con el tiempo Sun ha abandonado la estrategia 100% independiente de la plataforma para ir incorporando código nativo para integrarse mejor en el escritorio. Por ello, concluye que AIR debería hacer lo mismo desde el principio y no repetir los mismos errores de Java.



No estoy en absoluto de acuerdo con el punto de vista del autor. No creo que Java haya abandonado la estrategia de ser completamente independiente de la plataforma. Desde la primera versión de Java hasta el día de hoy la máquina virtual tiene que interactuar con el sistema operativo y contener una gran cantidad de código nativo. La máquina virtual es nuestra abstracción respecto al sistema operativo y lo que permite que nuestras aplicaciones sean independientes de éste. Lo que sí va sucediendo es que conforme la plataforma es más madura esa abstracción se va refinando y contempla más características de los sistemas.



Por ejemplo, en un principio en un sistema de ficheros sólo había directorios y archivos. La gente de Sun, para justificar las limitaciones de la abstracción y defender su tecnología, nos decía que "no se puede acceder desde Java a los permisos de los ficheros porque no todos los sistemas operativos tienen sistemas de ficheros con permisos". Una excusa mala para justificar otra realidad que expondré a continuación. Lo mismo sucedió hasta Java 6 con la bandeja del escritorio. Como no todo los sistemas operativos tienen esta característica Sun afirmaba que no se podía incorporar a Java.



La realidad es que hacer una abstracción detallada de las plataformas sobre las cuales van a correr las aplicaciones, bien sean aplicaciones Java o aplicaciones AIR, es muy complicado. Cualquier empresa tiene unos recursos limitados y tiene que obtener un balance entre esfuerzo que realiza en desarrollo y las características que aportará a su plataforma. Por ello, tanto Java como AIR comenzaron con una abstracción de muy alto nivel que era él máximo común denominador de todas las plataformas. Y poco a poco Java fue incorporando opcionalmente, según el sistema operativo lo soportase o no, abstracciones que se salían de ese máximo común denominador, como permisos de ficheros y la bandeja del escritorio.



Ahora mismo lo único que pasa con AIR es que acaba de nacer. Efectivamente, Adobe está empleando la misma estrategia de máximo común denominador que empleó Java hace 12 años. No creo que sea un error por parte de las empresas. No creo ni que Sun lo cometiese en su día ni que Adobe lo replique hoy. Simplemente es que ambas cuentan con recursos limitados, por eso no pueden crear todas las abstracciones que los programadores nos gustaría tener desde el día cero. Probablemente las decisiones que han tomado ambos sean los mejores posibles dentro de sus posibilidades.



¿Qué opinais vosotros al respecto?

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.
Comentarios deshabilitados
Comentarios deshabilitados en esta noticia.