Im Rampenlicht Brian LeRoux

Das explosionsartige Wachstum des mobilen Raums hat die Suche nach einer robusten und praktikablen plattformübergreifenden Lösung beschleunigt. Kurz nach der Einführung des iPhone-SDKs und nachdem er sich mit Cocoa und Objective-C beschäftigt hatte, entschieden sich Brian LeRoux und seine Kollegen von Nitobi 2008 für die Erstellung einer plattformübergreifenden Lösung als für native mobile Anwendungen.

Heute können mit PhoneGap zehntausende mobile Anwendungen betrieben werden. Für Brian und sein Team hat sich seit der Gründung von PhoneGap viel verändert. 2011 erwarb Adobe Nitobi und die Quelle von PhoneGap wurde als Cordova an die Apache Software Foundation gespendet.

Im heutigen Rampenlicht spreche ich mit Brian über die frühen Tage von PhoneGap, die Zukunft von Mobile und warum die Zerstörung von PhoneGap eine gute Sache ist.

PhoneGap gibt es seit Beginn der mobilen Revolution und ist unter den Entwicklern bekannt. Für diejenigen, die nicht Brian LeRoux oder PhoneGap sind, können Sie uns etwas über sich erzählen und wie Sie an dem Projekt beteiligt sind?

PhoneGap wurde von einer kleinen Gruppe von Leuten erstellt, die zu dieser Zeit überwiegend im kanadischen Nitobi gearbeitet haben.

Die ersten Commits wurden von Brock Whitten und Rob Ellis für iOS gelandet. In diesen Tagen ist iOS die Domäne des produktiven Shazron Abdulla. Joe Bowser hat das sehr frühe Android-Betriebssystem herausgehackt und hält es bis heute aufrecht.

Dave Johnson fügte verschiedene BlackBerry-Bits hinzu, die nun größtenteils von BlackBerry selbst mithilfe von Lorin Beer gewartet werden. Jesse Macfadyen schnitt die Windows Phone-Inkarnationen ab und arbeitete eng mit Microsoft zusammen.

Michael Brooks hat die Dokumentation und einen Großteil der Befehlszeilenschnittstelle (CLI) und des Testwerkzeugs mit Fil Maj herausgerissen. Anis Kadri hat einen Großteil der Plug-in-Werkzeuge und -Entdeckungen geleitet. Steve Gill war für die Veröffentlichungen verantwortlich und leistete einen großen Teil der entsprechenden Werkzeuge. 

Herm Wong hat Firefox OS und jetzt unser neues GUI-Projekt gestartet. Die Markenidentität begann mit Yohei Shimomae und wird seitdem von Joni Rustulka übernommen. Google und IBM haben auch eine ganze Reihe von Mitwirkenden.

Eine ordentliche Schöpfungsgeschichte mit einem einzigen Hacker im Keller ist eine Art Fantasie, die unsere Branche liebt, ist aber selten der Fall. Software ist immer eine kollektive Anstrengung und jeder, der einen Beitrag leistet, verdient Anerkennung. Ich vermisse hier eine kanadische Tonne von Mitwirkenden, aber Sie haben die Idee.

Für mich selbst arbeitete ich bei Nitobi und brachte von der Inkarnation viel Code in verschiedene Bereiche von PhoneGap. Mein Hauptfokus war jedoch der Aufbau der frühen Projektkultur, der Philosophie und der Ziele - der Dinge, die für das Kommunizieren von Richtung und die Förderung der Gemeinschaft von entscheidender Bedeutung sind.

Testen, Tooling und Onboarding waren für mich andere frühe Anliegen. Schließlich konzentrierte sich mein Fokus mehr darauf, das Engagement über Nitobi hinaus zu vergrößern, was in der Quellspende an Apache als Cordova gipfelte.

Da PhoneGap fast sechs Jahre alt ist, haben die meisten Menschen zumindest davon gehört. Wenn Sie mit PhoneGap nicht vertraut sind, können Sie feststellen, welches Problem PhoneGap zu lösen versucht?

