Por Javier Minsky CEO de la empresa Virtualmind
La tecnología ha modificado el mundo de muchas maneras en las últimas décadas, ha revolucionado la forma de hacer negocios, de comunicarse y de trabajar. Todos los aspectos de la vida están cruzados por las innovaciones tecnológicas y la transformación digital.
El 2020 promete un gran avance en términos tecnológicos para lo cual será importante estar atentos y detectar aquellas tecnologías y desarrollos vigentes que se fortalecerán e impactarán de lleno en las empresas, los negocios y la vida cotidiana de las personas.
Comparto una lista de las siete tendencias tecnológicas más importantes para la industria del desarrollo de software:
1. Python: Es un lenguaje sencillo de aprender que se puede integrar fácilmente con una enorme variedad de herramientas, así como con otros lenguajes. Muchos programadores reconocen un sustancial aumento en su productividad al usar Python y sienten que el lenguaje mismo los incentiva al desarrollo de código de mayor calidad y fácil de mantener. Hay mucha demanda de profesionales con conocimiento en este lenguaje. Algunas de las nuevas herramientas que han surgido, como por ejemplo en sectores crecientes como Big Data, Machine Learning y demás tecnologías que son explotadas por los analistas de datos, han sido desarrolladas en Python u ofrecen Python como la forma favorita para interactuar con ellas. Esto demuestra que programar en Python es la opción más viable y efectiva que hay ahora mismo en el mercado tanto para las empresas que requieran desarrollar algún tipo de aplicativo, asegurándose el uso de un lenguaje con mucho recorrido, como para los propios desarrolladores en el mercado laboral.
2. React y Angular: Angular creado por Google y React por Facebook, son frameworks Javascript, gratuitos y Open Source destinados a facilitar la creación de aplicaciones web modernas de tipo SPA (Single Page Application). Angular utiliza Typescript, un súper conjunto de Javascript que mejora su uso en proyectos de envergadura. React a su vez, su objetivo es ser sencillo y declarativo y modular.
3. Machine learning: Es una disciplina científica del ámbito de la Inteligencia Artificial que crea sistemas que aprenden automáticamente. Aprender, en este contexto, quiere decir identificar patrones complejos en millones de datos. Pasar de ser reactivos a proactivos. El resultado: predicciones de alto valor para tomar mejores decisiones y desarrollar mejores acciones de negocio. Muchas compañías han empezado a incorporar esta tecnología a sus sistemas operativos, con grandes expectativas de mejorar y automatizar sus procesos. Los negocios tendrán que empezar a entender los principios básicos de la misma para poder usarla a su favor y mejorar la productividad.
4. Docker: Es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de virtualización de aplicaciones en múltiples sistemas operativos. Usar Docker para crear y gestionar contenedores puede simplificar la creación de sistemas altamente distribuidos, permitiendo que múltiples aplicaciones, las tareas de los trabajadores y otros procesos funcionen de forma autónoma en una única máquina física o en varias máquinas virtuales.
5. Kubernetes: Una plataforma portable y extensible de código abierto para administrar cargas de trabajo y servicios. Nació en el año 2014 con la intención de facilitar la automatización y la configuración declarativa. Kubernetes tiene la función de orquestar la infraestructura de cómputo, redes y almacenamiento para que las cargas de trabajo de los usuarios no tengan que hacerlo. Esto ofrece la simplicidad de las Plataformas como Servicio (PaaS) con la flexibilidad de la Infraestructura como Servicio (IaaS).
6. Amazon AWS / GCP: Google Cloud vs AWS es la cuestión que se plantean muchas empresas que buscan elegir al mejor proveedor de servicios cloud para su negocio. Durante la última década, la computación en la nube se ha vuelto más rentable, segura y confiable. También han mejorado las propuestas en términos de rendimiento. Google Cloud Platform se compone esencialmente de muchos servicios y soluciones diferentes que permiten a sus usuarios utilizar la misma infraestructura de software y hardware que Google emplea para sus propios productos, como YouTube y Gmail. Amazon Web Services (AWS) es una subsidiaria de Amazon que se lanzó para proporcionar servicios de computación en la nube a empresas y particulares en 2006. Al igual que Google Cloud Platform, tienen una multitud de servicios y soluciones diferentes, en total más de 200 productos. Amazon EC2 se lanzó en una versión beta pública en agosto de 2006, lo que les da una ventaja de seis años con respecto a Google. Las grandes marcas que utilizan Amazon incluyen Netflix, Airbnb, Expedia, Lamborghini o la Nasa, entre otras. Para elegir al proveedor de la nube esta bueno compararlos en cuanto a almacenamiento, redes, facturación y precios.
7. React Native (mobile) / Flutter: Ha nacido con la promesa de poder programar aplicaciones tanto para iOS como para Android con un solo lenguaje de programación. Permitiendo preocuparse por la lógica de negocio y de maquetar una única vez. La principal ventaja que tiene React Native frente a sus competidores Web App es la experiencia de usuario nativa. Esta experiencia se consigue principalmente utilizando componente visuales nativos y mediante las animaciones. Como punto favorable mantiene un buen soporte por Facebook y por la comunidad en general.
Flutter es un SDK de Google creado para desarrollar aplicaciones nativas multiplataformas, que permite a los desarrolladores crear aplicaciones iOS y Android utilizando exactamente el mismo código. Es utilizado por desarrolladores y organizaciones de todo el mundo, es gratuito y de código abierto.