Buscar
Social
Ofertas laborales ES
lunes
feb252008

¿Muere el desarrollo nativo en móviles? ¿Nace el móvil-web?

Ajaxian publica un interesante artículo de opinión de Michael Mace, antiguo vicepresidente de Palm, basado también en palabras de Elia Freedman, CEO of Infinity Softworks, una anteriormente exitosa empresa de software para móbiles.

El artículo muestra que cada vez es más difícil producir aplicaciones nativas para móviles, por varias razones, desde la cada vez mayor proliferación de sistemas operativos para móviles que hace que la compatibilidad sea un problema cada vez mayor:

  1. Palm OS I
  2. Palm OS II (if Palm doesn’t cancel it)
  3. Windows Mobile Class and Professional (both based on Microsoft’s Pocket PC operating system)
  4. Windows Mobile Standard (based on Microsoft’s Smartphone operating system)
  5. Windows Vista and XP for very very small laptops and tablets
  6. Apple OS X version for portables (iPhone, iPod Touch)
  7. Symbian OS
  8. RIM’s BlackBerry operating system
  9. Google’s rumored operating system (if it is more than a rumor)
  10. Sun’s rumored Java OS (if it’s more than a rumor)

Nota: el S.O. de Google que se cita supongo que se refiere a Android.

Así como la necesidad de las correspondientes certificaciones y acuerdos con operadores y fabricantes, que hacen encarecer el producto final si se quiere llegar a un público amplio. Los mismos operadores de telecomunicaciones cada vez ponen las cosas peor, en palabras de Elia los operadores ponen cada vez más problemas para acceder al aparato.

Michael plantea que el futuro de las aplicaciones móviles va en la dirección del web, por varias razones:

- Los navegadores han mejorado técnicamente muchísimo, como ejemplo representativo los basados en WebKit tal y como el iPhone y el navegador de Nokia para el S60

- Empiezan a existir tarifas planas de conexión a Internet desde móvil, lo cual ayuda a perder el miedo a gastarse montones de dinero simplemente por navegar.

- La tecnología web libera al programador de ser dependiente de operadores y fabricantes para llegar a sus destinatarios.

¿Estais de acuerdo con el analisis anterior?

¿el futuro del desarrollo de aplicaciones para móviles es web?

¿es todavía demasiado pobre la tecnología web en móviles?

¿es demasiado caro todavía navegar por Internet con el móvil?

 

lunes
feb252008

Y... ahora, ¿qué uso?

Claro, tenés un proyecto en mente. Lo tienes claro. El nuevo negocio es el de los buscadores de vuelos baratos por internet. 

Te decides a armar el modelo de negocios, los contactos y ves que todo marcha a la perfección. Llegas al punto insignificante de tener que pensar en la tecnología. Vos hiciste todo tipo de análisis y llegás a este punto a la hora de valorar inversión. Realmente es la espina dorsal de tu negocio. Y está claro que sin la webapp que sea capaz de buscar esos vuelos, mandar newsletters, gestionar cuentas, ofertas, feeds, pushs, etc., sin eso, no tienes nada.

Así que llegas a este punto. Aha... y.... no tienes mucho dinero y la inversión ha de ser mínima. Pero sabes que programando algo en perl o php te lo sacas de encima rápida y económicamente. Armas un linux, le metes mysql, un apache y te pones página a página... armas parsers para que vayan agarrando la info de otros sites o si te quieres complicar la programación pero simplificar el tema lo que haces es utilizar los servicios que disponen estos sites de los cuales sacas la info. 

Pero también sabes perfectamente que en cuanto quieras crecer un poquito, agregar funcionalidades, diseñar por un lado (view), separar los datos (model) y hacer ajustes en el funcionamiento (controller), tanto perl como php se te puede quedar chico. Con un lenguaje como java (orientado a objetos) tienes la posibilidad de disponer de mejor rendimiento (menos procesos y carga en el servidor), re utilizar código y con un buen diseño puedes modificar y toquetear sin que se te rompa todo. En un futuro podrás hacer que tus diseñadores hagan el diseño y los programadores la programación. La inversión en Java es mayor en costes de programación. Y te preguntas cuáles son las ventajas reales de utilizar Java en este caso.

Primera cuestión: ¿Vale la pena complicarnos con Java? ¿Se justifica tanto lio cuando lo podemos solventar con otros lenguajes script como PHP?

Después de que hablaste con tu técnico de confianza y te explica que Java es sin duda (¿lo es?) la mejor opción comienzas a evaluar. Te surgen distintos contenedores y acabas optando por uno de ellos (gratuito, claro). Tomcat, Glassfish o JBoss... Da igual. ¿Y ahora? ¿Uso portal y portlets? ¿Uso swing + MVC? ¿Uso Struts (1 o 2)? ¿Sean? Aunque crees que JSF tiene futuro y Ajax claro que quieres usar. Usar Ajax con Struts2 es fácil, también con JSF. Empiezas a jugar con Maven, ANT, XDoclet, Tapestry... obviamente JSP y Servlets. Tienes que utilizarlo todo. Aunque lo ves demasiado complicado para algo que no parece tan complicado. Para persistencia... uff... ¿te quedas con Hibernate? Buscas y buscas. Lees, investigas y no sabes por donde seguir. ¿Qué tecnologías usas? Todo parece muy complicado y demasiado. Los portlets pintan bien.

Segunda cuestión: ¿qué frameworks usas? ¿herramientas en general? ¿cómo lo armas?

