En el punto de mira Brian LeRoux

El crecimiento explosivo del espacio móvil ha acelerado la búsqueda de una solución multiplataforma robusta y viable. En 2008, poco después de la introducción del iPhone SDK y después de jugar con Cocoa y Objective-C, Brian LeRoux y sus colegas de Nitobi decidieron que era mejor dedicar su tiempo a crear una solución multiplataforma que a crear aplicaciones móviles nativas..

Hoy en día, PhoneGap alimenta a decenas de miles de aplicaciones móviles. Para Brian y su equipo, muchas cosas han cambiado desde la creación de PhoneGap. En 2011, Adobe adquirió Nitobi y la fuente de PhoneGap fue donada a Apache Software Foundation como Cordova..

En el centro de atención de hoy, hablo con Brian sobre los primeros días de PhoneGap, el futuro de los dispositivos móviles y por qué la destrucción de PhoneGap es algo bueno..

PhoneGap ha existido desde el inicio de la revolución móvil y es bien conocido entre los desarrolladores. Para aquellos que no lo hacen, Brian LeRoux o PhoneGap, ¿puedes contarnos sobre ti y cómo estás involucrado en el proyecto??

PhoneGap fue creado por un pequeño grupo de personas, la mayoría de las cuales trabajaban en Nitobi, Canadá, en ese momento..

Los primeros se comprometen donde aterrizaron por Brock Whitten y Rob Ellis para iOS. En estos días, iOS es completamente el dominio del prolífico Shazron Abdulla. Joe Bowser hackeó el muy temprano Android y continúa manteniéndolo hasta hoy..

Dave Johnson agregó varios bits de BlackBerry, ahora en gran parte mantenidos por BlackBerry con la ayuda de Lorin Beer. Jesse Macfadyen cortó las encarnaciones de Windows Phone trabajando estrechamente con Microsoft.

Michael Brooks sacudió la documentación y gran parte de la CLI (Interfaz de línea de comando) y las herramientas de prueba con Fil Maj. Anis Kadri ha liderado gran parte de las herramientas de complementos y descubrimiento. Steve Gill ha sido responsable de los lanzamientos y ha contribuido con gran parte de las herramientas relacionadas.. 

Herm Wong inició Firefox OS y ahora nuestro nuevo proyecto GUI. La identidad de marca comenzó con Yohei Shimomae y desde entonces ha sido retomada por Joni Rustulka. Google e IBM también tienen un montón de colaboradores.

Una historia de creación ordenada con un solo pirata informático en el sótano es un tipo de fantasía que nuestra industria ama, pero rara vez es el caso. El software es siempre un esfuerzo colectivo y todos los que contribuyen merecen reconocimiento. Me estoy perdiendo una tonelada métrica canadiense de contribuyentes aquí, pero entiendes la idea.

Para mí, trabajé en Nitobi, contribuí con un montón de código a varias áreas de PhoneGap desde la encarnación, pero mi enfoque principal fue construir la cultura, la filosofía y los objetivos iniciales del proyecto, las cosas de importancia crucial para comunicar la dirección y galvanizar a la comunidad..

Pruebas, herramientas e integración fueron otras de las principales preocupaciones iniciales para mí. Con el tiempo, mi enfoque cambió más al crecimiento de la confederación más allá de Nitobi, que culminó con la donación de la fuente a Apache como Cordova.

Con PhoneGap con casi seis años de edad, la mayoría de las personas al menos han oído hablar de ello. Para aquellos que no están familiarizados con PhoneGap, ¿pueden decir qué problema intenta solucionar PhoneGap??

PhoneGap es para crear aplicaciones móviles utilizando HTML, CSS y JavaScript. Respaldamos los principales sistemas operativos móviles para la construcción y distribución en tiendas de aplicaciones nativas. Pero somos desarrolladores web y la intención de PhoneGap es demostrar que la web es una plataforma de desarrollo de primera clase. Queremos construir aplicaciones web, no trampas propietarias..

En última instancia, PhoneGap le ofrece un elegante navegador web de pantalla completa y un modelo de extensibilidad para acceder a la funcionalidad de la plataforma nativa a través de una sencilla interfaz de complemento. El modelo de complemento hace que resulte trivialmente sencillo exponer cualquier cosa del sistema operativo a la vista web. De esta manera, los flujos descendentes pueden crear prototipos rápidamente de nuevas funciones web y los desarrolladores de aplicaciones no se ven limitados por el sandbox de vista web tradicional..

