Las aplicaciones en HTML5 todavía no alcanzan a las nativas

De esto trata el documento publicado por Forrester. Un artículo en el que intenta explicar cómo satisfacer la demanda de la próxima generación, y la estrategia de desarrollo móvil que hay que seguir, que no es otra que HTML5 y Responsive Design.
Todos los programadores que se dedican hoy en día al desarrollo de software para dispositivos móviles, se encuentran con un problema en común. Un problema que para los usuarios es una ventaja, pero que para otros es un auténtico quebradero de cabeza. Se trata del tamaño de las pantallas de nuestros aparatos de bolsillo.
Forrester realizó una encuesta a 146 estadounidenses responsables de IT en octubre de 2013 sobre las tecnologías móviles que utilizaban. En lo más alto estaba HTML5 y Responsive Design. Más del 40% de los encuestados señaló que usaban ambos.
Gracias a esta encuesta hemos podido ver que el diseño de aplicaciones desarrolladas en HTML5 no es una panacea, sino todo lo contrario. De hecho , una de las respuestas de la encuesta del informe señala que el 59% de las aplicaciones móviles desarrolladas únicamente en HTML5, sufrieron retrasos en sus plazos de entrega. Donde la mayor cantidad de tiempo se pierde en pruebas y corrección de errores.
Por todos es conocido que las aplicaciones nativas son más rápidas que las programadas en HTML5. De esto gran parte de culpa la tienen los navegadores móviles, que no se actualizan como deberían. Mientras que algunos sistemas operativos móviles que se construyen con HTML5, como Firefox OS, son demasiado lentos para ser considerados por los desarrolladores.
Además, otras investigaciones han demostrado que el interés de los desarrolladores por crear software en HTML5 se ha ido perdiendo para su uso general, aunque la mayoría piensa que sigue siendo una de las principales opciones para que formen una pequeña parte de otras aplicaciones.



Se libera Dart 1.1

Hace apenas un par de meses se liberó la versión 1.0 de Dart. Hoy sale la versión 1.1 que promete mejor desempeño, más características, así como herramientas mejoradas. En un artículo de Seth Ladd, anunciando la salida de Dart 1.1, indica que es más rápido que Javascript por un 25% más o menos.
Dice Ladd: “Dart continúa brillando. El desempeño en las pruebas hechas por Richards hablan de un 25% más rápido a favor de la primera versión, haciendo el runtime comparable con el de Javascript original. El desempeño de nuevo benchmark, FluidMotion se ha duplicado desde noviembre. Dart2js ahora genera Javascript que trabaja al menos tan bien, si no es que mejor que el equivalente idiomático de Javascript”.
Las notas de Ladd indican que hay un número de mejoras para el lado del servidor de Dart, incluyendo soporte para archivos grandes, copia de archivos, manejadores de procesos de señales e información de la consola. Hay nuevo soporte ara el User Datagram protocol (UDP), cuya intención es permitir a los desarrolladores escribir aplicaciones de streaming más eficientes, así como documentación para el soporte de las línea de comandos y las aplicaciones desde el lado del servidor de Dart.
Las actualizaciones del editor de Dart incluyen depuración mejorada, implementación de código y más herramientas de descripción. En promedio, el desempeño del editor y el analizador también han mejorado.



Las cinco cosas más frustrantes de la profesión de programador

Trabajar como programador implica una serie de cosas realmente frustrante que podemos declarar como propias de la profesión. No os preocupéis, realmente puede seguir gustándote trabajar como programador, pero debes asumirlo cuanto antes.
La profesión de programador está lejos de ser automatizada por completo, es necesario resolver muchos y variados problemas a diario mediante la intervención humana. Parte de ellos son quebraderos de cabeza que no tienen que ver con el trabajo en sí que estamos haciendo.
A continuación una serie de las cosas más frustrantes de la profesión de programador.
1. Arreglar el ordenador a todo el mundo
Que gran parte de la humanidad (incluyendo a conocidos, amigos, vecinos y, por supuesto, familiares) asuman que puedes y debes arreglarles el ordenador o cualquier aparato electrónico. Por supuesto, todo esto de forma gratuita y dedicando tu tiempo libre. Lo peor de esto, no es arreglar el ordenador en sí, si no aguantar todos los comentarios y vacilaciones cuando realmente algo no tiene solución y les intentas convencer que deben llevarlo al SAT oficial.
2. Incidencias de errores incompletas
Informes de bugs sin suficiente información para reproducir el error. Cualquiera que se dedique a programar y mantener una aplicación con usuarios finales ha sufrido auténticos quebraderos de cabeza al intentar resolver incidencias incompletas. Los usuarios tienen el gatillo fácil para abrir una incidencia sin preocuparse si realmente lo están haciendo bien o aportar la suficiente información sobre el problema. Hay que perseguirlos para recabar datos e insistir para que aprendan a abrir incidencias de errores adecuadamente.
3. Que los usuarios ignoren la documentación de la aplicación
Ignorar la documentación. Hay que reconocerlo: escribir documentación es una de las tareas más tediosas que existen, sobre todo cuando te toca hacerlo al final, después de haber dedicado toda tu energía a desarrollar una aplicación. Por eso, es especialmente frustrante cuando un usuario ignora la documentación y pretende que le expliquemos cómo funciona algo sin haberse molestado en echar un vistazo al manual de usuario.
4. Las prisas en los plazos de entrega
Una lucha constante entre los desarrolladores y sus gestores de proyectos imposible de solucionar (da igual si internamente usas metodologías ágiles, para ellos no existen). Por un lado se quiere tener una nueva funcionalidad (muchas veces sin importar cómo) y, por el otro, se intenta hacer lo mejor posible, pero con plazos de entrega que no son realistas se fuerza a las horas extras y no aplicar correctamente las buenas prácticas a la hora de desarrollar: no hay tests, no se documenta, no existe ningún principio de clean code, etc…
5. Los errores inesperados en el entorno de desarrollo o en las maquinas de producción
Resolver los errores inesperados de servidores, de que el Eclipse empiece a fallar, problemas entre librerías, maquinas sin espacio, liarla parda con el repositorio, trabajar sin un correcto entorno de pre-producción etc.. Una serie de errores externos a nuestra aplicación, e incluso a nuestro equipo de desarrollo que nos hacen perder una mañana entera para resolverlo.
www.asociacionaepi.es



