2010-03-14 23 views
5

Me gustaría volver a escribir dos de nuestros programas para dispositivos móviles, pero estoy un poco perdido en cuanto a qué plataforma apuntar.¿Qué sistema operativo móvil debo codificar?

Para complicar esta decisión:

  • que tendría que aprender las lenguas y entornos de desarrollo relevantes - mi codificación hasta la fecha ha sido casi todo basado en la web (PHP, JS, ActionScript, etc Algunos ASPX).
  • La mayoría de los usuarios parecen ser religiosos acerca de su decisión móvil, por lo que las conversaciones orales me dejan más confundido que iluminado.
  • Todavía no tengo un teléfono inteligente, tendré que comprar uno una vez que sepa a qué plataforma apuntar.
  • Mis dos programas son más para usuarios comerciales, (uno solo es útil para C.P.A.s).
  • Soy un desarrollador único y no puedo desarrollarlo para más de una plataforma a la vez. Hacer las cosas bien es importante.

Sobre la base de RIM lo que he encontrado en la web, me he espera que sea uno de los favoritos, y el orden general para ser de la siguiente manera:

  1. RIM Blackberry - Más de ellos que cualquier otra marca. A pesar de los opositores, han tenido double the sales (or perhaps 5X the sales) de cualquier otro teléfono inteligente, y han seguido creciendo. Y, tienen usuarios comerciales.
  2. Android - De acuerdo con Schmidt, han vendido más que todos los demás, excepto RIM (aunque no puedo encontrar dónde lo he leído ahora), y recién están comenzando. Según Comscore, ya están en el 8% del mercado y se espera que golpeen los reclamos de Shcmidt dentro de seis meses.
  3. Nokia - La más grande del mundo. Si simplemente se reconciliaran entre Maemo o Symbian, estaría mucho menos confundido.
  4. iPhone: mucha más competencia por parte de otras aplicaciones, menos ventas y un administrador que puede retrasar o cancelar mi aplicación en cualquier momento. ¿El cacao es difícil de aprender?
  5. Windows Mobile - Word es que la versión 7 será not be retrocompatible y perderá cuota de mercado.
  6. Palm WebOS: Quizás esto debería ser primero, ya que es el único que ofrece herramientas para facilitar mi vida como desarrollador de aplicaciones web. Sin competencia en el mercado. Pero no muchos usuarios tampoco.

Sin embargo, una búsqueda en StackOverflow muestra una cantidad enormemente desproporcionada de preguntas sobre iPhone en comparación con Blackberry. Del mismo modo, claramente hay más aplicaciones en el iPhone, por lo que debe estar recibiendo el amor de los desarrolladores.

¿Para qué plataforma debo desarrollar? Haga una copia de seguridad de su respuesta con la lógica.

+1

El amor de los desarrolladores extremos junto con una base de usuarios más pequeña significa que los desarrolladores luchan por un menor número de usuarios. Esa es una razón para * evitar * el iPhone en mi libro. :) – Quentin

+3

Supongo que es una pregunta tonta preguntar si el programa se puede hacer usando tecnologías web estándar, ¿así que podrías apoyarlos a todos? – Grundlefleck

+0

Podría escribirlo usando tecnologías web si hay un tipo de entorno Adobe AIR para ejecutarlo, pero no puede ser enlazado por la zona de pruebas del navegador. ¿Existe tal entorno? De ser así, ¿vale la pena dedicar tiempo a aprender el idioma nativo de la plataforma elegida? [Esta fue mi razón por la que me gusta WebOS.] – SamGoody

Respuesta

4

Yo aconsejaría a probar Android, debido a que:
- it's more simple
- menos restricciones como Blackberry api signing o BlackBerry Alliance
- no hay más preguntas muestras/artículos/OS
- android market vs BB world app
- lo hará sea ​​fácil activar BlackBerry o J2ME puro en el futuro (en caso de que desee transferir su aplicación a otras plataformas, Android utiliza Java extendido, BlackBerry usa microedición Java, ambos usan el complemento Eclipse + como IDE)
- dispositivos son menos costosos en general mal por sí mismo y como un argumento

+0

