Vorschläge für die Eingabe von mobiler Entwicklung - pure iPhone SDK, Android SDK, Mono Touch oder Titan?

StackOverflow https://stackoverflow.com/questions/2653122

Frage

Ich bin Eingabe der mobilen Entwicklung. Ich habe in erster Linie in .NET arbeiten seit 1.0 in der Beta herauskam. Davor war ich meist ein C ++ und Delphi Kerl und immer noch dabble in C ++ von Zeit zu Zeit. Ich mache Web apps ziemlich viel, damit ich einigermaßen bewandert bin mit Javascript, JQuery und CSS. Ich habe auch ein paar Java-Anwendungen getan. Ich begann Web-Programmierung mit CGI und leben meist in der ASP.NET MVC Welt in diesen Tagen.

Ich versuche, auf der Plattform / O und Werkzeug, zu entscheiden, zu wählen. Ich bin mit der Größe des Marktes zur Verfügung betroffen für meine Anwendungen sowie die marketibility der Fähigkeiten werde ich abholen.

Die apps, die ich im Sinn haben würde funktionieren sowohl auf Handys und Pads. Einige Aspekte dessen, was ich im Sinn haben, werden auf den größeren Bildschirmen besser spielen, die auf Pads zur Verfügung stehen wird.

Hier sind die Optionen Ich erwäge:

  1. Apple iPhone / iPad mit reinem Apple-SDK (Objective-C)
  2. Apple iPhone / iPad mit Mono Touch (C #)
  3. Android mit reinem Android SDK (Java)
  4. Mehrere Plattformen so etwas wie Titan verwendet zu erzeugen native Anwendungen von Web-Technologien (HTML, CSS und Javascript)
  5. Mehrere Plattformen HTML5 Web-Anwendungen, die im Browser ausgeführt (HTML, CSS und Javascript).

Welche Option würden Sie wählen? Haben Sie einen anderen Vorschlag? Was sind die Vor- und Nachteile?

War es hilfreich?

Lösung

Ich glaube, Sie Abdeckung haben fast alle Optionen, lassen Sie mich auf jede meiner Meinung.

  1. Es lohnt sich mit höchster Priorität als Buzz jetzt Tage zu starten.
  2. Nach iPhone OS 4 Entwickler Vereinbarung Abschnitt 3.3.1, Apple nur Anwendungen in C / C ++ und Java Script entwickelt ermöglichen. Ich würde nicht vorschlagen, Ihre Bemühungen in C # setzen.
  3. Es lohnt sich, und wenn Sie guten Griff über Kern JAVA haben dann können Sie in wenigen Tagen produktiv sein. In dieser Phase Android könnte nicht viel Marktanteil haben, aber meine persönliche Meinung ist, Android ist FUTURE.
  4. Mein Punkt Nummer 2 Effekt Titan als gut, aber nach ihrem neuesten Tweet, haben sie die Genehmigung von Apple. Ich bin nicht mit Boden der Realität bewusst.
  5. Wie bei Punkt Nummer 2

Es ist gut, wenn man in dieser Phase konzentrieren sich auf die native iPhone und Android-Programmierung Rahmen starten. Wenn Sie noch Zeit haben, können Sie auf Blackberry RIM investieren als auch, wie Sie JAVA Hintergrund haben.

Willkommen bei Smartphone-dev. :)

Danke,

Rajnikant

Andere Tipps

Wenn Sie das iPhone / iPad Targeting sind, die Änderungen an der iPhone SDK Vereinbarung, die mit iPhone OS 4.0 und dem neuen SDK Zustand eingeleitet werden, dass Sie nur Apps im App Store einreichen dürfen, die geschrieben wurden, in C / C ++ / Objective-C oder Javascript wenn sie ein Webapp.

Sie müssen dies berücksichtigen, weil die Kompatibilität Schichten, Cross-Compiler, Quelle Übersetzer alle aussehen wie sie gehen unter dem neuen Vertrag verboten werden, die Dinge wie Monotouch, Adobe Flash CS5, Phonegap enthält usw.

Cross-Plattform-Frameworks Sie sollten aussehen:

PhoneGap QuickConnet

