Phonemock – PhoneGap Debugging im Browser

Wie bereits hier angekündigt, bin ich dabei einen Wrapper für PhoneGap zu schreiben. Die Idee dazu wurde quasi aus der Not geboren. Ich habe nach einem einfachen Weg gesucht PhoneGap-Apps zu debuggen – also den JavaScript Teil. Leider habe ich bis dato noch keine wirklich zufriedenstellende Lösung dafür gefunden und deswegen hieß es wie so oft: Selbst ist der Mann 😉

Phonemock macht eigentlich nicht mehr und nicht weniger als sämtliche PhoneGap.exec() Aufrufe zu fangen, um diese selbst zu behandeln. Normalerweise würden diese Aufrufe an den nativen Teil von PhoneGap durchgereicht. Sie sind also die eigentlich Brücke zwischen JavaScript und den nativen Funktionen des Gerätes. Logischerweise stehen genau diese Funktionen im Browser nicht bereit, denn wenn man eine PhoneGap App im Browser laufen lässt, wird ja lediglich der Teil geladen, der in der WebView ausgeführt wird.
An dieser Stelle springt Phonemock ein. Statt native Funktionen aufzurufen, behandelt Phonemock die Aufrufe selbst. So ist es möglich im Browser mit Files zu arbeiten oder ein Bild von der Camera zu holen. Dass dies nicht 1:1 wie auf dem Gerät funktioniert sollte klar sein. Ich rate zum Beispiel jedem davon ab zu viele oder zu große Dateien zu laden, da dies den Browser eventuell in die Knie zwingt, zumindest aber stark ausbremst.

Da ich Phonemock parallel zu aktuellen Projekten entwickele, richtet sich die Implementationsreihenfolge der einzelnen Funktionen auch nach diesen Projekten. Es gibt noch eine ganze Menge zu tun und viele Funktionen warten noch darauf implementiert zu werden. Wer also Interesse daran hat das Projekt zu unterstützen, darf sich gern bei mir melden 🙂

Die Quellen finden sich auf github. Dort findet man auch genauere Hinweise zur Benutzung von Phonemock. Ich versuche die Doku etc. möglichst aktuell zu halten!

5 Gedanken zu „Phonemock – PhoneGap Debugging im Browser

  1. Moin, ich habe jetzt ein paar deiner Artikel gelesen und finde sie alle samt sehr interessant.

    Wenn ich es richtig heraus gelesen habe, hast du auch schon mit Flex gearbeitet.
    Leider bist du in deinem Artikel „Die Qual der Wahl – Womit mobile Apps entwickeln?“ nicht auf die Möglichkeit eingegangen dieses für die mobile Entwicklung ein zu setzen. Hat dies einen bestimmten Grund?

    Ich möchte mich demnächst selbst mit der Entwicklung von mobilen Anwendungen beschäftigen und finde Adobe Flex und Air sehr interessant!

    Gruß
    dpde

    • Hi,

      du hast Recht. Ich habe Flex und AIR nicht beachtet. Das lag unter anderem daran, dass ich keine App entwickeln wollte, für die die Nutzer noch eine extra Runtime installieren müssen. Mittlerweile hätte ich damit aber weniger Probleme. Ich würde die Technologie nun noch stärker davon abhängig machen, was für eine App ich entwickeln will. Vor- und Nachteile und das Kosten-/Nutzenverhältnis der einzelnen Lösungsansätze müssen dann einfach gegeneinander abgewogen werden. Und Flex hat sicher einige Vorteile, gerade wenn man an multimediale Anwendungen denkt. Deshalb kann ich mir auch gut vorstellen, nein eigentlich ist es sicher, dass ich mich demnächst etwas mehr mit der App-Entwicklung mit Flex beschäftigen werde! Leider habe ich es aus zeitlichen Gründen noch nicht über erste Gehversuche hinaus geschafft 🙂

      Viele Grüße

      Alex

  2. j sagt:

    Hallo zusammen!

    Stand vor dem selben problem und nach einigem Suchen bin ich doch noch auf ein recht praktisches Tool gestoßen: weinre, zu kriegen unter http://phonegap.github.com/weinre/
    Man muss dazu zwar in den html-code ein javascript einbetten, das vom Computer geladen wird, aber dafür hat man dann alle gängigen Debugging-Möglichkeiten, die man von FireBug etc. kennt!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.