Kampf zwischen nativen und Phonegap, einfache App-Anforderungen

75

Ich werde eine native (dh nicht im Browser) mobile App erstellen. Da ich ein Webentwickler bin, habe ich Schwierigkeiten zu entscheiden, ob ich Phonegap ausprobieren oder einfach eine native App in Java oder Objective-C erstellen soll.

Die App-Anforderungen sind einfach. GPS / WLAN-Standort, Facebook-Integration und ich denke, ich brauche eine Datenbank, um einige der anwendungsspezifischen Beziehungen zwischen Facebook und Freunden zu verwalten. Wie zum Beispiel die Highscores in einem Spiel - solche Sachen.

Ich bin ein Webentwickler und kenne weder Java noch Objective-C. Ich habe Phonegap noch nie zuvor verwendet, daher weiß ich nicht, ob es meine Anforderungen erfüllen kann.

Meine Frage lautet also wie folgt: Kann ich Phonegap für meine App verwenden oder muss ich in eine neue Sprache eintauchen?

Henrik Skogmo
quelle
Zeit ist der wichtigste Faktor, weshalb ich Phonegap verwenden würde, obwohl Seitenübergänge nicht funktionieren.
iOSAndroidWindowsMobileAppsDev
... oder erstellen Sie einfach eine native App in Java oder Objective-C. Das Erstellen dieser Apps kann einige Zeit in Anspruch nehmen, wenn Sie keine Erfahrung mit diesen Plattformen haben.
Keune
Dies hängt von der Komplexität der App ab. Wenn es sich hauptsächlich um statische Seiten mit einfachen Funktionen wie dem Zugriff auf den GPS-Standort oder die Kamera handelt, um ein Profilbild aufzunehmen, ist dies in Ordnung. Auf Low-End-Geräten und auf jeder Plattform treten weiterhin Leistungsprobleme auf (weniger unter iOS, aber immer noch). Alles, was mittelgroß oder groß ist, mit viel beständiger Datenspeicherung, Analyse, Manipulation des Dateisystems, Tonnen von Seiten, langen Artikellisten, wird nativ. Wenn Sie sich immer noch nicht sicher sind, starten Sie einen App Store auf einer beliebigen Plattform, suchen Sie nach HTML5 / Hybrid-Apps und testen Sie sie. Wenn Sie mögen, wie sie auftreten, machen Sie es
Mirko

Antworten:

158

Verbunden:

Eine größere Version dieses Artikels finden Sie auch HIER. Um transparent zu sein, ist es mein persönlicher Blog.

Hybrid vs Native Apps

Hybrid-Apps:

Profi:

  • Schnellere Entwicklung, insbesondere wenn Sie ein langjähriger Webentwickler sind.
  • Auf jeder verfügbaren Plattform kann 1 Sprache verwendet werden. Dies erfordert natürlich einen Phonegap-Wrapper. Sie müssen Objective C, Java oder C # nicht lernen, um eine Entwicklung durchzuführen. Sie müssen nur die Grundlagen der Phonegap-Implementierung verstehen. Sie müssen ein wenig mit den oben genannten Sprachen spielen, aber Sie müssen sie nicht verstehen.
  • Phonegap bietet einige native Funktionen wie die native iOS-Registerkartenleiste oder die native Android-Registerkartenleiste und vieles mehr.
  • Niedrigere Budgetkosten und eine riesige Community von Unterstützern und Entwicklern.
  • Eine Hybrid-App bietet viele der Vorteile beider Ansätze für den Zugriff auf die gängigsten Geräte-APIs und eine breite Geräteabdeckung, ohne dass die für vollständig native Apps typischen Fachkenntnisse, größeren Budgets und längere Markteinführungszeiten erforderlich sind.