En los últimos años, la mayor parte de nuestro esfuerzo se ha dedicado a crear herramientas que abstengan flujos de trabajo de desarrollo móvil nativos comunes. Compilar, emular, registrar, instalar complementos y ese tipo de cosas.

¿Cómo eran los primeros días de PhoneGap? ¿Cuándo se dio cuenta de que PhoneGap era una solución a un problema que enfrentaban muchas empresas y desarrolladores??

Los primeros días fueron ridículos y divertidos. PhoneGap fue un proyecto paralelo en su mayor parte y los primeros desarrolladores centrales a menudo piratearon y filosofaron en Alibi Room, un famoso bar de cerveza en Vancouver, después de horas..

Poco a poco, a medida que el móvil comenzó a ascender de forma meteórica, muchos otros desarrolladores llegaron a la refriega, atraídos por los entendimientos filosóficos que compartíamos..

Era, y sigue siendo, un grupo harto de plataformas propietarias, sistemas operativos cambiantes y ecosistemas de desarrolladores bloqueados. Fatigado por las plataformas de software que afirman "una forma verdadera", solo que se actualicen "de esa manera" cada seis meses y luego la desaprueben, si no desaparecen por completo..

A lo largo de los años de este abuso, la plataforma web fue mejorando lentamente y las aplicaciones que se dirigían aún funcionaban. Ya no nos enamorábamos del brillante material de marketing que se autodenomina "directrices de diseño de interfaz humana".

La web nunca ha sufrido ninguna amenaza, pero encontramos un hack que podría llevar la pelea a las mismas plataformas que la amenazan. El proyecto siempre fue de código abierto, primero respetó la web y se diseñó para demostrar características que creíamos que la plataforma necesitaba para seguir siendo competitivos frente a las alternativas propietarias. Siempre ha sido un grupo escabroso de hackers, pero tenemos cuidado de no tomarnos demasiado en serio..

Hace unos años, usted dijo que PhoneGap "no es un martillo de oro" y que PhoneGap no es la solución para todas las aplicaciones móviles. ¿Sigue siendo cierto o nos estamos acercando a una web móvil que es tan poderosa como la experiencia nativa??

El espectro de aplicaciones potenciales siempre se está ampliando a medida que los navegadores, y los dispositivos en los que se ejecutan, mejoran. Nunca abogaría por PhoneGap como la última solución Existen consideraciones técnicas tales como los costos de la plataforma nativa y las preocupaciones más suaves, como los impulsores de negocios, las habilidades de los empleados, la inversión de contenido existente, las licencias, la dependencia en proveedores de plataformas de terceros e incluso las relaciones con los socios..

Las opciones tecnológicas siempre conllevan concesiones e invertir en tecnologías web como PhoneGap no es diferente.

El verdadero desafío que enfrentan los desarrolladores, y especialmente en la empresa, es reconocer que el desarrollo de aplicaciones móviles es como el desarrollo de software regular. Esto no es sólo un punto en el punto de comercialización en el tiempo. Hay que considerar un ciclo de vida completo; Diseño, desarrollo, pruebas, análisis y monitoreo..

El desarrollo móvil requiere mantenimiento y recursos continuos. Una sola vez realizada por una empresa de consultoría deberá actualizarse cuando se envíe una nueva versión de iOS o Android. El departamento de marketing debe comprender qué contenido se está realizando y tener la capacidad de publicar rápidamente los cambios en el contenido que no se está realizando. El departamento de TI necesita informes de errores en tiempo de ejecución y acceso a la infraestructura de notificaciones push.

El juego más largo que requiere recursos estratégicos deliberados solo se está reconociendo, ya que muchas organizaciones recién están descubriendo que, al menos en parte, se están convirtiendo en compañías de software. Una inversión estratégica en tecnología que se basa en un ecosistema propietario de terceros es un riesgo empresarial. PhoneGap puede ayudar a mitigar ese riesgo. En definitiva nunca perderás una apuesta en la web..

