1. Foren
  2. » Kommentare
  3. » Software-Entwicklung
  4. » Alle Kommentare zum Artikel
  5. » Mobile Apps: Phonegap 1.0…

Phonegap != nativ

Anzeige
  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Phonegap != nativ

    Autor deefens 30.07.11 - 14:02

    Golem lernt's nie...

  2. Re: Phonegap != nativ

    Autor zer0x 30.07.11 - 15:10

    Werden die Apps die mit Phonegap erstellt werden nicht in native Apps kompiliert?

  3. Re: Phonegap != nativ

    Autor Tapsi 30.07.11 - 15:17

    Nein, nicht direkt. Deine Anwendung wird in eine sogenannte WebView geladen, die nichts anderes als ein Fenster mit WebKit Engine darstellt. In dieser WebView wird dann der JavaScript Code ausgeführt, umhüllt mit einem Container der das ganze zu einer App zusammenkleistert. Titanium bietet zusätzlich aber die Möglichkeit native Kontrollelemente Buttons, Popups etc. mittels JavaScript anzusteuern.

    ( zumindest nach meinem Wissenstand )

  4. Re: Phonegap != nativ

    Autor Junior-Consultant 30.07.11 - 17:45

    PhoneGap kann auch native Controls ansteuern, ganz einfach per Plugin. So bekommt man native Tabbars, Browserwebviews (in der App) und Overlays hin.

    Ich entwickle nur noch mit PhoneGap plus SenchaTouch, JQuery Mobile oder JQTouch. Sind mit etwas Optimierung genauso performant wie native Apps und die Vorteile sind einfach erdrückend.

    Für was anderes als hardwarenahe Spiele braucht man m.E. keine nativen Apps mehr.

  5. Re: Phonegap != nativ

    Autor Netspy 30.07.11 - 17:49

    Tapsi schrieb:
    --------------------------------------------------------------------------------
    > Titanium bietet
    > zusätzlich aber die Möglichkeit native Kontrollelemente Buttons, Popups
    > etc. mittels JavaScript anzusteuern.

    Mehr noch, bei Titanium laufen die Apps auch nativ und nicht in einer WebView.

  6. Re: Phonegap != nativ

    Autor Tapsi 30.07.11 - 20:13

    Junior-Consultant schrieb:
    --------------------------------------------------------------------------------
    > PhoneGap kann auch native Controls ansteuern, ganz einfach per Plugin. So
    > bekommt man native Tabbars, Browserwebviews (in der App) und Overlays hin.

    Cool danke für den Hinweis :)
    Ich wollte mir eh mal für ein Projekt statt Titanium Phonegap anschauen. Hat jemand schon Erfahrung mit den Windows und Mac Plugins gemacht, mit denen man auch Windows und Mac Programme packen kann ?

    > Ich entwickle nur noch mit PhoneGap plus SenchaTouch, JQuery Mobile oder
    > JQTouch. Sind mit etwas Optimierung genauso performant wie native Apps und

    Genauso performant, mal ehrlich das geht nicht :P
    Aber wenn du meinst dass die JavaScript Performance mittlerweile für die meisten Programme derart schnell ist, sodass subjektiv keine Unterschiede festzustellen sind, okay würde ich auch sagen.

    > die Vorteile sind einfach erdrückend.

    Für mich gibt es aber auch viele erdrückende Nachteile...

    > Für was anderes als hardwarenahe Spiele braucht man m.E. keine nativen Apps
    > mehr.

    Neija ich würde immer noch behaupten das dynamische Sprache nicht so super geeignet für professionelle Apps wie Filterprogramme, Videoschnitt, Rendering etc. sind.

  7. Re: Phonegap != nativ

    Autor Tapsi 30.07.11 - 20:14

    > Mehr noch, bei Titanium laufen die Apps auch nativ und nicht in einer
    > WebView.

    Kannst mir dass mal zeigen, ich habe es zumindest noch nicht gesehen? :)

  8. Re: Phonegap != nativ

    Autor Netspy 30.07.11 - 20:56

    Tapsi schrieb:
    --------------------------------------------------------------------------------
    >
    > Kannst mir dass mal zeigen, ich habe es zumindest noch nicht gesehen? :)

    Wie meinst du das? Lad' dir doch einfach Titanium Studio und mache eine einfache App. Die ist dann nativ und läuft nicht in einer WebView.

  9. Re: Phonegap != nativ

    Autor Tapsi 30.07.11 - 21:00

    > Wie meinst du das? Lad' dir doch einfach Titanium Studio und mache eine
    > einfache App. Die ist dann nativ und läuft nicht in einer WebView.

    Hatte ich schon, aber wo denn ?

    Win, Mac, Linux -> laufen alle in einer WebKit Instanz
    iOS, Android -> Laufen auf einer WebView ( wobei Titanium laut der Doc einige Befehle auf native Funktionen verzweigt )

    BTW: Wie definieren wir hier eigentlich nativ. Ich gehe bei nativ jetzt von kompilierten Objective C aus bzw. dass kein Code zur Laufzeit interpretiert wird.

  10. Re: Phonegap != nativ

    Autor Netspy 30.07.11 - 21:38

    Tapsi schrieb:
    --------------------------------------------------------------------------------
    > > Wie meinst du das? Lad' dir doch einfach Titanium Studio und mache eine
    > > einfache App. Die ist dann nativ und läuft nicht in einer WebView.
    >
    > Hatte ich schon, aber wo denn ?
    >
    > Win, Mac, Linux -> laufen alle in einer WebKit Instanz

    Richtig.

    > iOS, Android -> Laufen auf einer WebView ( wobei Titanium laut der Doc
    > einige Befehle auf native Funktionen verzweigt )

    Falsch. Das ist der große Unterschied zwischen Phonegap und Titanium. Unter Titanium hast du ein natives UI und greifts generell auf native OS-Funktion zu, die über einen Wrapper JS-zu-OS übersetzt werden.

    > BTW: Wie definieren wir hier eigentlich nativ. Ich gehe bei nativ jetzt von
    > kompilierten Objective C aus bzw. dass kein Code zur Laufzeit interpretiert
    > wird.

    Soweit geht auch Titanium nicht. In einer Webview wird der Code aber nicht ausgeführt.

  11. Re: Phonegap != nativ

    Autor Tapsi 30.07.11 - 21:45

    > Falsch. Das ist der große Unterschied zwischen Phonegap und Titanium. Unter
    > Titanium hast du ein natives UI und greifts generell auf native OS-Funktion
    > zu, die über einen Wrapper JS-zu-OS übersetzt werden.
    >

    Okay dass wusste ich noch nicht. Trotzdem kann nicht alles übersetzt werden, Geschäftslogik bleibt ja in JS und diese müsste ja trotzdem in einer WebKit Instanz ausgeführt werder, oder ?

    > Soweit geht auch Titanium nicht. In einer Webview wird der Code aber nicht
    > ausgeführt.

    Wie denn sonst ? Man kann JS nicht einfach so in Objective C übersetzen... Naja gut doch, aber ob dass sich lohnt na ich weiß ja nicht. Sicherlich kann man einiges auf native Funktionen Wrappen, aber die Geschäftslogik bleibt doch als JS und diese muss doch interpretiert werden !? Oder wie setzt man das bei Tit Mobile um ?

  12. Re: Phonegap != nativ

    Autor scrumm3r 30.07.11 - 21:53

    Mit deiner Meinung liegst du Meilenweit daneben.

  13. Re: Phonegap != nativ

    Autor Netspy 30.07.11 - 22:32

    Tapsi schrieb:
    --------------------------------------------------------------------------------
    >
    > Okay dass wusste ich noch nicht. Trotzdem kann nicht alles übersetzt
    > werden, Geschäftslogik bleibt ja in JS und diese müsste ja trotzdem in
    > einer WebKit Instanz ausgeführt werder, oder ?

    In Titanium ist ein eigener JavaScript-Interpreter enthalten, der den Code über einen Wrapper/Bridge in native Aufrufe des OS übersetzt. Unter iOS wird JavaScriptCore und unter Android Mozilla Rhino verwendet. Webkit selbst wird dazu aber also nicht benötigt, da eben ein eigener Interpreter jeder App beiliegt.

    > Wie denn sonst ? Man kann JS nicht einfach so in Objective C übersetzen...

    Wird es auch nicht, siehe oben.

    > Naja gut doch, aber ob dass sich lohnt na ich weiß ja nicht. Sicherlich
    > kann man einiges auf native Funktionen Wrappen, aber die Geschäftslogik
    > bleibt doch als JS und diese muss doch interpretiert werden !? Oder wie
    > setzt man das bei Tit Mobile um ?

    Ja, das muss alles während der Laufzeit interpretiert werden. Deshalb sind Titanium-Apps auch nicht so schnell wie (kompilierte) native Apps und müssen auch nicht schneller sein, als eine Phonegap-App. Allerdings sind die UI-Elemente eben 100%ig native und Titanium bietet auch eine viel bessere Unterstützung der Plattform-APIs. Außerdem lässt es sich über Module erweitern, wovon einige interessante schon von Appcelerator angeboten werden. Siehe dazu auch:

    [appdevblog.de]

  14. Re: Phonegap != nativ

    Autor icy 31.07.11 - 00:31

    http://stackoverflow.com/questions/4217551/what-happens-to-javascript-code-after-app-is-compiled-using-titanium-mobile


    :-)

  15. Re: Phonegap != nativ

    Autor Netspy 31.07.11 - 10:22

    Ja, die zitierte Antwort von Marshall Culpepper im zweiten Posting bringt es auf den Punkt. Warum aber dein Smiley?

  16. Re: Phonegap != nativ

    Autor Tapsi 31.07.11 - 10:29

    Ja das Problem ist halt schon was wir unter nativ verstehen....

    Neija Titanium ist ein bisschen nativ, darauf können wir uns alle doch einigen... ist genau die Mitte :P

  17. Re: Phonegap != nativ

    Autor Netspy 31.07.11 - 11:22

    Tapsi schrieb:
    --------------------------------------------------------------------------------
    > Ja das Problem ist halt schon was wir unter nativ verstehen....
    >
    > Neija Titanium ist ein bisschen nativ, darauf können wir uns alle doch
    > einigen... ist genau die Mitte :P

    Mitte ist ok. ;-) Titanium ist aber auf jeden Fall nativer als Phonegap.

  18. Re: Phonegap != nativ

    Autor scrumm3r 31.07.11 - 11:47

    Und JavaScript ist stellenweise 100 Mal langsamer als Objective-C und 50 Mal langsamer als Java. Zudem fehlt Multithreading-Unterstützung und Zugriff auf Quartz / CoreAnimation gibt's genausowenig.

    Über langweiliges Standard-Zeugs kommt man also nicht hinaus. Weder mit PhoneGap, noch mit Titanium. Aber PhoneGab Entwickler sind ja bereits glücklich, wenn sie mit Ach und Krach die Qualität eines Standard-iOS-UIs erreichen, dass mittels Objective-C nur halb so aufwändig in der Umsetzung gewesen wäre.

    Für den Kunden gibt es nur einen einzigen Grund für solche Lösungen: JavaScript-Entwickler sind billiger.



    1 mal bearbeitet, zuletzt am 31.07.11 11:48 durch scrumm3r.

  19. Re: Phonegap != nativ

    Autor Tapsi 31.07.11 - 11:56

    scrumm3r schrieb:
    --------------------------------------------------------------------------------
    > Und JavaScript ist stellenweise 100 Mal langsamer als Objective-C und 50
    > Mal langsamer als Java. Zudem fehlt Multithreading-Unterstützung und
    > Zugriff auf Quartz / CoreAnimation gibt's genausowenig.

    Warum auch ? Das würde ja auch Android gar nicht gehen und Titanium / Phonegap wollen ja eine möglichst große gemeinsame API für alle Geräte anbieten. Extrem spezialisierte API's würden da eher hinderlich sein.

    > Über langweiliges Standard-Zeugs kommt man also nicht hinaus. Weder mit
    > PhoneGap, noch mit Titanium. Aber PhoneGab Entwickler sind ja bereits
    > glücklich, wenn sie mit Ach und Krach die Qualität eines Standard-iOS-UIs
    > erreichen, dass mittels Objective-C nur halb so aufwändig in der Umsetzung
    > gewesen wäre.

    HTML und CSS für Oberflächen sind auch nicht zu verachten :P ( man muss ja nicht immer mit nativen Kontrollelementen arbeiten )

    > Für den Kunden gibt es nur einen einzigen Grund für solche Lösungen:
    > JavaScript-Entwickler sind billiger.

    Sicher? Ob JS, Java oder ObjectiveC... ich würde da nicht unterschiedlich bezahlt arbeiten. Mit JS geht das doch nicht schneller als mit ObjectiveC oder Java. Aber vielleicht meinst du auch nur dass es scheinbar unendlich viele Script-Kiddies gibt, die in JavaScript für ein Appel und ein Ei herumfrickeln xD

  20. Re: Phonegap != nativ

    Autor Netspy 31.07.11 - 12:27

    scrumm3r schrieb:
    --------------------------------------------------------------------------------
    > Und JavaScript ist stellenweise 100 Mal langsamer als Objective-C und 50
    > Mal langsamer als Java.

    Mal davon abgesehen, dass du diese Zahlen nur aus der Luft gegriffen hast, interessiert das in sehr vielen Fällen nicht die Bohne, da selbst 100 mal langsamer nicht auffällt und immer noch schnell ist.

    > Zudem fehlt Multithreading-Unterstützung und

    Lässt sich über Module native realisieren und wird ansatzweise sogar schon von JavaScript unterstützt.

    > Zugriff auf Quartz / CoreAnimation gibt's genausowenig.

    Natürlich bietet Titanium Mobile Zugriff auf CoreAnimation. Bleib’ mal bei den Fakten!

    > Über langweiliges Standard-Zeugs kommt man also nicht hinaus. Weder mit PhoneGap, noch mit Titanium.

    Da gehen möglicherweise unsere Meinungen von Standard-Zeugs und langweilig auseinander. Aber Recht hast du, dass sich nicht alles mit Titanium und Co. realisieren lässt und man immer von Fall zu Fall abwägen muss, was das bessere Entwicklungssystem ist.

    > Aber PhoneGab Entwickler sind ja bereits
    > glücklich, wenn sie mit Ach und Krach die Qualität eines Standard-iOS-UIs
    > erreichen, dass mittels Objective-C nur halb so aufwändig in der Umsetzung
    > gewesen wäre.
    >
    > Für den Kunden gibt es nur einen einzigen Grund für solche Lösungen:
    > JavaScript-Entwickler sind billiger.

    Diese beiden Aussagen widersprechen sich. Wenn es deiner Meinung nach mit Objective-C so viel einfacher ist, warum sind dann Objective-C-Entwickler teurer?

  1. 1
  2. 2

