Sugerencias para entrar en el desarrollo móvil – iPhone SDK puro, Android SDK, Mono Touch o Titanium?

Estoy entrando en el desarrollo móvil. He estado trabajando principalmente en .NET desde que salió 1.0 en beta. Antes de eso, yo era en su mayoría un C + + y Delphi chico y todavía dabble en C + + de vez en cuando. Hago aplicaciones web bastante un poco, así que soy razonablemente competente con Javascript, JQuery y CSS. También he hecho algunas aplicaciones Java. Comencé la programación de la tela con CGI y vivo sobre todo en el mundo de ASP.NET MVC actualmente.

Estoy tratando de decidir en qué plataforma / sistema operativo y la herramienta para seleccionar. Estoy preocupado por el tamaño del mercado disponible para mis aplicaciones, así como la comercialización de las habilidades que voy a recoger.

Las aplicaciones que tengo en mente funcionaría tanto en los teléfonos como en las pastillas. Algunos aspectos de lo que tengo en mente jugarán mejor en las pantallas más grandes que estarán disponibles en las pastillas.

Estas son las opciones que estoy considerando:

  1. Apple iPhone / iPad con Apple SDK puro (Objetivo-C)
  2. Apple iPhone / iPad con Mono Touch (C #)
  3. Android con Android SDK puro (Java)
  4. Múltiples plataformas que utilizan algo como Titanium para generar aplicaciones nativas de las tecnologías web (HTML, CSS y Javascript)
  5. Múltiples plataformas que utilizan aplicaciones web HTML5 que se ejecutan en el navegador (HTML, CSS y Javascript).

¿Qué opción elegirías? ¿Tiene alguna sugerencia diferente? ¿Cuáles son los pros y los contras?

Creo que tienes cobertura casi todas las opciones, permítanme compartir mi opinión sobre cada uno.

  1. Vale la pena comenzar con la máxima prioridad ya que su Buzz ahora hace unos días.
  2. Según iPhone OS 4 acuerdo de los desarrolladores sección 3.3.1, Apple sólo permitirá aplicaciones desarrolladas en C / C ++ y script JAVA. No te sugiero que pongas tus esfuerzos en C #.
  3. Su valor y si usted tiene buen agarre sobre el núcleo JAVA entonces, usted puede ser productivo en pocos días. En esta etapa Android podría no tener mucha cuota de mercado, pero mi opinión personal es ANDROID ES FUTURO.
  4. Mi punto de efecto número 2 de titanio, así, pero de acuerdo con su último tweet, tienen la aprobación de Apple. No soy consciente con la realidad del suelo.
  5. Igual que el punto número 2

Es bueno, si usted comienza a concentrarse en el iPhone nativo y el marco de programación de Android en esta etapa. Sin embargo, si usted tiene tiempo que puede invertir en Blackberry RIM, así, ya que tiene antecedentes JAVA.

Bienvenido a smartphone dev. 🙂

Gracias,

Rajnikant

Si está orientado a iPhone / iPad, los cambios en el acuerdo de SDK de iPhone que se están introduciendo con el iPhone OS 4.0 y el nuevo SDK indican que solo se permite enviar aplicaciones a la App Store que se hayan escrito en C / C ++ / Objective-C, o Javascript si es una aplicación web.

Tienes que tener esto en cuenta, ya que las capas de compatibilidad, los compiladores cruzados, los traductores fuente parecen que van a estar prohibidos bajo el nuevo acuerdo, que incluye cosas como MonoTouch, Adobe Flash CS5, Phonegap, etc.

Los marcos de plataformas cruzadas que debe observar:

PhoneGap QuickConnet

Usted puede ser el mejor fuera de pegarse a las aplicaciones web si usted está buscando para que sean multi-plataforma, Los principales sistemas operativos de teléfonos inteligentes OS, iPhone y Android, con el sistema operativo Blackberry, según se rumorea, usan el renderizador de Webkit y tendrás un tiempo más fácil para hacer cosas que no se sientan ajenas a cada plataforma, Están utilizando uno de los marcos para escribir código ostensiblemente multiplataforma. Este es el caso en particular cuando se tienen en cuenta los cambios recientes de Apple en su contrato de licencia de SDK: herramientas como MonoTouch y PhoneGap ya no pueden utilizarse para introducir cosas en su App Store.

Sólo quería cubrir un punto. Desarrollo de Android v iPhone. Déjame ser sincero y decir que no he desarrollado para Android, pero tengo para el iPhone. Sin embargo, tenemos un teléfono basado en Android y un iPhone en nuestro hogar, así que puedo hablar como usuario para ambos.

En lo que respecta a las aplicaciones, encuentro que las aplicaciones del iPhone son más fáciles y divertidas de usar (para el usuario final). Muchas aplicaciones de Android son realmente malas. Esto no quiere decir que las aplicaciones de iPhone no lo son, pero la interfaz natural del iPhone realmente los apoya un poco. La interfaz de Android no tiene nada de especial. Como usuario final, prefiero el iPhone y esto debe importar a un desarrollador que está tratando de elegir una plataforma.

Últimamente, ha habido un montón de flak ir hacia Apple para su cambio de ToS, y los desarrolladores diciendo que se moverán a Android. Yo digo – se adhieren al iPhone porque el iPad está creando zumbido y es una oportunidad única para usted. Como alguien que ha utilizado Titanium y Objective-C para crear aplicaciones, le sugiero que se pegue con el conjunto de herramientas nativo. Tomará más tiempo para aprender, pero usted aprenderá los patrones de diseño correctos en comparación con el Titanio, que ni siquiera le enseñará buenos patrones de JS para ser honesto (no mucho MVC allí).

Hay un montón de cosas a considerar. Primero tienes que hacerte dos preguntas:

  1. Qué plataformas y qué tipo de usuarios desea cubrir.
  2. ¿Necesita comunicarse con el teléfono (GPS, SMS, etc …) o necesita sólo algunos datos básicos de manipulación y vistas.

Si necesita acceso a las funciones del teléfono, entonces tiene que desarrollar una aplicación real que se ejecuta en el teléfono. La apuesta más segura es JAVA porque se ejecuta en casi todos los teléfonos. Pero incluso JAVA está fuera como herramientas cruzadas unificadas de la plataforma de tarde. Apple puso restricciones en el iPhone y el iPad y la MS también no está claro para mí con el último teléfono de Windows 7.

Ahora si sólo necesita mostrar y manipular datos, HTML podría ser un enfoque válido. Tiene una ventaja de ser plataforma cruzada y todos los teléfonos más nuevos no tendrán ningún problema que muestra el HTML básico. Javascript o formas más complejas todavía son cuestionables sin embargo. Todavía para mí es el futuro para aplicaciones orientadas a datos como el soporte web sólo va a mejorar, javascipt incluido. En cuanto a HTML5, digo que lo olvides. Tomará tiempo para ser ampliamente extendido en los escritorios y en los teléfonos que tomará años para llegar allí con seguridad.

Para desarrollar aplicaciones nativas para una gran variedad de teléfonos es un chalange bastante y tiene un montón de trabajo y, probablemente, un gran equipo. Así que otra vez depende de la tarea que tiene que hacer. Además, si usted está haciendo aplicaciones de gama alta de negocios, entonces sólo podría apuntar a Blacberry, Windows Mobile y otra cosa. No sé cómo el iPhone extenso y el androide están en el mundo de los bussines. Me parece que no tanto.

Estos serían mis guías. Obviamente, si puede, se adhieren a las aplicaciones web.

Independiente del nuevo promotor, cuyos efectos aún no se conocen (por ejemplo, las personas supusieron que PhoneGap y Appcellerator habían muerto, lo que no es el caso ); Usted está todavía mejor apagado en mi mente que apunta Objective-C en la plataforma del OS del iPhone.

La cosa es que hay un montón de marcos muy potentes en el cacao. Mediante el uso de Objective-C, también está aprendiendo a pensar como los diseñadores de marcos, lo que significa que tendrá un tiempo mucho más fácil de entender los patrones utilizados, y también con el tiempo aprender a anticipar las habilidades y los nombres dentro del marco wince usted tiene una comprensión más clara Sobre las normas estilísticas en uso.

También está listo para aprovechar instantáneamente nuevas habilidades dentro del lenguaje y los marcos (como bloques o multitarea) en lugar de esperar a que los escritores de la estructura averiguen cómo presentar alguna nueva característica para usted. Dada la aceleración de las características de la plataforma, que podría ser una ventaja significativa.

También, en un nivel personal – usted es simplemente mejor apagado como programador más idiomas que usted entiende profundamente, y más usted empuja fuera de su zona de la comodidad para aprender algo verdaderamente nuevo. Ese ensanchamiento ayuda a su mente de otras maneras y le hace un pensador más flexible.

No tengo nada en contra de aquellos que usan otros lenguajes como Mono en la plataforma, sólo creo que tiene más sentido usar realmente las herramientas y los lenguajes que son primordiales para cualquier plataforma que esté apuntando. Si tuviera que pasar al desarrollo de Android que cambiaría a todos los Java en un latido del corazón en lugar de buscar un puente Objective-C.

Si decide ir a la ruta Objetivo-C, piense en seguir tomando un botín en MonoTouch, como una herramienta de aprendizaje, debido a toda la experiencia que tiene con C #.

Ser capaz de aprender el marco en primer lugar, y luego pasar a la lengua simplifica el aprendizaje mucho. Con monotouch podrás aprender todos los frameworks de iPhone que necesitas aprender (UIKit, etc) en el idioma que ya estás familiarizado, además de acostumbrarte a herramientas como Interface Builder y algunas de XCode.

Recogiendo Obj-C después de que ya conoce bien el marco, hace las cosas mucho más fáciles. Estoy haciendo eso ahora mismo. Y dependiendo de la línea de tiempo, la luna, y el estado de ánimo de Steve Jobs, que podría terminar siendo capaz de terminar nunca tener que ir a Obj-C en absoluto .. 🙂

En uno de tus comentarios declaras que eres dueño de un Droid, lo amas y prefieres el enfoque de Google. En su pregunta usted dice que es un desarrollador de Java – por supuesto, siempre podría aprender Objective-C como un desarrollador de Java como lo hice, pero de nuevo estoy totalmente enamorado del iPhone. Suena como si estuvieras totalmente enamorado de Android, así que diría que apliques tu pasión a eso y que hagas algunas aplicaciones Android de kick-ass. No creo que harías lo mejor de un trabajo en el iPhone, sobre todo sin una gran comprensión o pasión por la plataforma.

  • Error de la aplicación multiplataforma de Xamarin Studio
  • Desarrollar una aplicación C # para Windows Mobile, Android y iPhone
  • SQLite.SQLiteException lanzado en Xamarin.Android al intentar crear una tabla
  • Xamarin Android, control personalizado y diseñador de Visual Studio
  • Desarrollando para iPhone / Android y WPF
  • Consulta del cliente de Azure Mobile Service que no devuelve el control a Xamarin Form android client app
  • Mono para iOS / Android ¿Abierto o cerrado? ¿Pago o gratis?
  • Xamarin: comparación con el SDK nativo y los marcos basados ​​en JS
  • Pasando variables de ViewModel a otro View (MVVMCross)
  • Interceptar mensaje SMS entrante y modificarlo
  • ¿Incompatibilidades de la capa de servicio MonoTouch / MonoDroid?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.