Sugestões para a entrada de desenvolvimento para dispositivos móveis — puro SDK do iPhone, Android SDK, Mono Toque ou Titânio?

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

Pergunta

Estou entrando em desenvolvimento para dispositivos móveis.Eu tenho trabalhado principalmente em .NET desde 1.0 saiu em versão beta.Antes disso, foi principalmente um C++ e Delphi e o cara ainda se interessar em C++ do tempo.Eu faço web apps um pouco, então eu estou razoavelmente experiência com Javascript, JQuery e CSS.Eu também tenho feito algumas aplicações Java.Eu comecei a programação web com CGI e vivem, principalmente, no ASP.NET MVC mundo nestes dias.

Eu estou tentando decidir qual plataforma/SO e a ferramenta para selecionar.Eu estou preocupado com o tamanho do mercado disponível para o meu aplicações, bem como marketibility das habilidades que eu vou pegar.

Os aplicativos que eu tenho em mente funciona em ambos os telefones e almofadas.Alguns aspectos do que eu tenho em mente vai jogar melhor no maior telas que estará disponível em almofadas.

Aqui estão as opções que eu estou pensando:

  1. Apple iPhone/iPad usando o pure de Maçã SDK (Objective-C)
  2. Apple iPhone/iPad, usando o Mono, Toque em (C#)
  3. Android puro SDK do Android (Java)
  4. Múltiplas plataformas usando algo como o Titânio para gerar aplicativos nativos de tecnologias web (HTML, CSS e Javascript)
  5. Múltiplas plataformas usando HTML5 aplicações web que rodam no browser (HTML, CSS e Javascript).

Qual opção você escolheria?Você tem um diferente sugestão?Quais são os prós e contras?

Foi útil?

Solução

Eu acho que você cobre quase todas as opções, deixe -me compartilhar minha opinião sobre cada uma.

  1. Vale a pena começar com a maior prioridade como seu burburinho hoje em dia.
  2. De acordo com o contrato de desenvolvedores do iPhone 4, Seção 3.3.1, a Apple permitirá apenas aplicativos desenvolvidos no script C/C ++ e Java. Eu não sugeriria que você faça seus esforços em C#.
  3. Vale a pena e se você tiver um bom controle sobre o núcleo Java, poderá ser produtivo em alguns dias. Nesta fase, o Android pode não ter muita participação de mercado, mas minha opinião pessoal é que o Android é futuro.
  4. Meu ponto 2 Efeito Titanium também, mas de acordo com o seu mais recente tweet, eles têm aprovação da Apple. Não conheço a realidade do solo.
  5. O mesmo que o ponto número 2

É bom, se você começar a se concentrar na estrutura de programação nativa do iPhone e Android nesta fase. Ainda assim, se você tiver tempo, também pode investir no BlackBerry Rim, como tem antecedentes de Java.

Bem -vindo ao Smartphone Dev. :)

Obrigado,

Rajnikant

Outras dicas

Se você estiver segmentando o iPhone/iPad, as alterações no contrato do iPhone SDK que estão sendo levadas ao iPhone OS 4.0 e ao novo estado SDK que você só pode enviar aplicativos para a loja de aplicativos que foram escritos em C/ C ++/Objective-C, ou JavaScript, se for um webApp.

Você precisa levar isso em consideração, porque camadas de compatibilidade, compiladores cruzados, tradutores de origem parecem ser proibidos sob o novo contrato, que inclui coisas como Monotouch, Flash CS5 da Adobe, PhoneGap, etc.

Estruturas cruzadas de plataforma que você deve ver:

PhoneGap QuickConnet

Você pode ser melhor fora de degola para aplicações web se você estiver olhando para torná-los multi-plataforma;o principal smartphone OSs—iPhone OS, Android, WebOS e, com o Blackberry os rumores de que o próximo—todos usam o renderizador Webkit, e você terá um tempo mais fácil de fazer coisas que não me sinto estrangeiro para cada plataforma que se você estiver usando um dos quadros para escrever ostensivamente cruz-plataforma de código.Este é particularmente o caso quando você levar em conta que a Apple recentes alterações do SDK do contrato de licença:ferramentas como o MonoTouch e o PhoneGap pode não ser utilizável para a obtenção de coisas em sua App Store.

Eu só queria cobrir um ponto re. Android contra Desenvolvimento do iPhone. Deixe -me ser franco e dizer que não desenvolvi para o Android, mas tenho para o iPhone. No entanto, possuímos um telefone baseado no Android e um iPhone em nossa casa, para que eu possa falar como usuário para ambos.

No que diz respeito aos aplicativos, acho os aplicativos para iPhone muito mais fáceis e divertidos de usar (para o usuário final). Muitos aplicativos do Android são realmente ruins. Isso não quer dizer que os aplicativos para iPhone não sejam, mas a interface natural do iPhone realmente os sustenta um pouco. A interface do Android não é nada de especial. Como usuário final, prefiro o iPhone e isso deve ser importante para um desenvolvedor que está tentando escolher uma plataforma.