Bueno al final, viendo que JBoss lo tiene todo allí, pues utilizando su contenedor acabas usando su portal sobre un struts2. También usas algo de los tags de ajax de struts2 por simplicidad. Descartaste richfaces y el seam. Te diste cuenta que no puedes evaluarlo todo y no te sobra el tiempo. Te decides a ponerte manos a la obra e ir encarando problema por problema ya que tampoco te puedes disponer a hacer los use cases, business cases y demases diseños UML.

Después de semanas de trabajo aún estás luchando con tus problemas. Te das cuenta que has aprendido un montón y has utilizado tecnologías que antes ni conocías. Tuviste que leer un montón y aún así no estás seguro de haber elegido bien. Claro que siempre puedes cambiar... Te planteas cuándo te hubiera costado (en tiempo o programadores) desarrollarlo en PHP.

Tercera cuestión: resultado y volviendo a la primera cuestión, ¿valió la pena? ¿Es java un lenguaje realmente apto para el desarrollo de sitios web? ¿O es java únicamente útil en desarrollos más complejos como B2B?

lunes
feb252008

Adobe publica Air 1.0 y Flex 3.0

Adobe ha quitado la etiqueta beta a sus productos RIA y a partir de hoy se vuelven oficiales la versiónh 1.0 de AIRy la 3.0 de Flex.

Adobe Air es una tecnología para construir aplicaciones RIA que no dependan del navegador y que puedan ejecutarse como standalone en el escritorio. Permite usar tecnologías web como html, javascript y tecnologías Adobe como ActionScript y Flex para construir aplicaciones de escritorio. Una de las funcionalidades más interesantes que ofrece Air es la posibilidad de trabajar tanto en línea como fuera de ella. 

Entre las nuevas características de AIR 1.0 están:

 

  • Funcionalidad mejorada con el esctritorio: Drag and drop al sistema operativo , copiar y pegar entre aplicaciones, ejecutar aplicaciones AIR desde el escritorio o el navegador y la posibilidad de ejecutarse en segundo plano y generar notificaciones.
  • Acceso a datos: Adobe AIR provee acceso síncrono y asíncrono al sistema de archivos local así como a bases de datos locales. La base de datos está implementada usando SQLite.
  • Soporte a librerías JS: jQuery, Ext JS, Dojo, y Spry. Adobe AIR integra JavaScript y ActionScript
  • Seguridad: Las aplicaciones se instalan mediante un proceso que verifica que la aplicación esté firmada con certificados digitales.

Por su parte, Flex es la tecnología para construir aplicaciones RIA que se ejecuten dentro del navegador de Adobe. Entre las mejoras de esta versión 3 están:

  • Soporte completo a AIR
  • Integración con Adobe Creative Suite 3
  • Nuevos componentes para la visualización de datos
  • Nuevos profilers de memoria y desempeño

Y yo añadiría que ahora las aplicaciones Flex ya soporten el botón "Atrás" de los navegadores y el bookmarking. También se han dado a conocer las nuevas versiones de Flex Builder, la suite para crear aplicaciones Flex que corre sobre Eclipse, en su versión estándar con un precio de 207 euros y en la profesional de 578 euros.

Adicionalmente, Adobe a lanzado su sitio para los productos open source suyos o en los que colabora: Adobe Open Source como Flex SDK, Blase DS (una versión libre de sus Flex Data Services), Webkit y Tamarin. 

Por cierto, para aquellos interesados en AIR, el tour europeo onAIR de Adobe estará en Madrid este 31 de marzo en el Moma con los expertos en la tecnología de Adobe que impartirán talleres y charlas. El evento es gratuito pero requiere registro previo.

lunes
feb252008

Microsoft publica los formatos de todas las aplicaciones de su suite de ofimática

Con el objetivo de fomentar la interoperabilidad entre sus soluciones y las de terceras partes, Microsoft tiene intención de publicar las especificaciones de gran parte de los formatos y protocolos de comunicación que emplean sus soluciones. Por lo de ahora, ya ha publicado las correspondientes con los formatos de Word, Excel y PowerPoint, entre otros. En el futuro se publicarán protocolos de comunicación empleados por NET Framework, Windows Server 2008 y SQL Server 2008.

No me han quedado completamente claras las condiciones bajo las cuales se pueden usar, pero sí me han quedado claras dos cosas: junto con esta publicación está la promesa de que Microsoft no pondrá demandas por el uso de su propiedad intelectual contra proyectos de software libre que no tengan una versión comercial, siempre y cuando los responsables de dicho proyecto no pongan una demanda en contra de Microsoft; y que las condiciones bajo las cuales se puede acceder a esta propiedad intelectual no son compatibles con la licencia GPL.

Dados los "peros" de la oferta, no tengo claro hasta qué punto esto resultara útil para OpenOffice, Samba, Mono y proyectos similares. Por otro lado, este extraño movimiento por parte de Microsoft también parece un guiño a la unión europea, que últimamente le está dando muchos palos por no poder interoperar con soluciones de otras compañías.

domingo
feb242008

Version 1.0 alpha de jServiceRules.

Hola a todos,

Acabo de publicar la versión 1.0 (working alpha) del framework jServiceRules a través de:

http://code.google.com/p/jservicerules

Este framework permite el uso de reglas /semanticas desde servicios (u otras clases) de una forma rápida y sencilla. El API es genèrico para BRE, pero la implementación de esta versión se basa en DROOLS 4.0.

Las características de este framework son:

 

  •  Transformación ràpida de Servicios POJO / Enterprise a Semantic Services.
  •  Fácil configuración basada en código o en Spring.
  •  Oculta la complejidad de uso y configuración de los BRE como Drools.
  •  Nuevas funcionalidades añadidas para la comunicación del BRE con el entorno.
  •  Integración con Spring, Hibernate, Mule etc...

 

Para mas información:

http://semanticj2ee.blogspot.com/

Sal2