Suggestions pour entrer dans le développement mobile - pur iPhone SDK, Android SDK, Mono ou titane? Touch

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

Question

Je suis entrée développement mobile. Je travaille principalement dans .NET depuis la version 1.0 est sorti en version bêta. Avant cela, je suis la plupart du temps un C ++ et Delphi type et encore barboter dans C ++ de temps en temps. Je fais applications web un peu, donc je suis raisonnablement compétent avec Javascript, JQuery et CSS. Je l'ai aussi fait quelques applications Java. J'ai commencé la programmation web avec CGI et vivent pour la plupart dans le monde ASP.NET MVC ces jours-ci.

Je suis en train de décider sur quelle plate-forme / OS et un outil pour sélectionner. Je suis préoccupé par la taille du marché disponible pour mes applications, ainsi que la marketibility des compétences que je vais chercher.

Les applications auxquelles je pense travaillerait sur les téléphones et les coussinets. Certains aspects de ce que j'ai à l'esprit vont jouer mieux sur les écrans plus grands qui seront disponibles sur des plages.

Voici les options que je envisage:

  1. Apple iPhone / iPad à l'aide pur SDK d'Apple (Objective-C)
  2. Apple iPhone / iPad en utilisant Mono Touch (C #)
  3. Android en utilisant pur SDK Android (Java)
  4. plates-formes multiples en utilisant quelque chose comme le titane pour générer des applications natives de technologies web (HTML, CSS et Javascript)
  5. plates-formes multiples en utilisant des applications web HTML5 qui fonctionnent dans le navigateur (HTML, CSS et Javascript).

Quelle option choisir? Avez-vous une autre suggestion? Quels sont les avantages et les inconvénients?

Était-ce utile?

La solution

Je pense que vous avez une couverture presque toutes les options, laissez-moi partager mon opinion sur chacun.

  1. Il vaut la peine de commencer par la plus haute priorité comme Buzz maintenant un jour.
  2. Selon iPhone OS section accord 4 développeurs 3.3.1, Apple n'autoriserai des applications développées en C / C ++ et Java script. Je ne vous suggère de mettre vos efforts en C #.
  3. Il vaut la peine et si vous avez une bonne adhérence sur JAVA base puis, vous pouvez être productif dans quelques jours. A ce stade, Android pourrait ne pas avoir part de marché beaucoup, mais mon opinion personnelle est Android est FUTURE.
  4. Mon point numéro 2 effet de titane ainsi, mais en fonction de leur dernier tweet, ils ont l'approbation d'Apple. Je ne suis pas au courant avec la réalité du terrain.
  5. Comme le point numéro 2

Il est bon, si vous commencez à se concentrer sur le cadre de programmation native iPhone et Android à ce stade. Cependant, si vous avez le temps, vous pouvez investir sur RIM Blackberry ainsi, comme vous avez le langage Java.

Bienvenue sur dev smartphone. :)

Merci,

Rajnikant

Autres conseils

Si vous ciblez l'iPhone / iPad, les modifications apportées à l'accord SDK iPhone qui sont inaugurèrent avec iPhone OS 4.0 et le nouvel état du SDK que vous êtes autorisé à soumettre des applications à l'App Store qui ont été écrit en C / C ++ / Objective-C, ou si Javascript est un webapp.

Vous devez prendre cela en considération, parce que les couches de compatibilité, des compilateurs croisés, traducteurs chargeons tous regardent comme ils vont être interdits en vertu du nouvel accord, qui inclut des choses comme MonoTouch, Flash CS5 d'Adobe, Phonegap, etc.

cadres multiplateformes vous devriez regarder:

PhoneGap QuickConnet

Vous pouvez être mieux loti coller à des applications Web si vous cherchez à les rendre multi-plateforme; le smartphone majeur oss-iPhone OS, Android et WebOS, avec le Blackberry OS selon la rumeur d'être la prochaine toute utilisation du moteur de rendu Webkit, et vous aurez plus de facilité à faire des choses qui ne se sentent pas étrangers à chaque plate-forme que si vous « re en utilisant l'un des cadres pour l'écriture du code apparemment multi-plateforme. C'est particulièrement le cas lorsque vous prenez en compte les changements récents d'Apple à leur accord de licence SDK: des outils tels que MonoTouch et PhoneGap ne pourront plus être utilisées pour faire avancer les choses dans leur App Store.

Je voulais juste pour couvrir un point re. Android v développement iPhone. Permettez-moi d'être franc et dire que je ne l'ai pas développé pour Android mais je dois pour l'iPhone. Cependant, nous possédons un téléphone basé sur Android et un iPhone dans notre maison, donc je peux parler en tant qu'utilisateur pour les deux.