Nachteile:

  • Sie werden nach einiger Zeit buchstäblich und metaphorisch Blut pissen.
  • Mobiltelefone (selbst heutige Tablets) sind nicht schnell genug, um eine Hybrid-App reibungslos auszuführen. Mobile JavaScript-Funktionen sind bestenfalls verfügbar. Die Android-Plattform ist ein Albtraum. Seitenübergänge funktionieren nicht reibungslos, ganz zu schweigen von der fehlenden CSS / CSS3-Implementierung. Wenn Sie der Meinung sind, dass native Android 2.X und 4.X Unterschiede aufweisen, schauen Sie sich eine schlechte JavaScript / CSS-Implementierung für Android 2.X an. iOS schneidet besser ab, hat aber immer noch eine fehlende CSS3-Implementierung, viel bessere Seitenübergänge. Um diese kurzen nativen Apps zu erstellen, haben Sie immer eine bessere Benutzererfahrung und ein besseres allgemeines Gefühl.
  • Sie werden viel mehr Zeit damit verbringen, die App zu reparieren, als sie zu erstellen. Das Erstellen einer App für jede Plattform ist ein Schmerz im Nacken. Browser auf verschiedenen Plattformen unterstützen nicht einheitlich alle neuesten HTML-Funktionen und APIs, was das Entwickeln und Testen zu einer Herausforderung machen kann.
  • Wenn Sie keinen guten Designer haben, versuchen Sie nicht einmal, eine App zu erstellen. Aussehen ist alles.
  • Wenn Sie nicht wissen, was Sie tun, besteht eine gute Chance, dass Ihre App keine Berechtigung für den Apple App Store erhält. Selbst der Google Play Store wird Ihre App sperren, wenn ein Phonegap PayPal-Plugin eines Drittanbieters entdeckt wird.

Native Apps:

Profi:

  • Eine native mobile App bietet die beste Benutzererfahrung - schnell und flüssig, bietet Ihnen den besten Zugriff auf Gerätefunktionen und kann in den App Stores gefunden werden.
  • Ohne Zweifel haben native Apps vollen Zugriff auf die zugrunde liegende mobile Plattform. Native Apps sind normalerweise sehr schnell und ausgefeilt und eignen sich daher hervorragend für leistungsstarke Apps oder Spiele. Das ist mehr als genug.

Nachteile:

  • Für ein größeres Budget benötigen Sie mindestens eine Person mit Java- und Objective C-Kenntnissen, sogar C #, wenn Sie eine Windows Mobile-App möchten. Ja, Sie können es selbst lernen, aber leben Sie nicht unter der Illusion, dass Sie dies in kurzer Zeit tun werden. Wenn Sie noch nie eine Entwicklung durchgeführt haben, wählen Sie Ziel C (iOS ist immer noch eine bessere Plattform). In anderen Fällen wählen Sie Java. Java hat eine ähnliche Syntax wie andere verfügbare Sprachen, sodass es einfach ist, von C # nach Java und umgekehrt zu springen. Ziel C ist eine eigene Welt. Es hat eine eher ungewöhnliche Syntax.
  • Es kann eine längere Zeit dauern, bis Sie alle entwickelt haben, und Zeit ist Geld. Dies hängt von der Komplexität der Apps ab.

In Ihrem Fall sollten Sie eine Hybrid-App wählen, wenn Sie über gute Webentwicklungs- / Designfähigkeiten und / oder einen guten Designer verfügen. Gehen Sie nur dann nativ, wenn diese App komplex sein wird. Alles, was Sie wollen, können Sie mit einer Hybrid-App erledigen. Und Sie werden eine großartige und unterstützende Community finden.

Hybrid-Apps

Was ich vorher nicht erwähnt habe, müssen Sie hier besonders vorsichtig sein. Selbst wenn Sie ein erfahrener Entwickler sind, werden Sie viele Probleme finden, die Sie nicht lösen können. Die hybride Entwicklung sollte nicht mit einer grundlegenden Webentwicklung verwechselt werden.

Jede mobile Plattform hat ihre eigenen Probleme, ganz zu schweigen davon, dass sich Mobiltelefone je nach Gerät unterschiedlich verhalten. Wenn möglich, erstellen Sie immer eine App, die auf langsameren Geräten funktioniert, da die native App auf fast jedem Gerät erfolgreich funktioniert.