Supongo que solo está comparando Android con BB aquí, ¿correcto? Me doy cuenta de que la relativa simplicidad puede ser subjetiva, pero aprecio la evaluación; ese es exactamente el tipo de cosas que me puede llevar hasta el momento de aprender. ¿Por qué es el costo de los dispositivos un punto, siempre y cuando la gente los compre? ¿Qué quieres decir con que es fácil cambiar a BB? – SamGoody

+0

correcto, ver la actualización –

7

abajo es mi personal opinión basada en mi experiencia personal .

Te estás olvidando de algunos de los mayores problemas en el desarrollo móvil (los mismos que hacen que mucha gente elija el iPhone al final). ¡Esto es particularmente importante si eres un desarrollador único!

1.Fragmentation

para cada plataforma hay muchos dispositivos con diferentes resoluciones de pantalla, capacidades de hardware, la capacidad de memoria, insectos, etc. A menos que usted está desarrollando algo trivial (por qué no una aplicación web móvil, entonces?) Que' Necesitaré adquirir y probar al menos los teléfonos más populares. Esto también agrega costos de soporte a su aplicación. Deberá probarlo y actualizarlo para cada nuevo dispositivo.

2. Distribución

Todo el mundo es la construcción de una tienda de aplicaciones en estos días, pero iTunes sigue siendo la mejor y más confiable manera de pagar por los contenidos digitales. Android es probablemente el segundo corredor, pero no tan popular entre los usuarios de negocios. Sería cuidadoso con Nokia si te preocupas por el mercado estadounidense y con Palm si cuidas del internacional.

Windows 7 Mobile parece una buena plataforma, pero pasarán entre 6 y 12 meses antes incluso de que se debatan. Ni siquiera consideres la iteración actual de Windows Mobile.

3.Tools, Lengua, SDK, hardware

Blackberry, Android y Nokia se basan en Java y utilizar Eclipse como un IDE. En teoría, deberían funcionar en cualquier sistema operativo, pero Android tiene algunos problemas en Windows, mientras que Blackberry requiere Windows. Para los 3 necesitarás un hardware realmente decente para ejecutar los emuladores y el IDE sin pensar en el suicidio. La depuración en el dispositivo es de inexistente a no muy agradable.

iPhone - ObjectiveC/C/C++. Necesitarás una Mac que ejecute osX. Incluso un Mini lo hará. Para distribuir debe estar en el programa de Desarrollador - 99 $. Todo lo demás es gratis. XCode es un IDE bastante bueno y el emulador y la depuración en el dispositivo son los mejores en el mercado. Existen muchos frameworks para crear aplicaciones usando diferentes tecnologías como web o flash. No puedo comentar

Palm: lo más parecido a lo que ya sabe, basado en tecnologías web para el desarrollo de alto nivel. Para cualquier SDK más avanzado basado en C++ (aún no tengo experiencia con eso).

Windows Mobile - C#/Windows/Visual Studio. Puede que tenga que pagar algunas de las herramientas de desarrollo.

4.Bonus punto

iPod Touch & iPad no tienen homólogos. ¿Has seguido el frenesí de prepedido en los últimos 2 días? Sí, sé sobre las tabletas Android, verifique el punto 1 anterior.

Espero que esto ayude, pero quizás solo te confundí más. Al final, debería preocuparse más por la calidad de su software y el valor que proporciona. Si es bueno, encontrará su mercado.

+0

Una buena respuesta. Hay algunos hechos que creo que están incorrectamente establecidos aquí, he hecho esas correcciones. – Siddharth

6

Mis dos programas son más para los usuarios de negocios, (uno es sólo útil para C.P.A.s).

Si tiene usuarios, pregúnteles qué teléfonos usan.

La mayoría de los usuarios parecen estar a punto religiosa su decisión móvil, por lo orales conversaciones me dejan más confuso entonces iluminada.

No mida por la calidad de la conversación. Mida por conteos crudos, o conteos crudos ponderados por posible venta adicional (es decir, los usuarios veteranos de sus aplicaciones que han estado pagando por actualizaciones y mantenimiento tienen un historial más comprobado de darle dinero que el que compró ayer).

Luego, una vez que sepa cuáles son las plataformas de teléfonos inteligentes más fuertes entre sus usuarios, puede decidir la mejor manera de abordar uno o más de ellos.