Sie können am besten aus, um Web-Anwendungen kleben, wenn Sie schauen, sie zu machen Cross-Plattform; die wichtigsten Smartphone-OS-iPhone OS, Android und WebOS, mit dem Blackberry OS gemunkelt nächsten all Verwendung der Webkit-Renderer zu sein, und Sie werden eine einfachere Zeit, die Dinge, die zu jeder Plattform das Gefühl fremd nicht, als wenn Sie ‚re mit einem des Rahmen für das Schreiben von vorgeblich plattformübergreifenden Code. Dies ist das insbesondere dann der Fall, wenn Sie berücksichtigen, Apples jüngste Änderungen an ihre SDK-Lizenzvereinbarung: Tools wie Monotouch und PhoneGap können nicht mehr verwendbar sein für die Dinge in ihre App Store zu bekommen.

Ich will nur einen Punkt re decken. Android v iPhone Entwicklung. Lassen Sie mich im Voraus und sagen, dass ich nicht für Android entwickelt haben, aber ich habe für das iPhone. Aber wir besitzen ein Android-basiertes Handy und ein iPhone in unserem Haushalt, so dass ich als Benutzer für beide sprechen kann.

Was die apps gehen, finde ich iPhone apps viel einfacher und Spaß zu verwenden (für den Endverbraucher). Viele Android-Apps sind wirklich beschissen. Dies ist nicht zu sagen, dass iPhone-Apps sind nicht, aber die natürlichen iPhone Schnittstelle sie wirklich etwas Requisiten. Android-Schnittstelle ist nichts Besonderes. Als Endanwender, ziehe ich das iPhone und dies sollte zu einem Entwickler darauf an, wer eine Plattform zu wählen versucht.

In letzter Zeit gab es für ihre ToS Änderung viel Kritik in Richtung von Apple gehen und Entwickler sagen, dass sie auf Android bewegen. Ich sage - Stick auf das iPhone, weil die iPad Summe ist die Schaffung und ist eine einmalige Gelegenheit für Sie. Als jemand, der Titan und Objective-C verwendet hat Anwendungen zu erstellen, schlage ich vor, dass Sie mit dem nativen Toolset bleiben. Es wird länger dauern, zu lernen, aber Sie werden die richtigen Designmuster lernen zu Titan gegenüber, die Sie gut JS Muster nicht einmal lehren, ehrlich zu sein (nicht wirklich viel MVC dort).

Es gibt viele Dinge zu beachten. Zuerst muss man sich zwei Fragen stellen:

  1. Welche Plattformen und welche Art von Benutzer Sie abdecken wollen.
  2. Möchten Sie mit dem Telefon kommunizieren müssen (GPS, SMS etc ...) oder Sie müssen nur einige grundlegende Datenmanipulation und Ansichten.

Wenn Sie den Zugriff auf das Telefon benötigen verfügt, dann müssen Sie das läuft auf dem Telefon eine tatsächliche Anwendung entwickeln. Die sicherste Wette ist hier JAVA, weil es auf fast allen Handys läuft. Aber auch JAVA ist, wie Cross-Plattform-Tools vereinigt in letzter Zeit. Apple setzte Beschränkungen auf dem iPhone und iPad und MS ist auch mit dem neuesten Windows Phone 7 zu mir unklar.

Nun, wenn Sie müssen nur die Daten anzuzeigen und zu bearbeiten, HTML könnte ein gültiger Ansatz. Es hat einen Vorteil, dass Cross-Plattform und alle neueren Handys kein Problem Anzeigen der grundlegenden HTML haben. Javascript oder komplexere Formen sind noch fraglich though. Noch für mich ist es die Zukunft für Daten orientierte Anwendungen wie der Web-Support nur besser werden wird, enthalten JavaScipt. Wie für HTML5 sagen, dass ich es vergessen. Es wird einige Zeit dauern weit verbreitet auf Desktops und auf Handys zu sein, es Jahre dauern dorthin sicher.