PhoneGap ist für die Erstellung mobiler Apps mit HTML, CSS und JavaScript. Wir unterstützen alle gängigen mobilen Betriebssysteme zum Erstellen und Verteilen an native App-Stores. Wir sind jedoch in erster Linie Webentwickler, und PhoneGap möchte das Web als erstklassige Entwicklungsplattform demonstrieren. Wir möchten Web-Apps erstellen, keine proprietären Fallen.

PhoneGap bietet Ihnen schließlich einen schicken Vollbild-Webbrowser und ein Erweiterungsmodell für den Zugriff auf native Plattformfunktionen über eine einfache Plug-In-Schnittstelle. Das Plugin-Modell macht es ganz einfach, alles auf dem Betriebssystem der Web-Ansicht zugänglich zu machen. Auf diese Weise können Downstreams schnell neue Webfeatures prototypisieren, und Anwendungsentwickler sind durch die herkömmliche Webansicht-Sandbox nicht eingeschränkt.

In den letzten Jahren haben wir uns vor allem mit der Entwicklung von Tools beschäftigt, die gängige Workflows für native mobile Entwicklung abstrahieren. Kompilieren, Emulieren, Protokollieren, Installieren von Plugins und dergleichen.

Wie sahen die frühen Tage von PhoneGap aus? Wann haben Sie festgestellt, dass PhoneGap eine Lösung für ein Problem darstellt, mit dem viele Unternehmen und Entwickler konfrontiert sind?

Die Anfänge waren lächerlich und lustig. PhoneGap war größtenteils ein Nebenprojekt, und die frühen Kernentwickler hackten und philosophierten häufig im Alibi Room, einer berühmten Bierbar in Vancouver, nach Stunden.

Als der mobile Aufstieg von Mobile langsam begann, kamen viele andere Entwickler in den Kampf, angezogen von dem philosophischen Verständnis, das wir teilten.

Es war und ist eine Gruppe, die es satt hat, proprietäre Plattformen zu nutzen, Betriebssysteme zu wechseln und in Entwickler-Ökosystemen eingesperrt zu sein. Erschöpft von Software-Plattformen, die "einen richtigen Weg" fordern, um "alle sechs Monate" auf diese Weise zu aktualisieren und später abzulehnen - wenn nicht ganz verschwinden.

Im Laufe der Jahre des Missbrauchs verbesserte sich die Webplattform langsam und Apps, auf die sie abzielten, liefen immer noch. Wir haben uns nicht mehr auf das glänzende Marketingmaterial verliebt, das sich "Human Interface Design Guidelines" nennt..

Das Internet hat nie eine Bedrohung erlitten, aber wir haben einen Hack gefunden, der den Kampf auf die Plattformen bringen könnte, die es bedrohen. Das Projekt war immer Open Source, respektierte das Web als erstes und sollte Funktionen demonstrieren, von denen wir glaubten, dass die Plattform erforderlich war, um gegenüber proprietären Alternativen wettbewerbsfähig zu bleiben. Es war schon immer eine harte Gruppe von Hackern, aber wir nehmen uns nicht zu ernst.

Vor einigen Jahren haben Sie gesagt, dass PhoneGap "kein goldener Hammer" ist und dass PhoneGap nicht die Lösung für jede mobile Anwendung ist. Ist das immer noch wahr oder kommen wir einem mobilen Web näher, das genauso mächtig ist wie die native Erfahrung?

Das Spektrum potenzieller Apps wird immer breiter, wenn Browser und die Geräte, auf denen sie ausgeführt werden, verbessert werden. Ich würde PhoneGap nie als befürworten das ultimative Lösung. Es gibt technische Erwägungen wie native Plattform-Vergünstigungen und geringere Bedenken wie geschäftliche Treiber, Mitarbeiterfähigkeiten, Investitionen in bestehende Inhalte, Lizenzen, Vertrauen in Anbieter von Drittanbieter-Plattformen und sogar Partnerbeziehungen.