Neues Thema Ansicht wechseln


Entschuldigung, nur registrierte Benutzer dürfen in diesem Forum schreiben. Klicken Sie hier um sich einzuloggen


Meistgelesen
  1. Libreoffice

    "Wir wollen Nutzer in die ODF-Welt ziehen"

  2. Browser

    Kauft Facebook Opera?

  3. Blackberry

    RIM plant Massenentlassungen

  4. Datenschutz

    Neue EU-Regeln zu Cookies treten in Kraft

  5. Samsung Galaxy S3

    Siri braucht sich nicht zu fürchten


Meistkommentiert
  1. Kommentare: 172 | letzter Beitrag 22:36 Uhr

  2. Kommentare: 94 | letzter Beitrag 26.05. 19:45

  3. Kommentare: 79 | letzter Beitrag 22:43 Uhr

  4. Kommentare: 71 | letzter Beitrag 22:20 Uhr

  5. Kommentare: 63 | letzter Beitrag 23:15 Uhr

Mehr



Haben wir etwas übersehen?

E-Mail an news@golem.de


Lollipop Chainsaw angespielt: Blond und brutal
Lollipop Chainsaw angespielt
Blond und brutal

Der japanische Spieldesigner Goichi Suda - Fans sagen schlicht "Suda 51" - ist für schräge Actionspiele bekannt. Sein nächstes Werk schickt ein scheinbar braves Schulmädchen in den Kampf gegen Zombies.

  1. Spielepublisher in Not dtp Entertainment meldet Insolvenz an
  2. US-Umsätze im März 2012 Spielemarkt schrumpft weiter
  3. Starlight Inception Lucas-Arts-Veteran kämpft für das Weltraum-Action-Genre

