El titular es bastante descriptivo, y esa fue la idea que tuvo el equipo de Dropbox a la hora de desarrollar dos de sus aplicaciones para smartphones "menos usadas" (como Mailbox y carousel).
La idea tiene su gran lógica, y es que cosas muy distintas son la parte interna de una app (sea cual sea su índole) y su interfaz, por esa razón vieron más productivo realizar en C++ la parte interna de la app, aunque tenga sus dificultades para ciertas cosas.
Desde la UIKonf (una conferencia centrada en desarrolladores iOS) Steven Kabbes, miembro del equipo de Dropbox expuso como fue el desarrollo multiplataforma de Mailbox. Lo definen de forma muy directa diciendo que este back-end sería el equivalente a un servidor siempre online y con latencia 0, ya que sería prácticamente el mismo para ambas plataformas.
En iOS no es algo excesivamente complejo usar C++, ya que el sistema es totalmente compatible y permite interactuar con Objetive-C fácilmente con Objetive-C++. Y aunque no es un trabajo tan simple en Android, mediante el NDK (el kit de desarrollo nativo, que interactúa en más bajo nivel) se logró llevar a cabo más cómodamente gracias a gyp.
La parte interna de la app maneja y almacena los datos con SQLite, como era de esperar, haciendo uso de algún framework (que no han especificado).
Además Steven ha publicado las notas que expuso en el evento y podemos ver en Github, para así entender al detalle que es lo que hicieron y como lo hicieron, ya que además incluye un pequeño ejemplo.
Sin duda esta es una opción que en ciertos contextos puede funcionar muy bien, aunque siempre hay que ser prudentes con estas soluciones y ser consciente de que no pueden funcionar bien en todos los contextos.
Más información | Vídeo de la ponencia
Vía | Ole Begemann