Tendencias en desarrollo de software para 2016

7 min lectura
Tendencias en desarrollo de software para 2016
Tendencias en desarrollo de software para 2016

BBVA API Market

En BBVAOpen4U ya hemos dedicado un artículo a las tendencias en diseño digital para 2016, y ahora le toca el turno a las tendencias en desarrollo de software. Entre algunas de las más destacadas tenemos el desarrollo en la nube, la continuidad en la apuesta por las interfaces de desarrollo de aplicaciones (APIs), los web components o la isomorfización. Este es un listado de los usos y novedades para los desarrolladores para este nuevo año.

1. Desarrollo en la nube

Una gran parte del negocio del desarrollo de software se está trasladando a la nube. No solo como sistema de almacenamiento de información o procedimientos, sino también el propio proceso de desarrollo de aplicaciones. Tanto es así, que es muy posible que 2016 sea el año en el que la mayoría de las aplicaciones que no se encuentren en la nube, sí deban ser compatibles con ella ante un previsible traslado de esas aplicaciones empresariales a la nube.

En BBVAOpen4U ya hemos hablado en alguna ocasión de la importancia de algunas herramientas que permiten a los desarrolladores la edición de código directamente en la nube. Son los famosos Entornos de Desarrollo Integrado (IDEs), pero que se encuentran alojados en la nube en vez de en la máquina. A algunos de los más importantes (Cloud9, Codio, Codenvy o Nitrous) ya les dedicamos un artículo más extenso, con el análisis de sus características y las ventajas de su uso dentro del equipo de desarrollo de las empresas.

Algunas de esas ventajas evidentes son:

–       El desarrollador puede programar desde cualquier lugar.

–       Gran capacidad de personalización del IDE.

–       Trabajo colaborativo en tiempo real.

–       Menos tiempo de implementación,

–       Más que IDEs online son Plataformas de Desarrollo como Servicio (dPaaS), con cualidades sobre costes y productividad. 

 

2. Interfaces de Desarrollo de Aplicaciones (APIs)

Hoy en día no se puede concebir el desarrollo de aplicaciones o soluciones sin la existencia de Interfaces de Desarrollo de Aplicaciones. La mayoría de empresas en internet que generan servicios de algún tipo utilizan APIs en su relación con clientes. Un ejemplo muy práctico son las redes sociales como Facebook o Twitter, que han hecho de sus APIs una forma rápida de interacción de los partners con los productos o servicios que ofrecen.

Para 2016 es posible que el uso de APIs se normalice para el intercambio de información de forma segura entre proveedores y clientes. Por ejemplo en los negocios B2B (business-to-business) en campos tan dispares como el email marketing, la creación de contenidos, el posicionamiento en buscadores, la gestión de redes sociales, la analítica web o las búsquedas pagadas.

Con el aumento de la importancia de la nube y el uso de los dispositivos móviles, las APIs ofrecen unas ventajas enormes a los equipos de desarrollo.

3. Web components

Nuestro compañero Carlos Azaustre ha explicado recientemente cómo los web components son el presente y el futuro del desarrollo web. El estándar de W3C que permite desglosar el desarrollo de aplicaciones web de escritorio y móvil en pequeños contenedores con JavaScript y estilos en CSS. Cada uno de esos contenedores recibe el nombre de componentes y pueden ser comunes a varias aplicaciones, con lo que se economiza mucho el esfuerzo en desarrollo.

El padre de los web components es Google, a partir del lanzamiento del marco de desarrollo Angular JS, del que hemos hablado en más de una ocasión en BBVAOpen4U. Con este framework basado en el paradigma Modelo-Vista-Controlador, los desarrolladores incorporaban el concepto de directivas (etiquetas HTML propias para marcado HTML ajeno) a sus propios proyectos de código abierto. Es el nacimiento de los componentes como concepto de desarrollo colectivo: piezas que sirven para distintos proyectos.

4. Big Data en tiempo real: Apache Spark para todo

Apache Spark es, posiblemente, la tecnología de Big Data más revolucionaria de los últimos años. Su capacidad para el procesamiento y análisis de grandes conjuntos de datos en tiempo real supera con creces cualquier tecnología anterior. Spark es una plataforma de computación distribuida de código abierto, que ofrece unos tiempos de cálculo en memoria más rápidos que MapReduce: el rendimiento de Spark es de 10 a 100 veces más rápido.

Además, Spark tiene una ventaja indispensable para cualquier equipo de IT del mundo: es una plataforma que unifica todos los procesos habituales con los Big Data. Combina Spark SQL para la consulta de datos estructurados con lenguaje SQL o una API; Spark Streaming para gestionar datos en tiempo real en vez de por lotes; MLlib para dotar a Spark de funcionalidades relacionadas con el aprendizaje automático; y GraphX, un marco de desarrollo de procesamiento gráfico. Es un todo en uno que aporta valor diferencial.

5. El lenguaje de programación Java, a la baja

El desarrollo de software moderno con soluciones como el cuarteto MEAN (MongoDB, ExpressJS, AngularJS y Node.js) o el uso de tecnologías de Big Data como Spark impulsan otro tipo de lenguajes de programación como JavaScript, Python o Scala por encima de Java, una sintaxis que hace años era una puerta de entrada casi segura en el mercado profesional del desarrollo. Hoy todavía sigue siéndolo, pero su poderío mengua con el paso del tiempo.