La adquisición de Nitobi por Adobe fue un hito importante para PhoneGap, pero Apache Cordova probablemente fue aún más importante. ¿Cómo ha cambiado Apache Cordova la plataforma??

La adquisición de Nitobi por Adobe fue absolutamente importante. Nos liberaron del trabajo de consultoría loco para concentrarnos únicamente en PhoneGap y no hay duda de que la plataforma se benefició enormemente. La donación de la fuente de PhoneGap a Apache como Cordova es igualmente significativa en una vista más larga.

Trabajar con Apache trajo un nuevo nivel de disciplina al proyecto. Nuestro proceso de lanzamiento es mucho más formal y, si bien ha sido un desafío mantener nuestra cadencia, nuestra comunidad gana el terreno legal seguro por el que Apache es famoso.

Este territorio neutral es un gran ambiente para que las personas empleadas por diferentes organizaciones colaboren sin preocupación. Desde que nos unimos a Apache, hemos recibido a comisionados de IBM, BlackBerry, Microsoft, Google, Intel, HP, LG, Samsung y más..

Como resultado de esto, hemos visto muchas distribuciones posteriores de Cordova. Mi sesgo es para Adobe PhoneGap, pero los desarrolladores pueden optar por las aplicaciones BlackBerry Webworks, IBM Worklight, SAP SDK, Telerik, Intel XDK o Google Mobile Chrome..

Algunas personas simplemente usan la vainilla Apache Cordova y crean su propia corriente abajo. Me encanta esta diversidad. Todo esto apunta a un ecosistema vibrante y saludable con el que nuestra comunidad de desarrolladores puede contar. Recorremos rápido, resolvemos errores rápidamente, agregamos nuevas funciones en una cadencia regular y tenemos un proceso de contribución muy bien entendido en el que todos pueden participar..

Apache tiene una reputación bien ganada por la política y la burocracia, pero mejorarla también es parte de nuestro trabajo y trabajar con ASF (Apache Software Foundation) ha sido, en última instancia, el camino correcto para nuestra comunidad a largo plazo. Estoy muy orgulloso de lo que hemos logrado con el ASF.

PhoneGap es una gran plataforma para el desarrollo de aplicaciones móviles. La implementación sigue siendo complicada en muchas plataformas, pero ha intentado resolver esto con PhoneGap / Build. PhoneGap / Build suena como un martillo dorado para los desarrolladores que buscan una solución multiplataforma. ¿Puede decirnos qué hace el servicio y qué problema soluciona??

PhoneGap Build es un compilador alojado en Adobe Creative Cloud. Con PhoneGap / Build, puede apuntar a cualquier sistema operativo móvil que admitamos desde cualquier navegador web. Puede crear una aplicación iOS desde una netbook o incluso desde su propio teléfono (meta).

Inicialmente, pensamos que esto podría ser útil para propósitos de integración y prueba continua. Se ha convertido en una utilidad versátil para el proceso muy discreto de compilar una aplicación y darle una URL al artefacto resultante. Solo hace una cosa y la hace bastante bien. Hemos visto a muchas personas usar PhoneGap / Build como API o como su compilador.

Una vez dijiste que crees que el futuro de PhoneGap está en su propia destrucción. ¿Puedes explicar lo que quieres decir con eso??

Sí, el objetivo final de PhoneGap es dejar de existir. No queremos escribir aplicaciones nativas. Hemos estado en el camino del desarrollo de clientes patentado y sabemos que conduce a un bloqueo de ecosistemas riesgosos.

Queremos crear aplicaciones web y PhoneGap siempre ha sido una solución provisional hasta que los navegadores, o quizás las aplicaciones web instalables, sean alternativas capaces. Creo que hoy estamos muy cerca de esa realidad. Para muchas aplicaciones, primero la web es absolutamente apropiada..

Para que las aplicaciones web móviles tengan éxito con la ubicuidad que vemos en el escritorio, es útil demostrar las áreas que la web necesita mejorar. La arquitectura del complemento PhoneGap es una superficie realmente elegante para crear prototipos discretos para exponer nuevas características a la superficie web tradicional. Esta filosofía sutil nos ayudó a iluminar las direcciones correctas para nosotros, al implementar estándares, pollyfills, colaborar con el W3C en el diseño de API y presentar inquietudes a los proveedores de navegadores que llevan a nuevas funciones de plataforma..