Es gibt noch eine letzte Sache: Wenn Sie Hybrid-Apps erstellen, dauert die App-Entwicklung etwa 30% bis 50% Ihrer Zeit. Der Rest wird für das Debuggen und Lernen bestimmter Plattformen benötigt. Glauben Sie mir, selbst nach mehreren Jahren mobiler Entwicklung stehe ich manchmal vor Problemen, die ich nicht alleine oder schnell genug lösen kann.

Seien Sie also vorsichtig bei der Auswahl des mobilen Frameworks, wählen Sie 2-3 aus und lesen Sie mehrere Tage darüber.

Links

Hier sind einige Links, die Ihnen bei der Entscheidung helfen:

PhoneGap + jQuery Mobile 1.4-Tutorial - Dies ist ein schrittweises Tutorial für PhoneGap und die letzte Version von jQuery Mobile

PhoneGap + jQuery Mobile 1.4-Lernprogramm - MacOS-Version - Dies ist ein schrittweises Lernprogramm für die PhoneGap-Bereitstellung unter MacOS. Der Teil von jQuery Mobile wurde in einem früheren Artikel behandelt. Es macht keinen Sinn, Dinge zu wiederholen.

jQuery Mobile vs Sencha Touch - Vergleich von jQuery Mobile Sencha Touch

jQuery Mobile vs Kendo UI - Vergleich der jQuery Mobile Kendo UI

7 bekanntesten HTML5 Mobile Frameworks - Name sagt alles

7 weniger bekannte mobile HTML5-Frameworks - Name sagt alles

Gajotres
quelle
2
Können nur native Apps im AppStore / Market gefunden werden?
Henrik Skogmo
1
Hybrid-Apps werden auch im App Store begrüßt. Sie werden manchmal abgelehnt, aber das Gleiche passiert auch mit nativen Apps. Meine erste Hybrid-App wurde abgelehnt, weil ich das Paypal-Plugin eines Drittanbieters verwendet habe und Apple das nicht mag. Also mach dir keine Sorgen.
Gajotres
Ich habe in den letzten 10 Monaten eine mittelgroße Anwendung in js und Phonegap erstellt und ich wünschte, wir wären einheimisch geworden. Phonegap, js und HTML5 zusammen sind ein Schmerz, und selbst wenn Sie etwas zum Laufen bringen, ist die Erfahrung auf den neuesten iPhones und Nexus-Geräten akzeptabel. Auf allem anderen lässt es Sie das Gerät aus dem Fenster werfen
Mirko
Ich bin der Meinung, dass viele dieser Aussagen - insbesondere in Bezug auf die Leistung - veraltet sind. Nach dem, was ich gesehen habe, scheint Ionic das Beste aus beiden Welten zu verschmelzen.
Rambatino
Vielen Dank für Ihre Meinung, gute Dinge jetzt ein Tag Octa-Core-CPU in großen mobilen. Einfach großes Budget als native, geringes Budget als PhoneGap. Die Klarheit hängt vom Budget ab, bietet aber Möglichkeiten in beide Richtungen.
Tejas Tank
16

Wenn Ihre Anwendung keine Animationseffekte hat und einfach ist, ziehe ich es vor, sie in einem Web (Phonegap) cz in kürzerer Zeit zu erstellen. Wir können sie in mehreren Arten von mobilen Betriebssystemen starten. Wenn Ihre App mehr UI-Effekte und Animationen enthält, ist es am besten, native zu verwenden.

Obwohl Sie in Webview (Phonegap) entwickeln, müssen Sie einige grundlegende Schritte in Android und iOS lernen

Wie Phonegap in Geräten funktioniert

Ios Das Laden von Animationen und Ansichten in ios Webview ist gestrandet und gut, die Animationseffekte können klar beobachtet werden

Android
Wir müssen die Geräteversion und die Gerätefirma für Android berücksichtigen, während wir den HTML-Code ausführen. Einige Geräte mit hoher Konfiguration in Android bieten eine klarere und effizientere Animationsanzeige, aber einige Geräte (meistens alte Versionen und einige Geräte der Firma) können keine guten Animationseffekte liefern , Rendering-Effekt variiert von Gerät zu Gerät in Android,