Um native Anwendungen für große Vielzahl von Handys zu entwickeln, ist ein ganz chalange und nimmt eine Menge Arbeit und wahrscheinlich ein großes Team. Also noch einmal hängt es von der Aufgabe, die Sie zu tun haben. Auch wenn Sie High-End-Bussines apps tun, dann könnten Sie nur Ziel Blacberry, Windows Mobile und etwas anderes. Ich weiß nicht, wie weit verbreitet iPhone und Android in der Bussines Welt. Ich meine, nicht so sehr.

Diese würden meine guidellines sein. Natürlich, wenn Sie können, Stick Web-Anwendungen.

Unabhängig von der neuen Entwickler agrement, deren Auswirkungen noch nicht bekannt sind (zum Beispiel Menschen angenommen, dass PhoneGap und Appcellerator tot war, das ist nicht der Fall ); Sie sind immer noch besser dran, in meinem Kopf auf der iPhone OS Plattform Objective-C-Targeting.

Die Sache ist, dass es eine Menge sehr leistungsfähigen Frameworks in Cocoa ist. Objective-C Durch die Verwendung lernen Sie auch, wie der Framework-Designer zu denken, das heißt, Sie viel leichter haben werden verstehen, die Muster verwendet, und auch im Laufe der Zeit lernen, Fähigkeiten und Namen im Rahmen zu antizipieren zusammenzucken Sie ein klareres Verständnis haben über stilistische Standards in Gebrauch ist.

Sie sind auch sofort bereit, neue Fähigkeiten in der Sprache und Frameworks zu nutzen (wie Blöcke oder Multitasking) anstatt zu warten, für den Rahmen Schreiber (n), um herauszufinden, wie man einige neue Features zu präsentieren. die Beschleunigung der Plattform-Features gegeben, dass ein bedeutender Vorteil sein könnte.

Auch auf persönlicher Ebene - Sie sind einfach besser als Programmierer Je mehr Sprachen du tiefer verstehen, und je mehr Sie drücken außerhalb Ihrer Komfortzone, etwas wirklich Neues zu lernen. Das Verbreiterung hilft Ihren Geist auf andere Weise und macht Sie zu einem flexibleren Denker.

Ich habe nichts gegen diejenigen, die andere Sprachen wie Mono verwenden auf der Plattform, ich denke nur, es am meisten Sinn macht, um wirklich die Werkzeuge und Sprachen zu verwenden, die primären sind, was auch immer Plattform, die Sie zielen. Wenn ich in Android Entwicklung bewegen wäre, würde ich in einem Herzschlag für alle Java-Schalter anstatt eine Objective-C-Brücke zu suchen.

Wenn entscheiden, den Objective-C-Weg zu gehen, denken Sie noch eine Beute in Monotouch, als Lernwerkzeug nehmen, wegen all der Erfahrung, die man mit C # hat.

Die Möglichkeit, den Rahmen zuerst zu lernen, und dann auf die Sprache vereinfacht viel Lernen zu bewegen. Mit Monotouch können Sie alle iPhone-Frameworks lernen, die Sie benötigen, zu lernen (UIKit, usw.) in der Sprache sind Sie bereits vertraut sind, sowie Tools wie Interface Builder gewöhnen und einige von XCode.

Picking up Obj-C, nachdem Sie bereits den Rahmen wissen macht auch die Dinge viel einfacher. Ich bin jetzt dieses Recht zu tun. Und abhängig von der Timeline, der Mond und Stimmung Steve Jobs, können Sie nur überhaupt nicht .. zu Obj-C gehen zu können, am Ende Ende mit:)

In einem Ihrer Kommentare, die Sie fest, dass Sie einen Droid besitzen, lieben es, und es vorziehen, Googles Ansatz. In Ihrer Frage sagen, Sie Ihnen ein Java-Entwickler sind - natürlich können Sie immer Objective-C als Entwickler Java lernen wie ich, aber dann wieder ich bin total verliebt mit dem iPhone. Es klingt wie Sie total verliebt in Android sind, so würde ich Ihre Leidenschaft sagen, dass anzuwenden und einige kick-ass Android Apps machen. Ich glaube nicht, dass du so gut von einem Job auf dem iPhone tun würde, vor allem ohne großes Verständnis und Leidenschaft für die Plattform.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top