El reconocimiento abierto de la desaparición definitiva podría ser un evento trágico en el tiempo o un entendimiento estratégico contra el cual planear. Para dar testimonio de nuestra propia ruina, PhoneGap debe hacer todo lo posible para que la plataforma web gane..

¿Cuáles son algunos de los puntos clave que todavía necesitamos resolver en la web? En otras palabras, ¿qué tan cerca estamos de una web móvil que ofrece una experiencia que rivaliza con la de las aplicaciones nativas??

25 años después, es difícil criticar la plataforma web. Sin embargo, atacar a la web, en la web, es una tradición consagrada en el tiempo para el webmaster..

La categoría # 1 de generación de ingresos en la App Store es juegos. Así que pensemos en lo que se necesita para ser un gran juego. El audio en general es desordenado, pero la API de audio web es realmente increíble. WebRTC, o como sea que terminemos llamándolo, es una gran promesa para hacer que las aplicaciones en tiempo real sean más reales.

Luego hay un montón de tuberías que no han aterrizado de manera ubicua, como Pantalla completa y Controlador de juegos. Cuando todo esto esté generalmente disponible, sacudirá los juegos. Las API intensas de datos como Web Audio, WebRTC y WebGL nos ayudarán a encontrar los límites del rendimiento de ejecución de JavaScript y todas las indicaciones iniciales son extremadamente positivas.

El diseño se está volviendo bastante bueno. Flexbox es genial y tengo grandes esperanzas para las cuadrículas de CSS. La última versión de Firefox (28) corrige los últimos errores con Flexbox. No tengo idea de cuándo aterrizan las Grids de CSS, pero soy paciente. Las consultas de medios, a veces conocidas como diseño web responsivo, son útiles. Quiero un modelo de capacidad más robusto que nos permita renderizar interfaces adaptables de manera óptima.

La mayor oportunidad es realmente descifrar la historia fuera de línea, probablemente mejor llamada "ocasionalmente conectada". Las aplicaciones web instaladas, como las aplicaciones PhoneGap, están intrínsecamente fuera de línea, pero queda por definir un modelo de permiso completo. Mozilla, Google y el W3C están trabajando en ello..

Muchos de nuestros lectores tienen la ambición de desarrollar para dispositivos móviles. Si estuvieras empezando hoy, ¿por dónde empezarías? ¿Qué consejo te darías??

El móvil no es muy diferente de la programación regular del cliente. El consejo clásico es probar en dispositivos reales y yo aliento a las personas a aprender las plataformas nativas, pero no a que se adhieran demasiado a ellas. Un buen ejemplo sería la actualización de iOS 6 a iOS 7. Un PhoneGap bien diseñado y bien diseñado o una aplicación web normal no era frágil para esa actualización.

De lo contrario, toda la sabiduría del programador regular se aplica. Sea ambicioso en su alcance pero discreto en sus implementaciones. Crea muchas ramas y prepárate para tirar la mayor parte de tu trabajo. Usted no es su código, por lo tanto, refactorice implacablemente y busque retroalimentación crítica..

Los módulos pequeños y los prototipos son más fáciles de razonar, corrigen, prueban y validan. No te dejes atrapar por el marco y la moda de la biblioteca. Céntrate en el espacio problemático que tienes e itera furioso y desapasionadamente. Escribe pruebas y haz que sea sencillo para alguien nuevo en la base de código para ejecutar las pruebas..

Finalmente, sé super excelente para tus colegas. La web tiene una memoria larga, esta industria es más pequeña de lo que parece y nadie quiere trabajar con un imbécil. Nadie ha pensado que una persona grosera fuera inteligente. Flamear es solo un comportamiento inseguro y profesionalmente inmaduro. La programación es bastante difícil, todos podemos aprender algo unos de otros y optar por una experiencia agradable al hacerlo.

Future Insights Live 2014

Me gustaría agradecer a Brian por su tiempo y por compartir sus ideas e ideas con Tuts +. Puedes escuchar a Brian hablar en Future Insights Live 2014 en Las Vegas en junio. La conferencia tiene una lista impresionante de oradores que cubren lo mejor en diseño web, desarrollo y dispositivos móviles. Use el código de cupón TUTS para 15% de descuento.