Sandeep P.
quelle
2
Ich denke, ich merke schnell, dass ich eine native App mit Objective-C oder Java erstellen möchte. Wenn eine "native" Phonegap-App nur die Webapp-HTML / CSS / JS-Dateien sind, die für die Verwendung mit einer UIWebView kompiliert wurden, befürchte ich, dass die App auf die regulären Webapp-Einschränkungen beschränkt bleibt. Die nativen APIs können nicht genutzt werden. Danke für die Antwort.
Henrik Skogmo
1
Es geht nicht nur um Animationen, sondern Sie müssen sie nur auf Low-End-Geräten / alten Plattformen ausschalten. Es ist die allgemeine Stabilität, Reaktionsfähigkeit der Benutzeroberfläche, dauerhafte Datenspeicherung und Leistungsprobleme, die Sie verrückt machen werden
Mirko
@HenrikSkogmo Sie können mit der Hardware interagieren, das ist der ganze Zweck von Phonegap / Cordova. Es gibt jedoch einige Einschränkungen, es hängt davon ab, was Sie erreichen möchten
Mirko
6

Meiner bescheidenen Meinung nach kann man mit Phonegap einfach einfache Apps entwickeln, sonst nichts. Die Dokumentation reicht nicht aus und wie andere gesagt haben, werden Sie viel mehr Zeit damit verbringen, Fehler zu beheben und Plugins zu finden, als Ihre App zu erstellen. Ich würde mich bemühen, Android oder iOS oder was auch immer zu lernen, und es als Investition Ihrer Zeit betrachten. (Ja, mein Kommentar ist etwas voreingenommen).

Enrique Marcos
quelle
1
Ich stimme voll und ganz zu, Phonegap und HTML5 sind Jahre hinterher eine praktikable Option für die mobile Entwicklung
Mirko
Aus diesem Grund würden Sie es in der Praxis in Kombination mit etwas anderem wie Sencha Touch oder Kendo UI verwenden.
Tony O'Hagan
3

Zuletzt habe ich mir das angesehen. PhoneGap bestand ausschließlich aus HTML, CSS und Javascript. So können Sie sich wie zu Hause fühlen. PhoneGap kann den GPS-Standort verarbeiten. Weitere Informationen finden Sie in diesem Artikel in der Dokumentation zu PhoneGap. Ob Sie Objective C erlernen möchten oder nicht, hängt davon ab, wie schnell Sie neue Sprachen erlernen, da dies eine gewisse Abweichung von der Webentwicklung darstellt.

Palmi
quelle
3

Es hängt ganz von Ihren Bedürfnissen ab

Nachdem ich meine erste App mehrere Monate veröffentlicht hatte (natives Android, datenbankgesteuerte, erholsame Verbindungs-App), entschied ich mich, meine App mithilfe von Phonegap neu zu schreiben (da ich die App auf iOS klonen möchte, also nicht in ObjC, warum nicht Javascript? ?)

Unter Android kostete es mich, einen Java-Entwickler, 3 Wochen, alles von Grund auf zu lernen und zu programmieren. Ich schlug mehrmals mit dem Kopf gegen die Wand, um zu erfahren, wie der ListAdapter von meinem Server aus mit dem Restful Service synchronisiert wird und wie die App thematisiert wird (meiner Meinung nach ziemlich schwierig, insbesondere bei Spezialeffekten wie transparent, Rahmen, ... ) und auch, wie Sie Ihre Codebasis effektiv strukturieren können (wenn Sie mit Java vertraut sind, werden Sie feststellen, dass alle Klassen sehr stark miteinander gekoppelt sind, da die meisten Tutorials darüber schreiben).