Noticia original en Genbetadev



Desarrollo de apps, ¿un negocio rentable?

Debido a que en los últimos años el mercado de los dispositivos móviles inteligentes ha crecido de forma exponencial en todo el mundo, y especialmente en España, muchos desarrolladores han puesto sus esperanzas en ganarse la vida desarrollando sus propias apps para las diferentes plataformas de Smartphone y Tablet.
Sin embargo, las cifras apuntan a que, si bien el número de descargas de aplicaciones está subiendo vertiginosamente, la inmensa mayoría de ellas son, eminentemente, gratuitas, lo que deja un escaso margen de oportunidades a los desarrolladores. Incluso, para la mayor parte de las apps de pago existe una versión o alternativa gratuita, por lo que, cada vez son más altos los requerimientos que los consumidores piden a la hora de pagar por una aplicación.
En este sentido, dentro de sus predicciones para 2014 en movilidad, Gartner dibuja un escenario más bien sombrío durante los próximos años. Para Ken Dulaney, vicepresidente y analista de Gartner, “el amplio número de apps existente implica que las plataformas móviles podrían resultar una vía de ingresos para muchos”. Sin embargo, afirma, “nuestros análisis muestran que la mayoría de las aplicaciones móviles no están generando beneficios. De hecho, muchas de ellas no están diseñadas para obtenerlos, sino para obtener imagen de marca o reconocimiento”.
Según Gartner, en 2018 únicamente el 0,01 por ciento de las aplicaciones móviles de consumo serán consideradas como un éxito desde el punto de vista financiero, una tasa muy pequeña si tenemos en cuenta el potencial del mercado a nivel mundial.
Y es que, hoy en día existen muchas aplicaciones móviles gratuitas que por definición no han sido creadas para obtener beneficios. Para el futuro, además, esta tendencia se reforzará, ya que Gartner espera para 2017 que el 94,5 por ciento de las aplicaciones móviles sean gratuitas. Pero, además del poco margen existente, desde Gartner afirman que la oferta de apps móviles de pago será todavía más alta, ya que se irán sumando nuevas iniciativas (especialmente en las áreas más exitosas), lo que encorsetará aún más las posibilidades.
¿Y tú qué piensas?, ¿crees que el desarrollo de apps un negocio rentable?
www.asociacionaepi.es



Eclipse IDE