Technologieauswahl bringt immer Kompromisse mit sich, und in Web-Technologien wie PhoneGap zu investieren, ist nicht anders.

Die eigentliche Herausforderung für Entwickler und insbesondere für das Unternehmen besteht darin, zu erkennen, dass die Entwicklung mobiler Apps einer normalen Softwareentwicklung gleichkommt. Dies ist nicht nur ein Punkt in der Zeit der Marketingspitze. Es ist ein ganzer Lebenszyklus zu berücksichtigen. Design, Entwicklung, Test, Analyse und Überwachung.

Mobile Entwicklung erfordert laufende Wartung und Ressourcen. Einzelanwendungen eines Beratungsunternehmens müssen aktualisiert werden, wenn eine neue Version von iOS oder Android verfügbar ist. Die Marketingabteilung muss wissen, welche Inhalte ausgeführt werden, und sie kann Änderungen an Inhalten, die nicht funktionieren, schnell veröffentlichen. Die IT-Abteilung benötigt ein Runtime-Absturzprotokoll und Zugriff auf die Push-Benachrichtigungsinfrastruktur.

Das längere Spiel, das gezielte strategische Ressourcen erfordert, wird gerade erst erkannt, da viele Unternehmen erst jetzt feststellen, dass sie zumindest teilweise selbst zu Software-Unternehmen werden. Eine strategische Investition in Technologie, die auf einem proprietären Ökosystem eines Drittanbieters beruht, ist ein Geschäftsrisiko. PhoneGap kann dieses Risiko mindern. Letztendlich verlieren Sie nie eine Wette im Internet.

Die Übernahme von Nitobi durch Adobe war ein wichtiger Meilenstein für PhoneGap, aber Apache Cordova war wahrscheinlich noch wichtiger. Wie hat Apache Cordova die Plattform verändert??

Die Übernahme von Nitobi durch Adobe war absolut wichtig. Wir waren frei von verrückter Beratungsarbeit, um uns ausschließlich auf PhoneGap zu konzentrieren, und es steht außer Frage, dass die Plattform enorm profitiert hat. Die Spende der PhoneGap-Quelle an Apache als Cordova ist auf längere Sicht gleichermaßen von Bedeutung.

Die Arbeit mit Apache hat dem Projekt eine völlig neue Disziplin verliehen. Unser Veröffentlichungsprozess ist viel mehr formalisiert, und obwohl es schwierig war, unsere Kadenz aufrechtzuerhalten, gewinnt unsere Community die rechtlich sichere Grundlage, für die Apache berühmt ist.

Dieses neutrale Gebiet ist eine großartige Umgebung für Einzelpersonen, die in verschiedenen Organisationen beschäftigt sind, um unbesorgt zusammenzuarbeiten. Seit wir Apache beigetreten sind, haben wir Mitbewerber von IBM, BlackBerry, Microsoft, Google, Intel, HP, LG, Samsung und mehr begrüßt.

Als Ergebnis davon haben wir viele neue Downstream-Distributionen von Cordova gesehen. Mein Schwerpunkt liegt auf Adobe PhoneGap. Entwickler können sich jedoch für BlackBerry Webworks, IBM Worklight, SAP SDK, Telerik, Intel XDK oder Google Mobile Chrome Apps entscheiden.

Einige Leute verwenden einfach Vanille-Apache Cordova und erstellen ihren eigenen Downstream. Ich liebe diese Vielfalt. All dies weist auf ein dynamisches und gesundes Ökosystem hin, auf das sich unsere Entwicklergemeinschaft verlassen kann. Wir iterieren schnell, beheben Fehler schnell, fügen regelmäßig neue Funktionen hinzu und haben einen sehr gut verstandenen Beitragsprozess, an dem jeder teilnehmen kann.

Apache hat einen guten Ruf für Politik und Bürokratie, aber es ist auch Teil unseres Jobs, ihn zu verbessern. Die Zusammenarbeit mit der ASF (Apache Software Foundation) war letztendlich der richtige Weg für unsere Gemeinschaft auf lange Sicht. Ich bin sehr stolz auf das, was wir mit der ASF erreicht haben.