Bei Phonegap ist alles in 1 Woche erledigt. CSS, HTML, mit onsenuiund angularmachen die GUI-Entwicklung genau wie etwa die Aufgabe eines Studenten im ersten Jahr und das Thema ist nur ein Kinderspiel. Ich muss es nicht auf dem realen Gerät ausführen, sondern nur den Browser während der Entwicklung verwenden, den Code ändern und aktualisieren. AngularBietet eine bidirektionale Bindung mit dem DOM, was das Sammeln und Anzeigen von Daten sehr beeindruckend macht. Zum Beispiel:

<ul ng-each="for sentence in sentences" >
   <li>{{ sentence.title }} </li>
</ul>

Wenn die Variable sentencesgeändert (vom Server abgerufen) wird, wird auch das DOM automatisch geändert. Javascript ist jedoch nur Javascript. Beim Debuggen der App hatte ich viele Probleme, insbesondere beim Ausführen der MapReduce-Funktionen mit PouchDB (großer Fehler, ich muss cordova-sqlite-pluginheute Abend zurückkehren). Meistens muss ich das Protokoll lesen, um das Problem herauszufinden ( Die Tools von Chrome und Firebug können den Haltepunkt nicht erreichen. Außerdem ist es schwierig, Ihre App neu zu strukturieren (wieder Javascript). Wenn Sie also Ihre Codebasis beim ersten Anzeichen nicht sorgfältig organisieren, kann dies zu einem Durcheinander führen (und das Debuggen ist wieder ein echtes Problem). PhoneGap ist auch webbasiert, so dass Sie manchmal hören werden, dass "weil auf dieser Plattform dieses bla bla bla nicht unterstützt wird" (z.localStorage) und du musst dafür stehen, wenn du kein gutes Plugin findest.

Fazit Abgesehen von der Einschränkung des webbasierten Speichers funktioniert PhoneGap recht gut mit der datenbankgesteuerten, einfachen GUI-App (und die meisten datenbankgesteuerten Apps verfügen derzeit ohnehin über eine einfache GUI). Wenn Sie diese Art von App entwickeln wollen, bleiben Sie dabei

Thai Tran
quelle
2

Überprüfen Sie mit ionic , unterstützt von angle.js, um einige der in der akzeptierten Antwort genannten Nachteile auszugleichen. Tutorial zum Starten einer Mitarbeiterverzeichnis-App: http://coenraets.org/blog/2014/02/sample-mobile-application-with-ionic-and-angularjs/

Connor Leech
quelle
Ionic unterstützt nicht weniger als Android 4.2, aber noch schlimmer ist es in der Beta. Ich hatte Albträume mit jQuery Mobile und jQuery, die es schon seit Ewigkeiten gibt und die stabil genug sind. Können Sie sich das mit einem Beta-Framework vorstellen?
Mirko
hasse den Spieler nicht, hasse das Spiel
Connor Leech
Ja fair genug. Ich würde Ionic gerne ausprobieren, aber 60% der Android-Nutzer auszulassen ist momentan keine Option
Mirko
Oh verdammt! Ich wusste nicht einmal über dieses Problem Bescheid. Es sieht so aus, als würden sie zurück rollen, um 4.0+
Connor Leech
1
Immer noch 20% aus ... Wir unterstützen 2,3+, bis es unter 10% fällt. Ich denke, bis dahin wird das Framework stabil genug sein;)
Mirko
1

@Gajotres hat eine großartige Antwort geschrieben, aber die Leistung von Hybrid-Apps hat seit 2012 einen langen Weg zurückgelegt. Ich habe eine verwandte Frage beantwortet , die den Unterschied zwischen der Entwicklung von Hybrid- und nativen Apps im Jahr 2017 abdeckt.

Die Moral der Geschichte ist, dass sich die Entwicklung hybrider Apps in den letzten Jahren enorm verbessert hat, aber für bestimmte Anwendungsfälle immer noch nicht mit nativen übereinstimmen kann.

Mit Tools wie Ionic (erstmals 2013 veröffentlicht ) und React Native (erstmals 2015 veröffentlicht ) ist es einfacher als je zuvor, Hybrid-Apps mit nativen Komponenten zu erstellen. Hybrid-Apps sind jetzt schneller, weniger fehlerhaft und können intensiver mit der nativen Benutzeroberfläche interagieren.

