¿Quora planea rediseñar su aplicación para iPhone, similar a lo que hizo Facebook?

No como tal, no. Estamos planeando continuar construyendo los mejores productos móviles que podamos y elegir las tecnologías que nos permitan ejecutar esos productos de manera efectiva. Esto ha tomado y continuará tomando la forma de una iteración continua en lugar de una refactorización técnica radical.

Hay una división incómoda y, creo, algo artificial que está ocurriendo entre lo que la gente entiende como “código nativo” y “HTML 5”. Lo que muchas personas no consideran es que estas dos cosas, técnicamente hablando, no están tan separadas como parecen. ¿Sabía que cuando se lanzó iOS, de hecho utilizó el motor de renderizado webkit bajo el capó, para componentes nativos como UILabel y UITextView? Esta estrecha relación aún existe, en la medida en que cuando escribes un código HTML que dice, inserta un área de textarea , lo que realmente representa es, lo adivinaste, un UITextView. Las transformaciones CSS usan CoreAnimation debajo del capó y se ejecutan como mantequilla en la GPU. A nivel de marcos, realmente no hay una gran división entre “HTML” y “nativo”.

Las aplicaciones móviles de Facebook sufrieron más que la carga de usar HTML en las vistas web. Tenían una tremenda cantidad de equipaje envuelto en el uso de three20, una reescritura bien intencionada pero en última instancia equivocada, esencialmente, de las bibliotecas que Apple le proporciona para crear aplicaciones nativas de iPhone. Todos los que conozco que han usado three20 en una base de código de cualquier tamaño o complejidad han vivido para arrepentirse y han pagado un costo en estabilidad, velocidad y mantenimiento. La publicación del blog es curiosamente política, casi como si atribuyera a las tecnologías web los problemas que con toda seguridad eran sistémicos en una aplicación del tamaño y la edad de Facebook. Ciertamente, la refactorización era la opción correcta para ellos, pero parece simplificar demasiado las cosas para reducirlo a HTML frente a nativo.

Elegir una tecnología para su producto no debería ser una decisión política. Evalúa lo que está disponible para usted y elige los que parecen ajustarse mejor a sus objetivos al tiempo que brinda una buena experiencia a sus usuarios. Me senté una vez con la Evangelista de Tecnologías Web en Apple, y ella tenía esta sabiduría para ofrecer: “Las aplicaciones nativas también pueden ser lentas, y las aplicaciones web pueden ser extremadamente rápidas. No es la tecnología lo que importa, es la calidad de su producto y su equipo “.

Si sus usuarios están pensando en la tecnología subyacente a su aplicación, han hecho algo mal. Elija lo que elija, es su responsabilidad como desarrollador del producto hacerlo rápido y sentir que pertenece a la plataforma. Creo totalmente que esto se puede lograr con la tecnología o una combinación de ambas.

La aplicación para Android Quora está funcionando bastante bien para mí. De hecho, creo que es lo único que me hace usarlo casi a diario.
Y estoy de acuerdo con usted en este punto: elegir una tecnología realmente depende de lo que esté disponible para usted. Solo tiene que hacerlo siempre y cuando logre sus objetivos y los de sus usuarios.