que tendría que aprender las lenguas y IDE relevantes - mi codificación hasta la fecha ha sido casi todos basados ​​en la web (PHP, JS , ActionScript, etc Algunos ASPX).

Entonces quizás se quede con eso. Las únicas razones por las que realmente necesita una aplicación nativa son porque desea ejecutar desconectado (y con HTML5, eso incluso se cubrirá) o si desea hacer cosas que no se pueden lograr a través de un navegador web móvil (por ejemplo, integrar con otro aplicaciones en el dispositivo en Android).

Palm WebOS - Tal vez esto debería ir primero, ya que es el único que ofrece herramientas para hacer mi vida fácil como un desarrollador de aplicaciones web .

Sin sentido. Bueno, OK, ese IDE que vi algunas capturas de pantalla era bastante resbaladizo, si se enviaba (perdí la pista). Pero no es como si WebOS fuera el único sistema operativo web.

Existen formas de desarrollar aplicaciones locales para teléfonos que no son de WebOS que usan HTML/CSS/Javascript. PhoneGap es lo más parecido a las aplicaciones web tradicionales AFAICT; Appcelerator Titanium Mobile es un poco extraño pero también usa esas tecnologías. Ambos permiten apuntar a Android y iPhone con un conjunto de código fuente; PhoneGap también le permite enviar a Blackberry y eventualmente a Symbian.

Ahora, particularmente para PhoneGap, estas tendrán la sensación de los sitios web móviles más que las aplicaciones nativas.Eso puede o no ser un gran problema para sus usuarios. Si nada más, le permitirá mojarse los pies en el móvil y medir el interés relativo, luego determinar si necesita subir la curva de aprendizaje en Java o Objective-C.

Por cierto, Maemo está siendo reemplazado por MeeGo, para aumentar la confusión de Nokia. :-)

+0

+1 para PhoneGap –

1

¿Qué API necesitas? ¿Cuál es su modelo de negocio?

9/10 Simplemente escribiría una aplicación web. Es multiplataforma.

0

Si tiene antecedentes de webdev, Nokia podría ser bastante fácil: puede crear widgets (* .wgz) que se ejecutan utilizando el navegador, pero que tienen acceso a las aplicaciones de teléfono.

0

Tenga en cuenta que actualmente solo tiene tres opciones válidas: Iphone, Android y BlackBerry. Si no tiene como objetivo los mercados de EE. UU., BlackBerry tampoco es una opción.

(Nokia tiene demasiadas plataformas y los dispositivos están con mala UX, Plam está muriendo, Windows Mobile finalmente ponerse al día, pero no antes)

Si usted tiene una aplicación empresarial que los usuarios están muy probablemente a través de BlackBerry o Iphone (Android sigue en aumento).

Desarrollar para cualquiera de ellos es una cuestión de cuota de mercado y realmente debería verificar con sus usuarios qué están usando.

Tenga en cuenta que si es un desarrollador web debe considerar llevar con usted a alguien que sepa cómo desarrollar esas plataformas (NO es trivial) o incluso considerar escribir una aplicación web HTML5 que funcione en Android e IPhone .

3

Si está pensando en comenzar su propia tienda de desarrollo, then see my advice in this post to ignore technology and instead look at each platform's business model. Pregúntese si cada plataforma realmente ofrece una forma para que el pequeño desarrollador gane dinero.

Cada plataforma tiene ventajas y desventajas en el modelo comercial. Por ejemplo, la tienda de aplicaciones de iPhone restrictiva significa que Apple podría rechazar su aplicación y significa que Apple puede responsabilizarlo por cualquier mal uso intencional o accidental de las transacciones a través de su aplicación. Por otro lado, debido a la supervisión de Apple y al historial probado, es más probable que el usuario final compre una aplicación desconocida de un pequeño desarrollador solo para ver si podría funcionar para él. Es poco probable que lo hagan sin algún tipo de supervisión.

Solo se requerirá una violación de seguridad importante para dañar seriamente la marca de un móvil. Si el modelo más abierto de Andriod no puede proteger tanto su plataforma como el iPhone, una sola aplicación maliciosa podría dañar toda la marca. Si los usuarios finales se queman una o dos veces por otros desarrolladores, es menos probable que corran riesgos en su aplicación.