Der Schwellenwert für die Leistung von Hybrid-Apps ist wesentlich höher als noch vor wenigen Jahren. Es gibt jedoch noch einen Punkt, an dem Sie Ihre App möglicherweise in einer Muttersprache entwickeln müssen.

Ursprüngliche Antwort:

Ja, die allgemeine Meinung ist, dass Hybrid-Apps nativen Apps unterlegen sind. Dies kann für Entwickler, die mit Webtechnologien besser vertraut sind, frustrierend sein, hat aber gute Gründe:

  1. Unfähigkeit, mit nativen Komponenten zu interagieren : Obwohl Plugins cordova-plugin-statusbarvorhanden sind, gibt es Einschränkungen bei der Interaktion mit und der Bearbeitung von nativen Komponenten mithilfe von Webtechnologien. Ein großes (und frustrierendes) Problem, auf das ich persönlich gestoßen bin, ist die Unfähigkeit, eine Eingabe oben auf der Tastatur zu haben, während die Tastatur animiert wird. Dies klingt wie eine Nichtausgabe, bis Sie sich eine App ansehen, in der dies eine wesentliche Funktion ist, wie z in einer Chat-App wie Slack.
  2. 300 ms Verzögerung : Obwohl moderne Browser dies allmählich auslaufen lassen , fühlt sich die App aufgrund des Bruchteils einer Sekunde Verzögerung, die bei Hybrid-Apps auftritt, langsam und nicht nativ an. Dieses Problem spielt eine immer geringere Rolle, da immer mehr Benutzer Problemumgehungen wie FastClick.js verwenden und einige Frameworks wie Ionic es standardmäßig entfernen .
  3. Die Hasser haben Recht (irgendwie) : Während die Entwicklung von Hybrid-Apps einen langen Weg zurückgelegt hat, gibt es immer noch kleinere Störungen und verzögerte Funktionen, die in einer nativen App einfach nicht vorhanden sind. Bildschirmübergänge, App-Umschaltung und Akkulaufzeit sind immer noch häufige Bereiche, in denen Fehler auftreten, und werden wahrscheinlich einige Zeit auftreten, selbst wenn sie immer weniger auffallen.
  4. Es gibt einige großartige native Lösungen : Mit neueren Sprachen wie Apple Swift wird es einfacher, in einer Muttersprache zu codieren. Allerdings fallen Tools wie React Native in eine Grauzone zwischen Native und Hybrid, da Entwickler in benutzerfreundlichen Technologien wie JavaScript codieren und in nativen Code kompilieren können.

Die Moral der Geschichte ist, dass es wirklich darauf ankommt, was für Ihren spezifischen Anwendungsfall wichtig ist. Hybrid-Apps sind zu einer praktikablen Option geworden und keine peinliche Nebenschau mehr. Umgekehrt gibt es noch kleinere Aspekte der Interaktion mit Native UX, die nur mit einer Native-App möglich sind.

Insgesamt empfehle ich, Ihr Projekt zuzuordnen und festzustellen, ob Ihre App einen der Vorteile einer nativen App benötigt. Mit Tools wie der Ionic View- App ist es einfach, ein grundlegendes Modell Ihrer App zusammenzustellen und auf einem realen Gerät zu testen, ob eine Hybrid-App für Sie funktioniert oder nicht.

Tyler
quelle
0

Es gibt auch AppGyver-Steroide, die PhoneGap und Native UI sehr gut vereinen.

Mit Steroiden können Sie Ihrer PhoneGap-App Dinge wie native Registerkarten, native Navigationsleiste, native Animationen und Übergänge, native modale Fenster, native Schubladen / Panels (Facebook-Seitenmenü) usw. hinzufügen. Grundsätzlich greift Steroids überall dort, wo CSS + JS es nicht schneidet, in die native Ebene, um die Aktion auszuführen.