Una simple búsqueda en indeed, el portal de empleo y tendencias, marca curvas claras para todas las sintaxis que hemos mencionado: Java claramente a la baja, JavaScript y sobre todo Python y Scala, al alza. Lógicamente, el mercado americano es muy distinto al mercado español. Eso es importante. 

6. Bases de datos NoSQL

Para el desarrollo en la nube es esencial el paso de las bases de datos relacionales a las no relaciones (NoSQL), no porque las primeras no se puedan ejecutar en la nube, que no es así, sino porque las segundas disponen de una mayor escalabilidad hacia arriba y hacia abajo. Es decir, su rendimiento es mayor cuando la carga de datos aumenta o disminuye a gran velocidad.  

Entre esas bases de datos NoSQ, tenemos varios tipos en función de su uso. Como máquina virtual tenemos CouchDB, Cassandra, Hadoop en Amazon EC2 o  Neo4J o MongoDB en Amazon EC2 o Microsoft Azure. Amazon EC2 y Microsoft Azure son soluciones de servicios en la nube. Con la función de base de datos como servicio, tenemos Google App Engine, MongoDB o Amazon DynamoDB,

7. PHP 7

2016 puede ser el año de la versión PHP 7. Este lenguaje de programación es una sintaxis sencilla de aprender, de codificar y de depurar. Y además es tremendamente flexible. Dentro de la comunidad de desarrolladores de PHP existen muchas esperanzas puestas en esta versión porque ofrece muchas ventajas añadidas con respecto a PHP 6, entre ellas, es un 100% más rápido.

PHP6 fue un fracaso por su intento de implementar soporte Unicode. PHP 7 puso sus esfuerzos fundamentales en ganar rendimiento retocando el motor Zend Engine a partir de los trabajos de PHP Next Generation. La idea de la versión 7 es una sintaxis PHP que está más orientada a objetos y más robusta. PHP 7 se parece más a Java que a la versión anterior de la misma sintaxis. Análisis sobre las características de PHP7 hay muchos ya escritos: entre ellos destacamos este análisis y este artículo.

8. Isomorfización

La isomorfización apuesta por el uso del mismo código por la parte del cliente y del servidor. Las tecnologías que dispongan de esa capacidad empezarán a tener cierta ventaja competitiva con respecto a las que no la tienen. Agiliza la velocidad y aumenta el rendimiento de los desarrollos. Y eso es mucho.

Un ejemplo de tecnología con isomorfización es ReactJS, una librería en JavaScript de código abierto para el diseño de interfaces gráficas. Es una biblioteca para desarrollo de front-end. Detrás de ella está Facebook y, entre sus usos más interesantes, están las mejoras en el desarrollo de Instagram. 

9. Internet de las Cosas y wearables

Entornos de desarrollo en JavaScript por la capa del servidor como Node.js se han convertido en el escenario perfecto para trabajar con los objetos conectados, lo que se conoce como el Internet de las Cosas. También es posible realizar proyectos de Internet de las Cosas con el hardware Raspberry Pi, una placa base (un miniordenador) de la que ya hemos hablando en más de una ocasión y en la que los proyectos de I/O se programan en lenguaje Python.

Las previsiones de negocio en este mercado son espectaculares: se espera que en el año 2020, el mercado IoT genere unos ingresos de 7.000 millones de dólares, con más de 20.000 millones de objetos conectados, según Gartner. Relojes inteligentes, pulseras biométricas, coches conectados… las posibilidades de este mercado son infinitas para los desarrolladores. 

10. Aprendizaje automático y aprendizaje profundo.

Tanto el aprendizaje profundo (deep learning) como el aprendizaje automático (machine learning) son dos campos esenciales hoy en día cuando se habla de Inteligencia Artificial y Big Data. El primero de ellos centrado especialmente en proyectos de procesamiento de lenguaje natural y su aplicación en asistentes de voz, y el segundo en la creación de modelos predictivos donde el propio rendimiento permite a la máquina mejorar sus valoraciones.

Grandes sectores como el de la sanidad, la educación o las finanzas utilizan la inteligencia artificial para el estudio del personal, el aumento de la eficiencia en los servicios, las prácticas antifraude o los métodos de aprendizaje. Son infinitas las startups o compañías que sacan beneficios del procesamiento de lenguaje natural o la creación de modelos de datos para su explotación. 

11. Realidad virtual, realidad aumentada y wearables

Hoy más que nunca podemos decir que estamos ante el gran momento del desarrollo de proyectos relacionados con la realidad virtual y la realidad aumentada. Grandes compañías como Google, Facebook o Microsoft tiene proyectos de explotación como las Google CardBoard o el lanzamiento hace tiempo de los vídeos en 360º en YouTube, las Oculus Rift o las MS Hololens. Otras como Apple se mueven con la contratación de profesionales de enorme talento en el campo de la realidad virtual y aumentada como Doug Bowman.

 

Si quieres más información sobre APIs pincha aquí.

Síguenos en @BBVAAPIMarket

También podría interesarte