Ultimamente, tem havido muita crise em direção à Apple para a mudança de TOS, e os desenvolvedores dizendo que eles se mudarão para o Android. Eu digo - fique com o iPhone porque o iPad está criando um burburinho e é uma oportunidade única para você. Como alguém que usou o titânio e o Objective-C para criar aplicativos, sugiro que você siga o conjunto de ferramentas nativo. Levará mais tempo para aprender, mas você aprenderá os padrões de design corretos, em oposição ao titânio, que nem ensinam bons padrões de JS a ser honestos (não muito MVC lá).

Há muitas coisas a considerar. Primeiro você deve se fazer duas perguntas:

  1. Quais plataformas e que tipo de usuários você deseja cobrir.
  2. Você precisa se comunicar com o telefone (GPS, SMS etc ...) ou precisa apenas de algumas manipulações e visualizações básicas de dados.

Se você precisar de acesso aos recursos telefônicos, deve desenvolver um aplicativo real que seja executado no telefone. A aposta mais segura aqui é o Java porque funciona em quase todos os telefones. Mas mesmo Java está fora como ferramentas unificadas de plataforma cruzada ultimamente. A Apple colocou restrições no iPhone e iPad e MS também não está claro para mim com o mais recente Windows Phone 7.

Agora, se você só precisar exibir e manipular dados, o HTML poderá ser uma abordagem válida. Ele tem um benefício de ser plataforma cruzada e todos os telefones mais recentes não terão nenhum problema em exibir HTML básico. Javascript ou formas mais complexas ainda são questionáveis. Ainda para mim, é o futuro dos aplicativos orientados a dados, pois o suporte da Web só vai melhorar, incluindo o JavaScipt. Quanto ao html5, digo que esqueça. Levará tempo para se espalhar em desktops e em telefones levará anos para chegar lá com certeza.

Desenvolver aplicativos nativos para uma grande variedade de telefones é um cálculo e exige muito trabalho e provavelmente uma grande equipe. Então, novamente, depende da tarefa que você precisa executar. Além disso, se você estiver fazendo aplicativos de bussines de ponta, poderá segmentar apenas o Blacberry, o Windows Mobile e outra coisa. Não sei como o iPhone e o Android são generalizados no mundo dos Bussines. Eu acho que não muito.

Essas seriam minhas diretrizes. Obviamente, se puder, siga os aplicativos da web.

Independente de o novo desenvolvedor consentimento, cujos efeitos ainda são desconhecidos (por exemplo, as pessoas presumiram que o PhoneGap e Appcellerator foram mortos, o qual está não é o caso);você está ainda melhor em minha mente segmentação objective-C para iPhone plataforma de sistema operacional.

A única coisa é que há um monte de muito poderoso quadros de Cacau.Usando objective-C, que estão também a aprender a pensar como o quadro de designers que significa que você terá um tempo muito mais fácil compreender os padrões utilizados, e também ao longo do tempo aprender a antecipar habilidades e nomes no quadro wince você tem um melhor agarre sobre estilística, padrões em uso.

Você também está imediatamente pronto para alavancar novas habilidades na linguagem e frameworks (como blocos ou multitarefa), em vez de esperar para o quadro gravadora(s) para descobrir como apresentar novo recurso para você.Dada a aceleração da plataforma de recursos, que poderia ser uma vantagem significativa.

Também, em um nível pessoal - você é simplesmente o melhor como um programador a mais idiomas você compreender profundamente, e quanto mais você empurra para fora de sua zona de conforto para aprender algo verdadeiramente novo.Que ajuda a ampliar a sua mente em outras formas e torna-se mais flexíveis e de pensador.

Eu não tenho nada contra aqueles que usam outras linguagens como o Mono na plataforma, eu só acho que faz mais sentido para realmente usar as ferramentas e linguagens que são fundamentais para qualquer que seja a plataforma de destino.Se eu fosse a mover-se em desenvolvimento Android gostaria de mudar para Java em um piscar de olhos, em vez de buscar um Objetivo-C da ponte.

Se decidir seguir a rota Objective-C, pense em ainda fazer um saque no Monotouch, como uma ferramenta de aprendizado, devido a toda a experiência que você tem com C#.

Ser capaz de aprender a estrutura primeiro e depois passar para o idioma simplifica muito o aprendizado. Com o Monotouch, você poderá aprender todas as estruturas do iPhone que você precisará aprender (uikit etc.) no idioma com o qual você já está familiarizado, além de se acostumar com ferramentas como o interface Builder e alguns do Xcode.

A retirada do OBJ-C depois que você já sabe que a estrutura facilita muito as coisas. Estou fazendo isso agora. E, dependendo da linha do tempo, da lua e do humor de Steve Jobs, você pode acabar sendo capaz de acabar nunca tendo que ir para o Obj-C de jeito nenhum .. :)

Em um de seus comentários, você afirma que possui um dróide, adora e prefere a abordagem do Google. Na sua pergunta, você afirma que é um desenvolvedor de Java - é claro, você sempre pode aprender o Objective -C como um dev java como eu, mas, novamente, estou totalmente apaixonado pelo iPhone. Parece que você está totalmente apaixonado pelo Android, então eu diria que aplique sua paixão a isso e faça alguns aplicativos Android Kick-Ass. Eu não acho que você faria um emprego tão bom no iPhone, especialmente sem um ótimo entendimento ou paixão pela plataforma.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top