Hoy vamos a dedicar unas palabras al entorno de desarrollo integrado Eclipse.
Eclipse es una plataforma de desarrollo, diseñada para ser extendida de forma indefinida a través de plug-ins. Fue concebida desde sus orígenes para convertirse en una plataforma de integración de herramientas de desarrollo. No tiene en mente un lenguaje específico, sino que es un IDE genérico, aunque goza de mucha popularidad entre la comunidad de desarrolladores del lenguaje Java usando el plug-in JDT que viene incluido en la distribución estándar del IDE.
Proporciona herramientas para la gestión de espacios de trabajo, escribir, desplegar, ejecutar y depurar aplicaciones.
Principales características
Perspectivas, editores y vistas: en Eclipse el concepto de trabajo está basado en las perspectivas, que no es otra cosa que una preconfiguración de ventanas y editores, relacionadas entre sí, y que nos permiten trabajar en un determinado entorno de trabajo de forma óptima.
Gestión de proyectos: el desarrollo sobre Eclipse se basa en los proyectos, que son el conjunto de recursos relacionados entre sí, como puede ser el código fuente, documentación, ficheros configuración, árbol de directorios,… El IDE nos proporcionará asistentes y ayudas para la creación de proyectos. Por ejemplo, cuando creamos uno, se abre la perspectiva adecuada al tipo de proyecto que estemos creando, con la colección de vistas, editores y ventanas preconfigurada por defecto.
Depurador de código: se incluye un potente depurador, de uso fácil e intuitivo, y que visualmente nos ayuda a mejorar nuestro código. Para ello sólo debemos ejecutar el programa en modo depuración (con un simple botón). De nuevo, tenemos una perspectiva específica para la depuración de código, la perspectiva depuración, donde se muestra de forma ordenada toda la información necesaria para realizar dicha tarea.
Extensa colección de plug-ins: están disponibles en una gran cantidad, unos publicados por Eclipse, otros por terceros. Al haber sido un estándar de facto durante tanto tiempo (no el único estándar, pero sí uno de ellos), la colección disponible es muy grande. Los hay gratuitos, de pago, bajo distintas licencias, pero casi para cualquier cosa que nos imaginemos tenemos el plug-in adecuado.
Plug-in JDT
Dado el extenso uso que se le da, nos permitimos dedicarle un apartado específico. Es el plug-in encargado del soporte del IDE al lenguaje Java, incluido en la versión estándar de Eclipse por defecto, que como ya hemos explicado, no está concebido para dar soporte a un lenguaje determinado.
Cuando abrimos un proyecto Java, se abre la perspectiva correspondiente. Está formada por dos vistas: Outline y Package Explorer. La vista Outline se encarga de mostrar el esquema de la clase que tenemos abierta en el editor activo en ese momento. Una cuestión muy interesante es que cuando tenemos una vista activa, se visualizan en la barra de herramientas iconos extra, que nos permitirán el acceso rápido a las funciones más usadas de dicha vista.
El coloreado de código en el editor es una característica muy interesante, realizando para ello el reconocimiento sintáctico de todas aquellas palabras que son reservadas en el lenguaje Java.
Asímismo nos permite completar el código automáticamente (code completion), con sugerencias dependientes del contexto, lo cual nos permitirá escribir código más rápidamente.
Se podrá configurar el formateo de código, la forma de escribir los comentarios, incluyendo comentarios para la posterior creación del Javadoc. Podemos generar los esqueletos de clase automáticamente, generación de métodos getters y setters de manera automática, y un largo etcétera de funcionalidades, que a día de hoy nos parecen típicos, pero muy útiles.
Historia
Los orígenes de Eclipse los encontramos en su antecesor VisualAge de IBM, que desarrollo una máquina virtual dual para Java y Smaltalk (lenguaje este último en el que se escribió el producto). Cuando Java se comenzó a extender, y aumentó su popularidad, IBM decidió abandonar el proyecto de la máquina virtual dual y desarrollar una nueva plataforma basada en dicho lenguaje.
De ahí, en el año 2001, nació junto con Borland la Fundación Eclipse, sin ánimo de lucro, convirtiendo a Eclipse en un proyecto de código abierto, bajo licencia Eclipse Public License. Esta fundación se ha ido enriqueciendo con la inclusión de importantes empresas del mundo del desarrollo: Red Hat, Oracle, HP,…
Proceso de instalación
Es tan sencillo como descargárselo de la página de Eclipse y descomprimir el fichero en la ubicación deseada. No hay nada más que hacer, ejecutarlo, configurarlo y listo.
Versiones
Está muy bien, ¡que fácil es de instalar!, pero ¿qué versión me bajo?. En la página de descargas de Eclipse podemos ver todas las versiones que se muestran en la imagen que acompaña a estas líneas.
Lo primero, y bastante obvio es elegir el sistema operativo para el cual va a ser instalado: Windows, Linux o Mac OS X (desplegable de la parte superior del listado). Después deberemos ver el listado de versiones preconfiguradas que se nos ofrecen, esto es la misma base pero con diferentes plug-ins instalados, ajustándose a las necesidades más conocidas para los distintas necesidades de programación. En la fecha actual hay 12 versiones disponibles, que no encontráis la vuestra, no olvidéis buscar en las “Developer Builds“ donde podemos encontrar la que se adapte a nuestras necesidades, pero en desarrollo. Los programadores de PHP podrán encontrar en este listado la versión de Eclipse adecuada para ellos:
Si aun así no encontramos la versión que se adapta a nuestras necesidades, podemos buscar entre la extensa lista de software basado en eclipse.
Existen otras versiones, basadas también en Eclipse, y desarrolladas por terceros, como puede ser el caso de STS (Spring Tool Suite), Amzi! Prolog + Logic Server, Goclipse, MyEclipse, TimeStorm, Aptana Studio, Zend Studio,… La lista de IDEs basados en Eclipse es enorme, con lo cual nos hacemos una idea de la importancia de este.