PhoneGap ist eine großartige Plattform für die Entwicklung mobiler Anwendungen. Die Bereitstellung ist auf vielen Plattformen weiterhin mühsam, Sie haben jedoch versucht, dies mit PhoneGap / Build zu lösen. PhoneGap / Build klingt für Entwickler, die eine plattformübergreifende Lösung suchen, wie ein goldener Hammer. Können Sie uns sagen, was der Dienst macht und welches Problem dadurch gelöst wird?

PhoneGap Build ist ein in Adobe Creative Cloud gehosteter Compiler. Mit PhoneGap / Build können Sie von jedem beliebigen Webbrowser aus auf jedes mobile Betriebssystem zugreifen, das wir unterstützen. Sie können eine iOS-App aus einem Netbook oder sogar aus Ihrem eigenen Telefon (Meta) erstellen..

Anfangs dachten wir, dies könnte für kontinuierliche Integrations- und Testzwecke hilfreich sein. Es ist zu einem vielseitigen Dienstprogramm für das sehr diskrete Kompilieren einer App geworden und gibt dem resultierenden Artefakt eine URL. Es tut genau diese eine Sache und es tut es ziemlich gut. Wir haben gesehen, dass viele Leute PhoneGap / Build als API oder als Compiler verwenden.

Sie haben einmal gesagt, dass Sie glauben, dass die Zukunft von PhoneGap in seiner eigenen Zerstörung liegt. Kannst du erklären, was du damit meinst??

Ja, das ultimative Ziel von PhoneGap ist es, nicht mehr zu existieren. Wir möchten keine nativen Apps schreiben. Wir haben die Entwicklung proprietärer Kunden hinter sich gelassen und wissen, dass dies zu riskanten Ökosystemeinbrüchen führt.

Wir möchten Web-Apps erstellen, und PhoneGap war schon immer eine Zwischenlösung, bis Browser oder möglicherweise installierbare Web-Apps geeignete Alternativen sind. Ich denke, wir sind dieser Realität heute sehr nahe. Für viele Anwendungen ist Web first absolut geeignet.

Damit mobile Web-Apps mit der Ubiquität, die wir auf dem Desktop sehen, Erfolg haben, ist es hilfreich, die Bereiche zu zeigen, die das Web verbessern muss. Die PhoneGap-Plugin-Architektur ist eine wirklich glatte Oberfläche, um diskrete Prototypen zu erstellen, mit denen der traditionellen Weboberfläche neue Funktionen angezeigt werden. Diese subtile Philosophie hat uns dabei geholfen, die richtigen Wege zu beschreiten, indem Standards und Pollyfills implementiert wurden, mit dem W3C beim API-Design zusammengearbeitet wurde und die Browseranbieter Bedenken geäußert haben, die zu neuen Plattformfunktionen führen.

Eine offene Anerkennung des endgültigen Untergangs könnte entweder ein tragisches Ereignis in der Zeit sein oder ein strategisches Verständnis, gegen das man planen kann. Um zu bezeugen, wie unser eigenes Problem rückgängig gemacht wird, muss PhoneGap alles tun, um die Webplattform zu gewinnen.

Was sind einige der Schmerzpunkte, die wir noch im Web lösen müssen? Mit anderen Worten, wie nah sind wir von einem mobilen Web, das eine Erfahrung bietet, die der von nativen Anwendungen in nichts nachsteht?

Nach 25 Jahren ist es schwer, die Webplattform zu kritisieren. Das Web im Web zu basteln, ist jedoch eine lange Tradition des Webmaster-Handwerks.

Die umsatzstärkste Kategorie im App Store sind Spiele. Überlegen wir uns also, was es braucht, um ein großartiges Spiel zu sein. Audio ist insgesamt unordentlich, aber die Web-Audio-API ist verrückt. WebRTC oder was auch immer wir es nennen, ist vielversprechend, um Echtzeit-Apps realer zu machen.