En ce qui concerne les applications vont, je trouver des applications iPhone plus facile et amusant à utiliser (pour l'utilisateur final). Beaucoup d'applications Android sont vraiment merdique. Cela ne veut pas dire que les applications iPhone ne sont pas, mais l'interface iPhone naturelle les props vraiment un peu. L'interface Android est rien de spécial du tout. En tant qu'utilisateur final, je préfère l'iPhone et cela devrait la matière à un développeur qui essaie de choisir une plate-forme.

Dernièrement, il y a eu beaucoup de pare-balles en allant vers Apple pour leur changement ToS, et les développeurs disant qu'ils vont passer à Android. Je dis - bâton pour l'iPhone, car l'iPad crée le buzz et est une occasion unique pour vous. Comme quelqu'un qui a utilisé de titane et Objective-C pour créer des applications, je suggère que vous restez avec le jeu d'outils natif. Il faudra plus de temps pour apprendre, mais vous apprendrez les modèles de conception correcte, par opposition au titane qui ne même pas vous enseigner de bonnes habitudes de JS pour être honnête (Pas vraiment beaucoup MVC là).

Il y a beaucoup de choses à considérer. D'abord, vous devez vous poser deux questions:

  1. Quelles sont les plateformes et quel type d'utilisateurs que vous voulez couvrir.
  2. Avez-vous besoin de communiquer avec le téléphone (GPS, SMS, etc ...) ou vous avez besoin que des manipulations de données de base et des vues.

Si vous avez besoin d'accéder à des fonctions du téléphone, vous devez développer une application réelle qui fonctionne sur le téléphone. Le pari le plus sûr est ici JAVA parce qu'il fonctionne sur presque tous les téléphones. Mais même JAVA est comme outils multiplateformes unifiée de la fin. Apple a imposé des restrictions sur l'iPhone et l'iPad et MS est également difficile de me voir avec le dernier Windows Phone 7.

Maintenant, si vous avez seulement besoin d'afficher et de manipuler des données, HTML pourrait être une approche valable. Il a un avantage d'être multi-plateforme et tous les téléphones les plus récents n'aura aucun problème d'affichage HTML de base. Javascript ou des formes plus complexes sont encore discutables bien. Toujours pour moi, il est l'avenir des données axées sur les applications comme le support Web ne va mieux, javascipt inclus. Quant à HTML5 je dis oublier. Il faudra du temps pour être large diffusion sur les ordinateurs de bureau et sur les téléphones, il faudra des années pour y arriver à coup sûr.

Pour développer des applications natives pour une grande variété de téléphones est tout à fait chalange et prend beaucoup de travail et probablement une grande équipe. Encore une fois cela dépend de la tâche que vous avez à faire. Aussi, si vous faites des applications haut de gamme de bussines, alors vous ne pouvez cibler Blacberry, Windows Mobile et autre chose. Je ne sais pas comment iPhone et Android sont largement dans le monde bussines. Je figure pas tant.

Ce serait mon guidellines. Il est évident que si vous le pouvez, coller à des applications Web.

Indépendant du nouveau développeur agrement, dont les effets sont encore inconnus (par exemple les personnes suppose que PhoneGap et Appcellerator étaient morts qui est pas le cas ); vous êtes mieux encore au large dans mon esprit ciblant Objective-C sur la plate-forme iPhone OS.

La chose est qu'il ya beaucoup de cadres très puissants dans le cacao. En utilisant Objective-C, vous apprenez aussi à penser comme les concepteurs de cadres qui signifie que vous aurez un temps beaucoup plus facile de comprendre les modèles utilisés, et aussi au fil du temps à apprendre à anticiper les capacités et les noms dans le cadre WinCE vous avez une connaissance plus claire normes stylistiques plus utilisées.

Vous êtes également instantanément prêt à tirer parti des nouvelles capacités dans la langue et des cadres (comme des blocs ou multi-tâches) plutôt que d'attendre l'écrivain-cadre (s) pour savoir comment présenter une nouvelle fonctionnalité pour vous. Compte tenu de l'accélération des fonctions de la plate-forme, qui pourrait être un avantage significatif.

En outre, sur un plan personnel - vous êtes tout simplement mieux en tant que programmeur plus langues que vous comprenez profondément, et plus vous pousser en dehors de votre zone de confort pour apprendre quelque chose de vraiment nouveau. Ce élargissement permet à votre esprit d'autres façons et vous fait un penseur plus souple.

Je n'ai rien contre ceux qui utilisent d'autres langues comme Mono sur la plate-forme, je pense que c'est le plus logique d'utiliser réellement les outils et les langues qui sont primaires à quelque plateforme que vous ciblez. Si je devais aller dans le développement Android Je passe à tous Java dans un battement de coeur plutôt que de chercher un pont Objective-C.

Si décider d'emprunter la voie Objective-C, pensez à prendre encore un butin à MonoTouch, comme outil d'apprentissage, à cause de toute l'expérience que vous avez avec C #.

Être capable d'apprendre le cadre d'abord, puis passer à la langue d'apprentissage simplifie beaucoup. Avec MonoTouch vous serez en mesure d'apprendre tous les cadres iPhone, vous aurez besoin d'apprendre (UIKit, etc.) dans la langue que vous connaissez déjà, ainsi que de se servir à des outils tels que Interface Builder et certains d'entre XCode.

Reprenant Obj-C après que vous connaissez déjà le cadre bien fait les choses beaucoup plus facile. Je fais ça en ce moment. Et selon le calendrier, la lune, et l'humeur de Steve Jobs, vous pourriez finir par être en mesure de finir ne jamais avoir à aller à Obj-C du tout ..:)

Dans l'un de vos commentaires, vous déclarez que vous possédez un Droid, il aime, et préfèrent l'approche de Google. Dans votre question, vous dites que vous êtes un développeur Java - bien sûr, vous pouvez toujours apprendre Objective-C en tant que dev Java comme je l'ai fait, mais là encore je suis totalement amoureux de l'iPhone. On dirait que vous êtes tout à fait dans l'amour avec Android, donc je dirais appliquer votre passion à cela et faire un peu kick-ass Android apps. Je ne pense pas que vous feriez aussi bien d'un travail sur l'iPhone, surtout sans une grande compréhension ou une passion pour la plate-forme.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top