Sugerencias para entrar en el desarrollo móvil - puros iPhone SDK, SDK de Android, Mono Touch o titanio?

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

Pregunta

Estoy entrando en el desarrollo móvil. He estado trabajando principalmente en .NET 1.0 ya salió en fase beta. Antes de eso, era sobre todo un C ++ y Delphi chico y todavía meten en C ++ de vez en cuando. Hago aplicaciones web un poco, así que estoy razonablemente competente con Javascript, jQuery y CSS. También he hecho algunas aplicaciones Java. Empecé programación web con CGI y viven en su mayoría en el mundo ASP.NET MVC en estos días.

Estoy tratando de decidir sobre qué plataforma / OS y la herramienta para seleccionar. Estoy preocupado con el tamaño del mercado disponible para mis aplicaciones, así como la marketibility de las habilidades voy a recoger.

Las aplicaciones a las que me iba a funcionar en ambos teléfonos y las almohadillas. Algunos aspectos de lo que tengo en mente jugarán mejor en las pantallas más grandes que estarán disponibles en las almohadillas.

Estas son las opciones que estoy considerando:

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

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

¿Fue útil?

Solución

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

  1. Vale la pena comenzar con la más alta prioridad como su zumbido hoy en día.
  2. De acuerdo con el iPhone OS 4 sección de acuerdo a los desarrolladores 3.3.1, Apple sólo permiten que aplicaciones desarrolladas en C / C ++ y Java Script. No le sugeriría a poner sus esfuerzos en C #.
  3. Vale la pena y si usted tiene un buen agarre sobre JAVA núcleo a continuación, puede ser productivo en pocos días. En esta etapa Android podría no tiene mucha participación en el mercado, pero Mi opinión personal es Android es el futuro.
  4. Mi número de punto 2 Efecto de titanio también, pero de acuerdo a su último tweet, que cuenta con la aprobación de Apple. No estoy al tanto con la realidad del suelo.
  5. Igual que el número de punto 2

Es bueno, si usted comienza a concentrarse en marco de programación nativa iPhone y Android en esta etapa. Aún si tiene tiempo se puede invertir en el Blackberry de RIM, así, ya que tiene fondo JAVA.

Bienvenido a dev teléfono inteligente. :)

Gracias,

Rajnikant

Otros consejos

Si usted está apuntando el iPhone / iPad, los cambios en el acuerdo iPhone SDK que están siendo recibido con iPhone OS 4.0 y el nuevo estado SDK que sólo se le permite presentar aplicaciones de la App Store que se han escrito en C / C ++ / Objective-C, o Javascript si es una aplicación web.

Es necesario tener esto en cuenta, ya que las capas de compatibilidad, compiladores cruzados, traductores de origen toda la mirada como si fueran a ser prohibido en virtud del nuevo acuerdo, que incluye cosas como MonoTouch, de Adobe Flash CS5, Phonegap, etc.

marcos de la plataforma de la Cruz se deben tener en cuenta:

PhoneGap QuickConnet

puede ser el mejor de pegarse a las aplicaciones web si usted está buscando para que sean multi-plataforma; el principal teléfono inteligente OS-iPhone OS, Android y WebOS, el sistema operativo Blackberry rumorea que la próxima todo el uso del procesador de Webkit, y que tendrá un tiempo más fácil hacer las cosas que no se sienten ajenos a cada plataforma que si 're usando uno de los marcos para escribir ostensiblemente código de plataforma cruzada. Este es el particularmente el caso cuando se toma en cuenta los cambios recientes de Apple a su contrato de licencia SDK: herramientas como MonoTouch y PhoneGap ya no pueden ser utilizable para hacer las cosas en su tienda de aplicaciones.

Sólo quería cubrir un punto de re. v Android el desarrollo del iPhone. Permítanme ser franco y decir que no he desarrollado para Android, pero tengo para el iPhone. Sin embargo, no es dueño de un teléfono basado en Android y un iPhone en nuestra casa, así que puedo hablar como un usuario para ambos.

En cuanto a las aplicaciones van, encuentro de aplicaciones de iPhone manera más fácil y divertido de usar (para el usuario final). Una gran cantidad de aplicaciones de Android son realmente horrible. Esto no quiere decir que las aplicaciones del iPhone no son, pero la interfaz natural iPhone realmente les apoya para arriba un poco. La interfaz de Android es nada especial. Como usuario final, prefiero el iPhone y esto debe importar a un desarrollador que está tratando de elegir una plataforma.

Últimamente, ha habido muchas críticas en dirección a Apple por su cambio ToS, y los desarrolladores diciendo que se trasladará a Android. Yo digo - palo para el iPhone debido a que el iPad es la creación de zumbido y es una oportunidad única para usted. Como alguien que ha utilizado titanio y Objective-C para crear aplicaciones, sugiero que se quede con el conjunto de herramientas nativo. Se necesita más tiempo para aprender, pero usted aprenderá los patrones de diseño correctas en lugar de titanio, que ni siquiera le enseñe buenos patrones de JS para ser honesto (MVC No hay mucho allí).

