Introducción a Firefox OS
Publicado el Viernes, 18 de octubre de 2013Hace poco di una presentación durante un almuerzo "Lunch & Learn" en el trabajo sobre Firefox OS.
La armé en inglés porque teníamos un invitado desde las oficinas de Cincinnati, así que ya de paso practiqué dar una charla en inglés. Dejo acá la presentación y los apuntes del tema.
Presentación en Speakerdeck: Introduction to Firefox OS
Firefox OS es un sistema operativo móvil desarrollado por Mozilla. Es básicamente un motor Gecko corriendo sobre Linux, lo que le permite ejecutar aplicaciones web.
Gonk - Es el kernel Linux con la capa de abstracción de hardware (HAL) a nivel de usuario. Se trata de varios proyectos software libre (linux, libusb, bluez) y algunas de estas partes son compartidas con el proyecto Android: GPS, cámara, etc. Es básicamente una distribución Linux muy simple.
Es un destino de porting de Gecko. Expone algunas interfaces a Gecko que no le están disponibles en otros sistemas operativos: la pila de telefonía, el display frame buffer, etc.
Gecko - El viejo y conocido motor desarrollado por el Proyecto Mozilla, el mismo que usa Firefox. La función de Gecko es leer contenido web como HTML, CSS, XUL, JavaScript, y renderizarlo en la pantalla del usuario. Para Firefox OS, Mozilla abandona XUL - su lenguaje de interfaz de usuario XML y pasa a usar:
Gaia - Es el nivel de interfaz de usuario de Firefox OS. Todo lo que aparece en la pantalla al iniciar Firefox OS es dibujado por Gaia, incluyendo la pantalla de bloqueo, la pantalla inicial y otras aplicaciones. Está escrito completamente en HTML, CSS y JavaScript. Su única interface con el sistema operativo que corre por abajo y el hardware es a través de APIs Web estándar implementados por Gecko.
Gracias a este diseño, Gaia puede correr en dispositivos no necesariamente Firefox OS, sino también en otros sistemas operativos y otros navegadores web (con funcionalidad potencialmente degradada dependiendo del navegador).
Aplicaciones Web - Básicamente se desarrolla todo como aplicación web. El discador, los contactos, SMS, cámara, galería, música, Email, etc. son todo aplicaciones web.
WebAPI de Mozilla - Mozilla está trabajando en un esfuerzo por llevar docenas de características estándar de los dispositivos móviles a APIs JavaScript. Algunos ejemplos: WebTelephony, Vibration API, WebSMS, Screen Orientation, Power Management, Geolocation API, WiFi Information API, Contacts, Battery STatus, Alarm, Web Payment, Proximity Sensor, Camera API, P2P, WebUSB, Gamepad.
Herramientas para desarrolladores
Tanto usando el Simulador de Firefox OS como conectando un dispositivo, podemos usar las herramientas para desarrolladores de Firefox para depurar nuestra aplicación.Podemos conectar a nuestra aplicación el Debugger JavaScript, la Consola Web, el Editor de Estilos, el Profiler y Monitor de Red. Es excelente, usamos las mismas herramientas que en cualquier aplicación web directamente sobre el teléfono o simulador.
A los pocos días de dar esta charla Mozilla mostró el App Manager, una forma mejorada de ejecutar y depurar aplicaciones de Firefox OS tanto en el simulador como en dispositivos. Así que revisen ese post para ver más información al respecto.
Durante la presentación hice una mini demo de cómo usar estas herramientas con mi aplicación Instant Oh, the humanity!.
Terminada la parte técnica, comenté la misión de Mozilla con Firefox OS, lo que dió a un poco de intercambio, preguntas y opiniones durante el almuerzo de chivitos vegetarianos. La misión establecida por Mozilla con Firefox OS es:
- Probar que la web es la plataforma, sorprender con las capacidades de HTML5 en plataformas móviles.
- Avanzar en la adopción de estándares y APIs web en la industria, incluyendo otros sistemas operativos.
- Estimular la innovación de desarrolladores; romper el molde de lo que puede hacer una aplicación móvil.
- Hacer la web abierta accesible a más personas.
- Estimular la competencia en hacer la web la plataforma para la computación móvil.
- Emocionar a las personas.
- Proveer una alternativa poderosa, emocionante y abierta al actual ecosistema cerrado.
Mas allá de las unidades que se vendan o la cuota de mercado que le quite a los grandes como Android y Apple (¿Microsoft es relevante en el mercado de los móviles? No, ¿no?), Mozilla ya está ayudando a cambiar el panorama. Es una alternativa más basada en estándares abiertos y permite abrir el mercado junto a los Ubuntu Phone que también fueron lanzados recientemente.
Con ganas de reemplazar mi teléfono con un dispositivo Firefox OS 🙂
spanishbizarro 18 octubre. 2013 - 10:23
Tambien estoy pensando en lo mismo, pero sólo encontre instrucciones para instalarlo compilándolo.
https://developer.mozilla.org/es/docs/Mozilla/Firefox_OS/Portando
No paso de la parte de recompilar boot.img porque no entiendo nada.
martinbc 18 octubre. 2013 - 10:59
Buen resumen de Firefox OS. Yo hace tiempo que quiero probar un celular con Firefox OS, creo en Venezuela los estar por largar… Espero que lleguen acá, si demora mucho quizás me lo compre afuera. Saludos
Fernando 22 octubre. 2013 - 08:58
En teoría ya están disponibles en Venezuela por Telefónica:
https://blog.mozilla.org/blog/2013/10/09/mozilla-and-partners-to-kick-off-second-round-of-firefox-os-launches/
En Uruguay estarían por largarlos, pero si puedo voy a conseguirme uno antes para empezar a desarrollar aplicaciones y probarlas ahí 🙂
¡Saludos!
3rn3st0 27 octubre. 2013 - 19:09
¡Excelentes todos y cada uno de los puntos tratados! ¡Muchísimas gracias por compartir!
Llegué no sé de donde y ya he agregado tus RSS a mi lector de feeds así que nos seguiremos viendo.