1. Foren
  2. Kommentare
  3. Software-Entwicklung-Forum
  4. Alle Kommentare zum Artikel
  5. › Mobile Apps…

Phonegap != nativ

  1. Thema
  1. 1
  2. 2

Neues Thema


  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. Thema
  1. 1
  2. 2

Neues Thema


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Linux Administrator*in (m/w/d)
    Humboldt-Universität zu Berlin, Berlin-Adlershof
  2. DevOps - Engineer BMC Helix ITSM - Remedy (m/w/div)
    Deutsche Rentenversicherung Bund, Berlin
  3. IT System Engineer (m/w/d)
    Hannover Rück SE, Hannover
  4. Sachgebietsleiter (m/w/d) Business Development & Evaluation
    Mainova AG, Frankfurt am Main

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. 79,99€ (Vergleichspreis 106,89€)
  2. 499€ (Vergleichspreis 715,14€)
  3. u. a. Fractal Design Ion+ 2 Platinum 660 W für 99,90€ + 6,99€ Versand statt 161,05€ im...


Haben wir etwas übersehen?

E-Mail an news@golem.de