Außerdem können Sie mit Steroiden (obwohl Sie dies nicht müssen) eine mehrseitige Architektur (mehrere Webansichten) anstelle einer einzelnen verwenden. Bei Apps mit nur einer Seite sind alle Dinge wie Übergänge nur CSS-Problemumgehungen, und wie Mani sagte, sind selbst moderne Tablets und Telefone nicht schnell genug, um sie reibungslos zu machen. Es ist immer offensichtlich, wenn es sich um eine Phonegap-App handelt, insbesondere wenn eine Reihe von Prozessen ausgeführt wird oder wenn Sie einen Bildlauf durchführen, da JS-Prozesse blockiert sind (in iOS 8 behoben).

Mit der mehrseitigen Architektur Mittel Sie 100% nativer Leistung bekommen (weil diese tatsächlich Teile sind unkomprimiert). Und im Gegensatz zu Phonegap erhalten Sie ein konsistentes Verhalten der Benutzeroberfläche und ein einfacheres Debuggen (mit einer App mit nur einer Seite ist es oft schwierig, einen bestimmten Status in Ihrer App wiederherzustellen). Mit mehreren Seiten können Sie Ihre Apps viel einfacher entwickeln und warten, da Ihre Codebasis sauberer bleibt.

Überprüfen Sie die Demo: http://youtu.be/oXWwDMdoTCk?t=20m17s

Yoka
quelle
0

Ich finde auch jeden guten Artikel hier http://www.comentum.com/phonegap-vs-native-app-development.html , es vergleicht diese beiden Möglichkeiten in verschiedenen Kategorien.

Die Zusammenfassung ist wie folgt:

  1. Gestaltung von Schnittstellen (gleich)
  2. Kosten (Hybrid hat Vorteil)
  3. Entwicklungszeitleiste (Hybrid hat Vorteil)
  4. Benutzererfahrung und Leistung (Native hat Vorteil)
  5. Wartbarkeit (gleich)
  6. Keine Einschränkungen (Native hat Vorteil)
  7. Sicherheit (gleich)
  8. Support und Ressourcen (Native hat Vorteile)
  9. Tools und Debugging (Native hat Vorteile)
  10. Plattformunabhängig (Hybrid hat Vorteil)
  11. Popularität (gleich)
Alireza Fattahi
quelle
0

Eine der großartigen Optionen, die hier übersehen werden, ist die Entwicklung mit Xamarin .

Obwohl es nicht hilft, die Fähigkeiten der Webentwickler von OP zu nutzen, hat es im Vergleich zu PhoneGap viele Vorteile und fast keine Nachteile.

Xamarin vs PhoneGap Vorteile:

  • Ausgereiftes Framework für den Zugriff auf die meisten (wenn nicht alle) nativen Funktionen mobiler Geräte.
  • Lernen Sie nur eine Sprache (C # für die meisten Entwickler) für alle mobilen Plattformen.
  • Haben Sie eine Leistung von nativen Apps unter iOS / Windows Mobile (da die App in den nativen Code kompiliert wurde) und eine sehr nahe unter Android (sie wird immer noch zu einer nativen APK kompiliert, muss jedoch über einen Thin Wrapper verfügen, der die API der .NET-Klassenbibliothek übersetzt zur Laufzeit in die Android-Klassen-API).
  • Wird von Microsoft verwaltet, das die insgesamt großzügige Qualität der Plattform selbst und der Entwicklungstools unterstützt. Zum Beispiel werden Sie Visual Studio verwenden und es ist wahrscheinlich die beste IDE, die es gibt. Jetzt gibt es eine kostenlose Community Edition mit allen verfügbaren Funktionen, die Sie für die Xamarin-Entwicklung benötigen.

Xamarin vs PhoneGap Nachteile:

  • Für reine Webentwickler sind einige Zeitinvestitionen erforderlich, um zur C # - und Xamarin-Klassenbibliotheks-API zu wechseln.

Daher ist Xamarin heutzutage eine sehr solide Option für die plattformübergreifende Entwicklung.

Alexander Abakumov
quelle