Gibt es eine Möglichkeit zu entwickeln, die echte NATIVE mobile cross-Plattform-apps ohne Verpackung Dinge?
Ich versuche einen Weg zu finden, zu entwickeln, echte native mobile apps, cross-Plattform. Die Menge der tools, die ich gefunden ist riesig, sehr riesig.
Alle tools, die ich versucht habe 'sagte', das Endergebnis wird in der Muttersprache, aber in der Tat, es ist nicht wahr. Es wird eine ausführbare Datei mit einem webbrowser in es und einige extra native layer/framwork zu gerätespezifischen Funktionen.
Den Grund, ich will eine echte, native app ist:
- Geschwindigkeit und kompakte
- Vermeiden Sie browser Probleme
- Marktakzeptanz
- Vermeiden, einfach/"script-kiddie" reverse engineering
Den Produkten, die ich versucht habe:
- Appcelerator (funktioniert nicht richtig auf meinem system)
- PhoneGap (nicht ECHTE, native apps)
- Embarcadero radPHP EX2 (mit PhoneGap)
- Embarcadero radStudio EX2 (cannot create mobile/android apps?)
- Adobe Flash Builder (Funktioniert ganz gut, aber verlässt sich auf die Luft, so apps sind riesig und keine
native Geräte wie vibration (offen, aber muss es schreiben
selbst) - Flash Entwickeln (aber der gleiche wie von Adobe Flash Builder)
- ..... und einige andere 😉 wie moSync......
Derzeit habe ich heruntergeladen "RhoStudio", hat aber einige Zweifel, denn in der Einleitung video reden Sie über die Dinge, die ich nicht will.
Ziel-Richtungen sind in Erster Linie Android, iOS und vielleicht in Zukunft Windows Phone.
Hinweis: ich habe keinen Mac also kann ich nicht kompilieren, es auf einem Mac.
Ist, was ich will, unmöglich oder gibt es ein solches Produkt herum, die dies tun können?
BEARBEITEN:
Siehe meine Antwort, die Antwort ist NEIN!
Haben Sie gehört, der Applaus? (applause-framework.com)
Danke für deine Antwort. Versucht es, indem Sie es herunterladen, download eclipse, installieren, neueste JDK, starten Sie eclipse und importieren möchten, die Projekte und die Fehlermeldung: Resource '/itemsisApp' existiert bereits. Ist es Wert, es zu versuchen, es zu reparieren (oder bin ich in der Lage, es zu reparieren)?
Was ist mit Icenium und/oder Xamarin Zeug? Für die letzteren: Sie können große, nicht-UI-chunks in einer C# - Bibliothek, dann spezialisieren sich die UI-code.
Zwei und ein halbes Jahr später, ich hoffe, Sie haben entdeckt XE7 Embarcadero oder Xamarin forms.
InformationsquelleAutor Codebeat | 2012-05-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach 2 Jahren, diese Frage kann ich nur sagen: NEIN, es ist NICHT möglich, es ist ein Mythos.
Alle Produkte, die ich habe versucht, verwenden Sie irgendeine Art von Umbruch oder verwenden Sie eine zweite Sprache als eine Ebene der Aufruf der nativen Kram. Obwohl die Bibliotheken sind nativ, das Hauptprogramm nicht. Die neueste Antwort von Cosku mit smartface.io ist ein gutes Beispiel, Sie behaupten, es ist die Muttersprache, sondern Sie ist es NICHT.
Warum ist es so schwierig? Das problem ist die Programmiersprache (die Unterschiede in der Sprache, das macht es Komplex), die erforderlich ist, für eine Plattform. Es ist zu Komplex, um Sie zu übersetzen, eine zweite Sprache in der Plattform die wichtigste Sprache, und es ist spezielle Bibliotheken, Sie können nur erreichen dies, indem er Dinge mit native binaries. Zweites Hindernis ist der benötigte compiler, der muss in der Lage sein zu laufen, cross-Plattform.
Aber warum verlassen sich auf eine zweite Sprache oder Dritte Entwicklungs-tool zum erstellen von apps, wenn der Ausgang ist meist der gleiche ist schlecht, das problem ist perfekt in diesem Bild dargestellt:
http://xkcd.com/927/
Das Bild ist über standards, aber das ist, was geschehen ist, erstellen Sie eine neue standard für standard. Zum Beispiel, bei der Verwendung von PhoneGap, müssen Sie lernen die Grundlagen der PhoneGap-API. Sie verlassen sich auf eine "neue Norm" aufrufen PhoneGap. Das problem mit diesem ist, dass Sie völlig Vertrauen auf Unterstützung für PhoneGap build und es Existenz. Sie können sich vorstellen, eine zweite Schwäche im Lebenszyklus einer app.
IMO, wenn Sie wollen, wickeln Sie die Dinge, um es cross-Plattform ist es nicht eine kluge Idee zu setzen auf der third-party Produkten und Bibliotheken. Besser ist das schreiben eines wrappers selbst, wie ich es Tat, und überspringen Sie die aufblasen. Einen wirklichen nutzen von diesem allen ist, dass Sie schrieb das wrapper-code selbst, und Sie verstehen die zugrunde liegenden Strukturen. Außerdem ist es einfacher, zu erweitern oder zu ändern, und Sie können überspringen Sie die Dinge, die Sie nicht brauchen.
Heute habe ich die Erstellung und Gestaltung der Benutzeroberfläche einer app in den am längsten bestehenden und stabil 'Sprache' HTML mit einem javascript-Schnittstelle. Die app kann auch in einem browser ausgeführt zu werden und nicht brechen, wenn es eine bestimmte Funktion fehlt, wie vibrieren, zum Beispiel. Sie können nicht die gleichen Ergebnisse erhalten, die mit phonegap, versuchen Sie es! Sie können die app mit responsive Techniken an Leichtigkeit wie eine normale website (versuchen Sie, diese in Android zum Beispiel ;-)). Technisch, es läuft überall, auf jeder Plattform in einem browser oder webview, aber nicht irgendwelche spezielle Mobile javascript-Bibliotheken! Sie brauchen nicht diese speziellen Bibliotheken, wirklich, mit der 'normalen' library-Versionen statt.
Ich schrieb einen compiler/obfuscator für Sie zu 'pack' den UI-Quelle in nur einer Datei, die geladen wird, indem Sie die native shell. Dies ist, um die Quelle zu schützen, so ist es nicht einfach anzeigen oder ändern der Quelle.
Das einzige, was ich zu tun habe, die zur Unterstützung der Plattform für die app schreiben, ist eine native wrapper für. Wenn eine Plattform stirbt aus irgendeinem Grund (zum Beispiel Windows Mobile in der Vergangenheit), ich habe nur das schreiben eines neuen wrapper. Dies ist leichter zu tun als zu schreiben, das ganze Programm wieder von vorne an. Außerdem, wenn es eine neue Plattform, es kann auch in die Plattformen, browser zu.
Wenn die app sich nicht auf spezifische hardware (wie ein Spiel) oder ausgeführt werden können, ohne spezielle hardware-Anforderungen, ist dies der Weg zu gehen, verlängern Sie den Lebenszyklus Ihrer app. HTML5 und javascript verwenden um das GUI zu entwerfen und verwenden Sie eine native shell für die Verwendung bestimmter OS-Funktionen.
Ist es langsam? Ich habe, Nein zu sagen. Zumindest benutze keine sperrig und aufgebläht speziell für mobile javascript-Bibliothek Zeug und nicht das click-Ereignis auf touchscreen-Geräten verwenden, touchstart statt. Auch die HTML-Motoren werden/verbessert werden in diesen Tagen, und es wird bessere Unterstützung für HTML5-Funktionen, die es Ihnen ermöglicht, zu schreiben, leistungsfähige HTML5-webapps, ohne die Notwendigkeit zu implementieren, diese in eine native Sprache.
IMO, ist dies der Weg zu gehen (für mich) und meine Reise auf der Suche nach der beste Weg, entwickeln mobile apps cross-Plattform und verlängern die Lebensdauer-Zyklus. Hoffentlich, es kann Ihnen helfen, zu entscheiden, was am besten zu tun ist.
InformationsquelleAutor Codebeat
Für cross-Plattform-nativen iOS -, Android -, Mac-und Windows-apps, check-out Xamarin. Code in C# kompilieren zu systemeigenem. Für iOS, können Sie nutzen die XCode-tools für app-layout, und Xamarin Studio integriert sich sehr sauber.
Und der Vollständigkeit halber, PhoneGap hat einen würdigen (ja, WebView basiert) Wettbewerber in TRIGGER.IO. Während es der Ansatz ist ähnlich wie PhoneGap/Cordova, verbessert es die API für den Zugriff auf native Funktionen, vereinfacht die push-Benachrichtigungen, und führt viel schneller cloud baut.
Ich bin nicht zugeordnet, entweder diese Produkte in irgendeiner Weise... ich möchte nur Sie beide.
Sie können verwenden Sie es sowohl für Windows als auch Mac. Es kann sein pricy, aber ich glaube, Sie können erstellen und richten Sie Ihr Projekt auf eine Studie ( kann Sie nicht einfach veröffentlichen, um app-stores ) ich habe mit trigger für über ein Jahr ( Wechsel von phonegap auslösen.io ) und habe festgestellt, dass die Produktivität hat gegangen Weg, die Weise, die Sie hinzufügen können, - Komponenten und-Module ist wirklich sehr schön, kein hantieren mit config-Dateien etc. Obendrein können Sie erstellen und bereitstellen, um Ihr IOS-Gerät aus der Schmiede also keine testflight können, hilft viel in der Prüfung bei der Verwendung von windows
InformationsquelleAutor Noah Heldman
Haben Sie versucht,http://www.codenameone.com? Es ist open source, java-basiert ist, müssen nur eclipse oder netbeans zu entwickeln.
InformationsquelleAutor virga
Erstens
Gibt es eine bestimmte Ausgabe Ihrer Verkleidung ? immer java Fehler oder so etwas, oder wurde möglicherweise nicht richtig eingestellt.
Kurze Antwort ist Nein, Sie haben ein gewisses Maß an Abstraktion, um dies zu erreichen, java und objective-c sind völlig verschiedene Sprachen, sowie Android-und IOS-SDK mit verschiedenen Methoden, Verfahren, Stile, design etc. Es gibt keine Möglichkeit zu haben, etwas zu arbeiten, ohne dass es eine mittlere Schicht zu konvertieren oder Rendern.
Appcelerator wird der Schrank Sache, was Ihr der Suche nach als nicht ein webview-wrapper wie der andere, gilt es nicht zu interpretieren, javascript, sondern weil es nicht eingehüllt in ein webview vermeiden Sie die browser-Probleme.
Geschwindigkeit und kompakt kommt mehr nach unten, wie Sie code der app mehr als das, was seine codiert, echte Titan-apps werden größer, weil die Bibliothek, aber das macht es nicht schlechter als solche, die Vorteile des Erhaltens 2 apps weit aus, wiegt die paar Megabyte, die ich denken würde.
Ich bin mir ziemlich sicher, dass alle diese Werkzeuge müssen vom Markt angenommen werden, als wären Sie nicht erfolgreich sein ohne es, wieder für die gerne äpfel seine Anforderungen um die Art und Weise Sie es entwerfen, nicht das Werkzeug in den hintergrund.
Wenn Sie möchten, verwenden Sie IOS benötigen Sie einen mac, wenn Sie eine Veröffentlichung im app-store allein, die Sie benötigen xcode und dem integrierten Projekt verwenden Sie die application-loader, ich bin mir nicht bewusst, irgendwelche Tools (auch die webview-Wrapper), die nicht verlangen, dass Sie das IOS SDK, wie es nicht laufen in der simulator-Paket der app oder führen Sie den code, ohne dass es.
Wenn Sie wollen apps, die Sie haben 2 Möglichkeiten, lernen jede Plattform, oder verwenden Sie eines dieser Werkzeuge, wenn es etwas Magisches tool, hat alles, ich garantiere es wäre die beliebteste Sache auf dem Planeten, und Sie hätte davon gehört /gefunden.
das ist nur die Art, wie apple es tun, könnten Sie versuchen, erstellen Sie eine virtuelle Maschine von mac osx, aber ich habe gehört, gemischte Dinge über die Qualität dieser. Nur genau angeschaut, es scheint noch eine weitere HTML-web-view-wrapper, die ich bin nicht verrückt. In fairness noch nie versucht, Sie noch davon gehört, bevor jetzt, konnte besser sein, als ich denke, es ist
Nochmals vielen Dank. Schnittstelle von AppMobi ist gut lookin', aber der erste Fehler ist es (Holen Sie sich einige pop-UPS, die Sie kopieren möchten etwas zu einem Ort, der nicht existiert). Ich denke, dass die Entwicklung noch nicht abgeschlossen ist und für einige Dienste müssen Sie bezahlen. Nicht, dass ich nicht zahlen wollen für etwas gutes, aber ist auf einer monatlichen basis. Ich denke, ich werde gehen für android nur auf den ersten Platz, und für einige, die ich verwenden von Flash Builder entwickeln (ich kann die Wiederverwendung einige AS3-code aus der Vergangenheit auch).
+1 auch für die Erwähnung des Wortes "design" und impliziert, dass gutes design können reduzieren den Programmieraufwand bei der Portierung der app
InformationsquelleAutor Simon McLoughlin
Dies ist ein Grund, warum "die cloud" ist so beliebt. Statt zu schreiben Ihre app mehrere Male über Sie schreiben, alle Funktionen auf einem server. Die eigentlichen "apps" sind dann einfach die Benutzeroberfläche, um die Funktionen, die wirklich einfach je nach Ihren Bedürfnissen. Wenn es so einfach ist, dann könnten Sie schreiben, die apps separat für jede Plattform, aber Sie alle die gleiche "Wolke" backend.
Wenn ich mich nicht Irre, ist dies repräsentativ für das, was die meisten apps, die von Unternehmen, die eine cloud-Architektur zu tun, und ist auch der Grund, warum viele die eine Datenverbindung benötigen.
Ich glaube nicht, dass es möglich ist, einmal schreiben, überall laufen, ohne irgendeine Art von Hülle oder Schicht, dies ist aufgrund der Tatsache, dass jede Plattform hat eigene APIs und sogar Programmiersprachen. Sie wäre schwer gedrückt, um zu schreiben, ein Satz von source-code, läuft nativ auf Apple-und Android-Geräte, zum Beispiel. Dies ist nicht zu sagen, dass es nicht technisch möglich, die desktop-Betriebssysteme haben diese cross-Compiler-Portabilität seit Jahren mit C/C++ und Java nur, dass viel einfacher. Natürlich, die Ingenieure von Mobil-Betriebssysteme scheinen nicht zu teilen eine vision von interoperablen APIs.
Abzuschließen, würde ich empfehlen, A) schreiben, die app zweimal (schrecklich ich weiß, aber es wird die Zuverlässigkeit des einheitlichen Ausführung auf beide Geräte, und kann mit minimalen Schmerzen) oder B) unten brechen und mit einer der "Skript-kiddie" - frameworks. Diese eigentlich nicht so schlimm sein, wenn Ihre app einfach genug, und es kann nicht sein, dass reverse-engineerable überhaupt. Wenn jemand irgendwelche Vorschläge für die besten "near-native" - cross-Plattform-framework, das wäre sinnvoll.
InformationsquelleAutor Dougvj
Gut, es gibt mehrere Dinge zu beachten, wenn Sie wollen native look and feel es gibt frameworks wie Sencha(www.sencha.com) und die Kendo-UI - (http://www.kendoui.com/) simulieren, dass es auf JavaScript-Seite. Ich fand Sie beide gut Aussehen auf Android und iPhone, aber keine Unterstützung für Windows Phone noch nicht.
Wenn Sie auf der Suche für echte native widgets mit HTML kombiniert können Sie Einblick in MoSync die Nativen UI - (http://www.mosync.com/documentation/manualpages/jsnativeui-library), die Unterstützung von windows phone Metro UI zu, oder Titan - (http://docs.appcelerator.com/titanium/2.1/index.html).
Sowieso eine andere Sache ist, dass Sie verwenden können, Verpackern wie Phonegap oder MoSync oder AppMobi(was ich denke, verwendet etwas ähnliches wie PhoneGap build), um wickeln Sie Ihre app und stellen Sie es auf App-Märkten. aus dieser Liste PhoneGap vor allem ist nicht entworfen, um Sie mit einer bestimmten UI-Funktionalität zwar habe ich einige hinzuzufügen versucht, die tab-Leiste plugins auf Phonegap.
InformationsquelleAutor Ali.S