Si va a hacer una programación viva, no puede realmente especializarse en un solo idioma/API. Debes aprender buenas prácticas de programación general y educarte constantemente en nuevas herramientas. Deberías estar dispuesto a aprender cualquier idioma y cualquier entorno. Por supuesto, las personas se especializan, pero desde la perspectiva de tener una carrera de 30-40 años, debe mantenerse flexible. Diablos, cuando estaba en la universidad, Cobal (spit) era lo más importante y todos se preguntaban si esta nueva "C" iba a despegar a pesar de que parecía un poco dudosa. Ahora, murmurando y murmurando años después, parece que estoy aprendiendo un nuevo idioma/API todas las semanas.

Sin embargo, al comenzar con su conjunto de habilidades particular y tener que arrancar todo lo que podría ser mejor usar una API basada en HTML como PhoneGap. Eso le permitirá (1) aprovechar su conjunto de habilidades existente y (2) darle cierta flexibilidad cuando elija plataformas.

Una vez que haya ganado algo de dinero y haya adquirido cierta experiencia en su haber, podrá entrenarse en la API específica de una o más de las principales plataformas.

Recuerde que no hay una respuesta correcta para cada desarrollador. Usted trae su propia historia a la ecuación. Algo que funcionará para usted no funcionará para otra persona. El costo de oportunidad de aprender Objective-C o Java puede ser más bajo o más alto para ti que para otra persona. Del mismo modo, para una operación de arranque, si pudieras poner una aplicación para una plataforma pequeña en 30 días usando tu conjunto de habilidades existente, sería mejor que tomar un año para implementar una aplicación para la plataforma con la mayor cuota de mercado.

Elija lo que elija, es más importante comenzar a ejecutar tan pronto como sea posible que planificar todo antes de comenzar. En mi experiencia, vacilar debido a una planificación excesiva te perjudica más a largo plazo que elegir un camino subóptimo. En la vida real, en realidad no tienes que "hacer las cosas bien" al inicio. Lo que tiene que hacer es ser lo suficientemente flexible y determinado para recuperarse de los muchos, muchos, muchos errores que inevitablemente cometerá.

Ve con lo que tienes, juega con tus puntos fuertes existentes, consigue productos enviados y aprende sobre la marcha. No piense demasiado ...

... simplemente ejecute.

0

Otra cosa a tener en cuenta es no mirar la penetración del mercado por un teléfono inteligente en particular. Lo que realmente te importa es en qué teléfono inteligente puedo vender más. Por ejemplo, Symbian s60 tiene la cuota de mercado más grande con un tiro LONG, pero los usuarios gastan menos TON en aplicaciones. Otro ejemplo es BlackBerry. Su cuota de mercado está por delante de iPhone, sin embargo, la aplicación de terceros vende MUCHO menos que en iPhone. Dicho esto, si está creando una copia de 10 aplicaciones en el iPhone que serían únicas en un BlackBerry, es posible que esté mejor con BlackBerry, ya que no tendrá que compartir los ingresos con otras 10 aplicaciones. Realmente necesita ver cada tienda de aplicaciones, ver cuál es la competencia y tener en cuenta cuánto gastan realmente los usuarios en esas tiendas de aplicaciones.

4

Con Nokia (Symbian y MeeGo) puede desarrollar en Qt. Debería poder implementar la misma aplicación en ambos sistemas sin demasiados problemas. Con su experiencia como desarrollador web puede usar QtScript \ JavaScript etc. para obtener los resultados deseados.

+0

De hecho Qt le permite convertir una aplicación web en una nativa ya que contiene un motor web embebido. A continuación, puede crear sus propias API de JavaScript e implementarlas con código nativo. Muy poderoso. –

0

Dependiendo de la naturaleza de sus aplicaciones, podría considerar que prácticamente todas estas plataformas usan Webkit. Esto significa que con una sola aplicación web bien diseñada, puede orientar sus anuncios a todas estas plataformas, así como también a los usuarios de computadoras de escritorio. Si desea vender su aplicación en las tiendas de aplicaciones correspondientes, está Phonegap y Rhomobile.

Cuestiones relacionadas