18

Cómo desarrolla aplicaciones nativas Airbnb ahora que Airbnb-React es Vintage

9051Puntos

hace 6 años

A casi dos meses de anunciar el adios a React Native, Airbnb presentó el estado y avance del desarrollo móvil nativo en su eventoAirbnb Tech Talk: Native Product Development.

A mediados de Junio, Airbnb anunció que abandonaría React Native, bueno, no dijo abandonar, la palabra que usaron fue Sunsetting React Native o en palabras de Jose Alfredo Jiménez, React Native se ira con el sol cuando muera la tarde en Airbnb. Noticia triste para la comunidad de React Native ya que Airbnb junto con Instagram, Facebook, UberEats o Platzi (😉) era uno de los campeones de esta alternativa al desarrollo nativo.

Screen Shot 2018-08-08 at 2.56.23 PM.png

Importante antes continuar…Programar nativo o híbrido con React Native u otras opciones es una decisión que debe ser tomada con base en tus condiciones de desarrollo, objetivos de producto y muchos otros factores. En este video Freddy te explica más sobre el tema.

Y si eres estudiante de Platzi sabes que siempre puedes aprender ambas opciones. Tanto desarrollo Nativo con Swift, Kotlin y Java o React Native, Ionic, Xamarin etc.

A continuación los números y anuncios relevantes de la charla:

airbnb-tech-talks.jpg
  • Actualmente tienen 130 Programadores dedicados a las aplicaciones móviles. Y como siempre sucede en estos eventos, soltaron el “We are hiring” (Aplicas acá)

  • En iOS el 70% del código está en Swift

  • En Android el 90% de su código está en Kotlin

  • Tienen más de 1000 vistas diferentes para cada una de las aplicaciones

  • En iOS tienen más de 800k líneas de código Entre Obective-C y Swift

  • En Android tienen: Más de 500K líneas de código Entre Java y Kotlin

airbnb-tech-talks-2.jpg

Técnicas de optimización que usa Airbnb para desarrollar apps nativas

Además de dejar bien claro que su migración a lenguajes nativos es más que un hecho, también contaron cuáles han sido las herramientas y puntos clave para lograr este proyecto.

  • Por ejemplo, internamente usan algo llamado Design Lenguaje Sistem o DLS. Que es un compendio de componentes gráficos que pueden reutilizar para armar las vistas que requiere cada aplicación.
airbnb-tech-talks-3.jpg
  • Cómo han evolucionado la lógica de construcción de las aplicaciones para lograr hacer un producto escalable a más usuarios y a más servicios. Cambiando de un solo centro de código (core) a sacar una versión más pequeña (base) para otros productos como AppleWatch con AirbnbLite. De esta forma Airbnb cumple con uno de sus objetivos principales; mejorar constantemente la experiencia de desarrollo.
airbnb-tech-talks-4.jpg
  • Con respecto al Shipping o entrega de la aplicación y desempeño de cara al usuario, mostraron un dato muy relevante para cualquier aplicación android.

Por cada 6 MB de peso de una APK’s, detenctamos un decremento de un 1% en las instalaciones de la aplicación. (Si quieres saber más acerca de optimizazión y rendimiento de aplicaciones android, te recomiendo este artículo)

Librerías con las que Airbnb contribuye al código libre, que usan y recomiendan

  • Epoxy
    : Epoxy es una librería para Android que sirve para crear vistas complejas en un RecyclerView (Acá el Github)
  • MvRX : MvRx es un Framework que combina lo mejor de Epoxy, Jetpack, RxJava, y Kotlin con muchos principios de React para crear nuevas vistas más fácil y limpias. (Acá puedes ver un demo en GitHub)
  • Lottie
    : Lottie es una librería para Android, iOS y React Native que renderea animaciones de After Effects en tiempo real.

Acá puedes ver la charla completa

Y así es como el Merchandising de Airbnb React se convirtió un Vintage

Él es Adam Miskiewicz, uno de los primeros desarrolladores móviles de Airbnb, quien luce orgulloso su camiseta de AirbnbReact en el evento de desarrollo nativo de Airbnb.
airbnb-tech-talks-6.jpg

Fabián
Fabián
foloarte

9051Puntos

hace 6 años

Todas sus entradas
Escribe tu comentario
+ 2
1
5 años

Airbnb es una empresa que ademas ha aportado documentación útil de como desarrollan su software y las reglas que siguen, permite a uno como desarrollador saber como iniciar en buenas practicas.