Samsung XE300: Google Chromebox versehentlich ausgeliefert
Samsung XE300
Google Chromebox versehentlich ausgeliefert

Weitgehend unbemerkt hat der US-Händler Tigerdirect die ersten Chromebox-Systeme von Google ausgeliefert. Für 330 US-Dollar bekommt der Nutzer recht gute Hardware in Nettop-Form, die sehr viel leistungsfähiger ist als die des Chromebook mit ChromeOS.

  1. Googles Aura Chromium OS mit klassischem Desktop

Bernd Schlömer: Twittern und Mailen für die Piratenpartei im Dienst verboten
Bernd Schlömer
Twittern und Mailen für die Piratenpartei im Dienst verboten

Der neue Chef der Piratenpartei steht im Verteidigungsministerium unter Druck. Elektronische Kommunikation für seine Partei ist ihm in der Dienstzeit untersagt. "Es gibt Leute im Ministerium, die darauf warten, dass ich Fehler mache", sagte Schlömer.

  1. Hartmut Semken Berliner Piratenparteichef tritt zurück
  2. Schulschwänzen Piratenpartei gegen elektronisches Klassenbuch
  3. Piratenpartei NRW "Wir bringen einen Schuss Chili ins Parlament"

  1. Renesas: Chiphersteller will ein Drittel der Beschäftigten loswerden
    Renesas
    Chiphersteller will ein Drittel der Beschäftigten loswerden

    Renesas ist nach Elpida der zweite schwer angeschlagene japanische Chiphersteller. Renesas, das Hitachi, Mitsubishi Electric und NEC gehört, macht Verlust und will seine größte Fabrik verkaufen.

  2. Blackberry: RIM plant Massenentlassungen
    Blackberry
    RIM plant Massenentlassungen

    RIM soll in den kommenden Tagen erneut einen massiven Stellenabbau ankündigen. "Ich habe herausgefunden, welche Teile ich in meinem Puzzle nicht mehr benötige", sagte Firmenchef Thorsten Heins.

  3. Browser: Kauft Facebook Opera?
    Browser
    Kauft Facebook Opera?

    Ein britisches Blog will erfahren haben, dass Facebook den norwegischen Browserhersteller Opera Software kaufen will. Beide Unternehmen wollen sich dazu nicht äußern.


  1. 15:41

  2. 13:23

  3. 14:48

  4. 14:29

  5. 14:24

  6. 12:30

  7. 12:23

  8. 18:49