¿Qué es Harmony OS?

Se ha hablado mucho de Harmony OS hace algunas semanas, tal vez por la falta de noticias propia de Agosto. Se trata de un sistema operativo nuevo, que Huawei ha estado desarrollando durante algunos años para uso en sus dispositivos empotrados, o IoT que se dice ahora y es más fino. Por ejemplo, televisores. De hecho, el primer dispositivo en ser lanzado al mercado es una tele llamada Honor Vision Pro:

El que haya salido a las portadas no tiene nada que ver con ninguna característica técnica sino que se trata de motivos más políticos que otra cosa. Es decir, a la mayoría de los frikis, nos debería de tener sin cuidado. 😉

Empecemos por lo tanto por lo que nos interesa a nosotros y luego veamos por qué los humanos han estado agitados con la noticia. Estas son sus principales características técnicas:

Sistema operativo nuevo y moderno

Harmony NO es una versión de Linux ni de Unix. 

En un mundo dominado por Unix, y Linux en particular, o sea tecnología de los principios de los 70, las palabras “nuevo” y “moderno” significan… tecnología de finales de los 70. 

Si, ya lo sé, nuestra industria es una fuente inacabable de vergüenza ajena.

Mientras que Linux es un sistema monolítico, HarmonyOS (al igual que iOS por cierto), es un sistema de micro núcleo.

Esto quiere decir que el kernel, en vez de ser un ejecutable inmenso que lo hace todo, está partido en distintos componentes encargados cada uno de una tarea específica. En resumidas cuentas, es llevar al binario la separación de responsabilidades (separation of concerns: SoC) que implementamos (Dios mediante) en el código.

Sobre dicho microkernel, Harmony OS ejecuta el subsistema Android. Algo así como si Android se estuviese ejecutando sobre una máquina virtual.

Sistema Operativo de Tiempo Real

Una de las cosas que caracteriza a Harmony OS y lo distingue claramente de aquellos con los que estamos acostumbrados a interactuar (al menos de forma consciente) es que se trata de un SO de tiempo real (Real Time Operating System: RTOS).

¿Qué significa esto? Quiere decir que cuando hacemos una llamada al sistema operativo, hay un requisito extra: no puede tardar más de x tiempo en responder. 

Por ejemplo, cuando el piloto de un caza mueve el “joystick”, el avión ha de responder de inmediato, cuando piso el freno del coche, necesito que empiece a frenar ahora y cuando pulso el botón AZ-35, necesito que las barras de grafito entren de inmediato. 

En caso contrario,  tendremos que dar explicaciones muy detalladas de cómo un reactor RBMK ha podido explotar.


Da tovarich, un proceso estaba haciendo recolección de basura mientras el SO miraba para otro lado y entonces…

¿En qué se programa?

Ya sabía yo que esto era lo que te interesaba. Vayamos al tajo. El sistema en sí está hecho fundamentalmente en C++, de lo cual se deduce que tendrá seguramente un API compatible con C.

Además tiene una capa de abstracción que le permite ejecutar apps en Java, recompilando las aplicaciones de Android. Posiblemente esto sea una “ñapa” hasta disponer de Apps nativas.

Por lo tanto, de momento las Apps móviles se podrían desarrollar en Java, posiblemente en Kotlin. También se debería de poder desarrollar en C, C++ y JS (lo deducimos por una imagen publicada por Huawei).

¿De donde me bajo el código fuente?

De ningún lado.  Harmony OS no es open source. Se trata de un sistema propietario y Huawei (el el gobierno chino, según lo paranoico que seas) no tiene pensado liberar el código fuente.

Tiene algunos componentes que son Open Source, un poco como iOS.

¿Para qué sirve Harmony OS?

Está claro que ha sido diseñado para controlar dispositivos empotrados, electrodomésticos, coches y dispositivos industriales. Algo así como QNX, otro sistema operativo de tiempo real.

También al igual que QNX, ha sido adaptado para teléfonos móviles (Blackberry en el caso de QNX).  No es para aquello para lo que fue diseñado, pero puede ejercer muy bien esa tarea.

La cuestión es ¿por qué su misión original de gestionar televisores, routers y demás cacharros de Huawei, se ha modificado para ser el SO de los móviles?

El Arca de Huawei… es el mercado chino

Me ha despreciado una china
que seguí con mi manchao;
no me había dado cuenta,
¡Era la China de Mao!

Si no fuera santiagueño,  Les Luthiers

La elección de Harmony OS como plataforma móvil es 100% política y se trata de salvar los muebles en el peor de los casos en la actual “guerra comercial” entre Trump y el mundo. Por algo el compilador que proporciona Huawei se llama Arca.  

No es la primera vez que alguien intenta, o necesita, romper el “bipartidismo” de iOS y Android. Blackberry y Nokia, por no hablar de Microsoft, lo han intentado. Les fue como les fue y que en paz descansen.

Sin embargo, hay una diferencia tremenda entre Huawei y las demás empresas. Huawei tiene como mercado doméstico, y muy cerrado a la competencia externa, el mercado chino.

Para quien no ha estado nunca en China, es difícil comprender las dimensiones y la pujanza de su economía. Por si fuera poco, es un mercado muy protegido y cerrado, donde las empresas extranjeras a duras penas se comen un wontón.

Para muestra, basta el mercado automovilístico. Aunque en Europa casi no se ven, hay una gran cantidad de marcas chinas desarrolladas al amparo de su mercado doméstico, que es nada menos que ¡la quinta parte del mundial! De hecho, hoy ya se puede comprar un SUV de lujo chino en España. Cuando entren definitivamente en la UE, podría ser un golpe de muerte a uno de los pilares de la industria en España.

En resumidas cuentas, Huawei podría perfectamente sobrevivir en dicho mercado y luego extender su plataforma al resto del mundo.

El tiempo dirá, pero de momento, solo tiene sentido dedicar tiempo a Harmony OS si eres desarrollador Android enfocado al mercado chino.

Enlaces de Interés sobre Harmony OS

Para el que tenga tiempo, dejo algunos enlaces, aunque todos los recursos tienen la dificultad de estar mayoritariamente en Chino Mandarín.

Empieza tu preparación para el desarrollo de aplicaciones para Harmony OS con el Full Stack Mobile Bootcamp de KeepCoding, en el que aprenderás los lenguajes de programación con los que este sistema operativo funciona. ¡Conoce más de este Bootcamp!

Descarga temario Full Stack Mobile Bootcamp

Si quieres empezar tu carrera como desarrollador o enfocarte en otras tecnologías de programación, conoce todos los Bootcamps de KeepCoding, los cuales en 6 meses o menos te convertirán en un Full Stack Developer.

Full Stack Web Bootcamp

Full Stack Big Data & Machine Learning Bootcamp

Full Stack DevOps Bootcamp

¡Pide más información! Nosotros te llamamos

KeepCoding Team

Acerca de KeepCoding Team

Aquí nos encontramos todo el Equipo que forma KeepCoding Team que a diario colaboramos y damos soporte a todos los Geeks Inivitados para que sus maravillosos artículos salgan a la luz con el mejor formato.

Share this:

Leave a comment