Dann gibt es eine Reihe von Klempnerarbeiten, die nicht allgegenwärtig gelandet sind, wie z. B. Vollbild und Gamecontroller. Wenn all dieses Zeug im Allgemeinen verfügbar ist, wird das Spielen aufgewühlt. Datenintensive APIs wie Web Audio, WebRTC und WebGL werden uns dabei helfen, die Grenzen der JavaScript-Ausführungsleistung zu ermitteln, und alle frühen Hinweise sind äußerst positiv.

Das Layout wird ziemlich gut. Flexbox ist großartig und ich habe große Hoffnungen für CSS-Grids. Die letzte Version von Firefox (28) behebt die letzten Fehler bei Flexbox. Ich habe keine Ahnung, wann CSS Grids landen, aber ich bin geduldig. Medienabfragen, manchmal auch als Responsive Web Design bezeichnet, sind hilfreich. Ich möchte ein robusteres Funktionsmodell, um adaptive Schnittstellen optimal darstellen zu können.

Die größte Chance besteht darin, die Offline-Geschichte wirklich zu knacken - wahrscheinlich besser als "gelegentlich verbunden". Installierte Web-Apps wie PhoneGap-Apps sind an sich offline, es muss jedoch noch ein vollständiges Berechtigungsmodell definiert werden. Mozilla, Google und das W3C arbeiten daran.

Viele unserer Leser haben den Ehrgeiz, sich für mobile Geräte zu entwickeln. Wenn Sie heute anfangen würden, wo würden Sie anfangen? Welchen Rat würden Sie sich geben?

Mobile unterscheidet sich nicht wesentlich von der regulären Client-Programmierung. Der klassische Rat ist, auf echten Geräten zu testen, und ich ermutige die Leute, die nativen Plattformen zu lernen, aber nicht zu sehr an sie heranzukommen. Ein gutes Beispiel wäre das Update für iOS 6 auf iOS 7. Eine gut strukturierte und gestaltete PhoneGap- oder reguläre Web-App war für dieses Update nicht anfällig.

Ansonsten gelten alle üblichen Programmiererkenntnisse. Seien Sie ehrgeizig in Ihrem Umfang, aber diskret in Ihren Implementierungen. Erstelle viele Zweige und sei darauf vorbereitet, den größten Teil deiner Arbeit wegzuwerfen. Sie sind nicht Ihr Code, also rüsten Sie sich rücksichtslos aus und suchen Sie kritisches Feedback.

Kleine Module und Prototypen sind einfacher zu verstehen, zu korrigieren, zu testen und zu validieren. Lass dich nicht in die Rahmen- und Bibliotheksmode verwickeln. Konzentrieren Sie sich auf den Problemraum, den Sie haben, und durchlaufen Sie wütend und leidenschaftslos. Schreiben Sie Tests, und machen Sie es für jemanden, der neu in der Codebase ist, ganz einfach, die Tests selbst auszuführen.

Seien Sie schließlich zu Ihren Kollegen super ausgezeichnet. Das Web hat ein langes Gedächtnis, diese Industrie ist kleiner, als es zunächst erscheinen mag, und niemand möchte mit einem Arschloch arbeiten. Niemand hat je gedacht, dass eine unhöfliche Person schlau ist. Flammen ist nur unsicheres Verhalten und professionell unreif. Das Programmieren ist schwer genug, wir können alle etwas voneinander lernen und uns für eine angenehme Erfahrung entscheiden.

Future Insights Live 2014

Ich danke Brian für seine Zeit und dafür, dass er seine Ideen und Erkenntnisse mit Tuts + teilt. Sie können Brian im Juni auf der Future Insights Live 2014 in Las Vegas sprechen hören. Die Konferenz verfügt über eine beeindruckende Liste von Referenten, die sich mit den besten Themen im Bereich Webdesign, Entwicklung und Mobile befassen. Verwenden Sie den Gutscheincode TUTS für 15% Rabatt.