Hay un montón de cosas a considerar. Primero usted tiene que hacerse dos preguntas:

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

Si necesita acceder a las características del teléfono a continuación, usted tiene que desarrollar una aplicación real que se ejecuta en el teléfono. La apuesta más segura aquí es JAVA porque se ejecuta en casi todos los teléfonos. Pero incluso JAVA es como herramientas unificadas de plataforma cruzada en los últimos tiempos. Manzana poner restricciones en el iPhone y el iPad y MS también está claro para mí con el último Windows Phone 7.

Ahora bien, si sólo es necesario para mostrar y manipular datos, HTML podría ser un enfoque válido. Tiene una ventaja de ser multiplataforma y todos los nuevos teléfonos no tendrá problemas en la visualización de HTML básico. Javascript o formas más complejas siguen siendo aunque cuestionable. Aún así para mí es el futuro para los datos de aplicaciones orientadas como el soporte web sólo se va a mejorar, javascipt incluidos. En cuanto a HTML5 digo olvidarse de él. Se necesitará tiempo para estar muy extendida en los escritorios y en los teléfonos que se necesitarán años para llegar allí con seguridad.

Para desarrollar aplicaciones nativas para la gran variedad de teléfonos es bastante chalange y toma mucho trabajo y, probablemente, un equipo grande. Así que de nuevo depende de la tarea que tiene que hacer. Además, si usted está haciendo grandes aplicaciones de los bussines finales, a continuación, sólo se podía apuntar Blacberry, Windows Mobile y algo más. No sé cuán extendido iPhone y Android están en el mundo de los bussines. No imagino tanto.

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

independiente de la nueva agrement desarrollador, los efectos de que son aún desconocidos (por ejemplo, personas supone que PhoneGap y Appcellerator estaban muertos, que es no es el caso ); usted sigue siendo mejor en mi mente la orientación de Objective-C en la plataforma iPhone OS.

Lo que pasa es que hay una gran cantidad de marcos muy potentes en Cocoa. Mediante el uso de Objective-C, también está aprendiendo a pensar como los diseñadores marco que significa que tendrá un tiempo mucho más fácil la comprensión de los patrones utilizados, y también con el tiempo aprenden a anticipar las capacidades y los nombres en el marco mueca de dolor que tiene una comprensión más clara normas sobre estilísticos en uso.

También son inmediatamente listo para aprovechar las nuevas capacidades dentro de la lengua y marcos (como unos cubos o multitarea) en lugar de esperar a que el escritor marco (s) de encontrar la manera de presentar una nueva función para usted. Teniendo en cuenta la aceleración de características de la plataforma, que podría ser una ventaja significativa.

Además, a nivel personal - que son simplemente mejor como un programador de los más idiomas que comprender en profundidad, y cuanto más se empuja fuera de su zona de confort para aprender algo verdaderamente nuevo. Eso ayuda a ampliar su mente de otras maneras y que hace un pensador más flexible.

No tengo nada contra los que utilizan otros idiomas como el mono en la plataforma, simplemente creo que tiene más sentido que realmente utilizar las herramientas y lenguajes que son primarios a cualquier plataforma en la que está apuntando. Si tuviera que moverse en el desarrollo de Android que cambiarían a todos Java en un latido del corazón en lugar de buscar un puente de Objective-C.

Si decide ir a la ruta de Objective-C, pensar en dejar de tomar un botín en MonoTouch, como herramienta de aprendizaje, debido a toda la experiencia que se tiene con C #.

Ser capaz de aprender el primer marco, y luego pasar a las simplifica el aprendizaje de idiomas mucho. Con MonoTouch podrás aprender todos los marcos de iPhone que necesita para aprender (UIKit, etc) en el idioma que ya está familiarizado con, así como acostumbrarse a herramientas como el Interface Builder y algunos de XCode.

Recogiendo Obj-C después de que ya conoce el marco bien hace las cosas mucho más fácil. Que estoy haciendo ahora mismo. Y dependiendo de la línea de tiempo, la luna, y el humor de Steve Jobs, que sólo podría llegar a ser capaces de llegar a no tener que ir a Obj-C en todos los ..:)

En uno de sus comentarios que el estado que posee un Droid, el amor, y prefiere el enfoque de Google. En su pregunta usted indica que eres un desarrollador de Java - por supuesto, siempre se puede aprender Objective-C como un desarrollador de Java como lo hice, pero por otra parte estoy totalmente en el amor con el iPhone. Parece que está totalmente enamorado de Android, así que diría que aplica su pasión a eso y hacer un poco de kick-culo Android aplicaciones. No creo que lo haría tan bien de un trabajo en el iPhone, sobre todo, sin una gran comprensión o la pasión por la plataforma.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top