lunes, 24 de febrero de 2014

Las diez tecnologías mejor pagadas que un programador puede aprender

Un estudio publicado recientemente basándose en la base de datos del buscador de empleos tecnológico, Dice, muestra un interesante pulso de la industria del desarrollo y la valoración de cierta tecnologías, de acuerdo al salario que las empresas pagan a los profesionales.
Entre los principales puntos a destacar:
  • Una tremenda especialización entre los profesionales de la analitica y la minería de datos.
  • El posicionamiento de Bigdata entre las tecnologías mejor valoradas.
  • El dominio de las tecnologías de backend frente a las tecnologías frontend o aplicaciones móviles.

Ranking de tecnologías mejor pagadas


  • R: un lenguaje y entorno de programación para análisis estadístico y gráfico. Proporciona un amplio abanico de herramientas estadísticas para el análisis de comportamientos. Es uno de los pilares para el análisis de grandes datos en el concepto más amplio de Bigdata. Si queréis empezar a aprender algo de R, os aconsejamos, la versión en español de R for Beginners, traducido por Jorge A. Ahumada.
  • NoSQL: el conjunto de bases de datos y sistemas de almacenamiento contrapuesto al sistema tradicional de bases de datos relacionales. Existen un amplio abanico de tecnologías y módelos como sistemas de grafos, documentos, orientadas a objetos, a colummnas, clave-valor, etc… Entre ellas nos encontramos con Redis, MongoDB, Cassandra, Neo4J, DynamoDB, etc…
  • MapReduce: es un modelo de programación para procesar grandes cantidades de datos, en forma paralela y en clusters. Está compuesto por el proceso de Map() para el filtrado y de Reduce() para el procesado. Podemos encontrarnos con tecnologías como Hadoop.
  • PMBok: uno de los estándares de gestión de proyectos más extendidos del mundo. En el se basan distintos master que certifican a jefes de proyectos y gestores en la industria del software. Más enfocado a la parte de gestión que a la desarrollo de software.
  • Cassandra: una de las tecnologías NoSQL que mencionábamos más arriba con un fuerte posicionamiento en el mercado. Desarrollada inicialmente por Facebook en 2008 y que se describe como un modelo de datos BigTable. Sus principales usarios son grandes compañías como Twitter o la propia Facebook.
  • Onmigraffle, más orientado a profesionales de usabilidad que programación, pero se cuela sorprendentemente en el ranking. Se trata de una herramienta para crear diagramas, gráficas de flujo, ilustraciones, etc… Similar a Microsoft Visio, pero que se posicionar fuertemente para construir todo tipo de diseños y wireframes por los expertos en usabilidad, bastante bien valorados
  • Pig: volvemos a referirnos a Bigdate y MapReduce con esta herramienta construida con la intención como plataforma por encima de Hadoop para el análisis de datos. Incialmente desarrollada por Yahoo, ahroa pertenece a la fundación Apache.
  • Service Oriented Arquitecture (SOA): esta es una de las habilidades o conocimientos más amplio basados en el patrón de diseño y arquitectura de aplicaciones SOA: las aplicaciones se sustentan en servicios totalmente independientes que encajan con otros para formar funcionalidades más amplias.
  • Hadoop: Otra más para apuntar en el conjunto relacionado con BigData. Un modelo de almacenamiento y análisis de grandes cantidades de datos cuyo sistema es HDFS. Sus usos principales son el clustering de datos y aplicar técnicas de MapReduce
  • MongoDB: una de las bases de datos NoSQL más ampliamente usadas. Parte de su popularidad viene gracias a su modelo basado en documentos y JSON de almacenamiento que hacen bastante cómodo su uso y tratamiento. 
Después de confeccionar este ranking, quizás la industria de software en España sea muy distinta. Pero no viene mal conocer y echar un vistazo estas tecnologías que están en la punta de lanza en otros mercados como el norteamericano. Quizás en unos años tengamos que pegarnos más en serio con ellas, sobre todo con Bigdata que, como vemos, difiere mucho del estado casi en pañales de España.

lunes, 17 de febrero de 2014

Android++ para Visual Studio

Una nueva extensión para Visual Studio les permite ahora a los desarrolladores crear apps para Android en el IDE de Microsoft. Android ++ es una extensión gratuita que viene con los scripts MSBuild que permiten a la aplicación de Android desarrollarse dentro de Visual Studio. Está pensado de entrada para las apps en C/C++ basadas en el NDK, aunque incorporara algunos otros elementos que permiten manejar los recursos, compilación integrada en Java, etcétera.

Justin Webb, quien creó Android++, es un programador de Android que trabaja para la compañía de juegos NaturalMotion en Oxford, Inglaterra. En un artículo de su blog sobre la nueva extensión dice que Android aumenta Visual Studio para soportar desarrollo nativo en NDK, indicando que “si usted no está familiarizado o se siente confundido sobre lo que quiere decir 'nativo', esto significa esencialmente que los proyectos tienen como compilador C/C++. En breve, se intenta dar soporte a apps cuyo desempeño es crítico, como juegos o simulaciones. También permite manejar la depuración de aquellas apps nativas, usando GDB, el cual se puede controlar desde el IDE de Visual Studio, como si se estuviese depurando una app de Windows. No hay soporte para C# o .NET. Si alguien quiere esto, busque en Xamarin o Mono”.

Android++ requiere alguna de las siguientes ediciones de Visual Studio: Premium, Professional o Ultimate (2010, 2012, 2013). No se da soporte a las versiones gratuitas (Express) de dicha herramienta. Permite depurar en la mayoría de los dispositivos. No hay restricciones de uso o de venta. No hay licencias, nada.

La extensión está aún en beta pero Webb piensa que pronto será lo suficientemente estable para cambiar su status. Webb acepta apps (para hacer pruebas) y dice que da prioridad a aquellos que tengan ya experiencia en Android para minimizar el soporte.


lunes, 10 de febrero de 2014

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.

miércoles, 5 de febrero de 2014

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.