programar desde cero apple iphone android windows-mobile java-me symbian

iphone - desde - ios



¿En qué plataforma móvil debería empezar a aprender? (22)

Ahora que Nokia ha comprado TrollTech (Qt) con el propósito de crear una gran plataforma móvil sobre Symbian, pensarías que la multitud de OSS al menos lo mencionaría .

Symbian tiene un gran mercado en comparación con todos los demás. Qt es la columna vertebral de KDE, permite un fácil desarrollo multiplataforma y está muy bien diseñado.

Pensarías que:

  1. Un mercado enorme
  2. Un gran framework multiplataforma LGPL.
  3. Una tienda de aplicaciones

... sería un éxito futuro esperando a suceder. Sin duda, tiene más posibilidades de ganar dinero que ser una aplicación más en decenas de miles de otras, ya que los usuarios no esperan pagar más de $ 0.99.

Symbian también está iniciando el camino para abrir el código. En realidad, a medida que la plataforma móvil Qt madura, el sistema operativo subyacente puede que ni siquiera sea tan importante.

¿En qué plataforma móvil debería empezar a aprender? Lo que importa es:

  • facilitar
  • popularidad de la plataforma
  • Bajo costo del SDK y dispositivo de mano real.

Ahora que Safari es compatible con funciones avanzadas como la ubicación GPS a través de JavaScript, lo mejor que se puede hacer es el desarrollo de aplicaciones web que cumplan con los estándares. De esta manera, puede garantizar actualizaciones y compatibilidad fáciles para múltiples dispositivos desde una única base de código.


Apple realmente ha hecho un Microsoft al crear una plataforma de aplicaciones que bloqueará a los clientes durante años. Hay varias aplicaciones a las que me costaría mucho renunciar en este momento.

Estaba haciendo una elección similar y terminé haciendo la inversión para ir con el iPhone. El beneficio ha sido que me gusta mucho la Mac, esta es mi primera vez, y el desarrollo ha sido muy divertido. Sin embargo, no estoy buscando vender a las masas, estoy escribiendo aplicaciones que apoyan a las empresas con contenido móvil. Android sería mi segunda opción, y ni siquiera consideraría WM o Symbian.



Aquí están las plataformas en orden de popularidad en el futuro:

1) iPhone

Tiene tres fosos que todos deben cruzar para ponerse al día: accesorios, aplicaciones y complementos de hardware.

Accesorios para el iPhone y el tacto se pueden encontrar por todas partes. Tienen radios de conexión para iPhone / iPod en muchas habitaciones de hotel ahora ...

Las aplicaciones, por supuesto, tienen una gran ventaja en Apple, pero la ventaja es mayor de lo que parece porque además de todas las aplicaciones, ahora hay muchos desarrolladores con experiencia con iPhone. Claro que algunas de las aplicaciones iniciales no tienen sentido, pero ahora hay innumerables categorías con equipos profundos de personas que trabajan en aplicaciones reales.

El último foso es nuevo, pero nadie está lo suficientemente cerca como para hacer algo similar que pueda evitarlo, y esa es la capacidad de 3.0 para que las compañías construyan dispositivos específicos y hablen con ellos a través del bluetooth y el conector de base. La base para iPhone TomTom para el coche (más que solo una base, también tiene un receptor GPS más potente que la aplicación TomTom puede usar) es la punta del iceburg a este respecto. Dispositivos médicos, herramientas de análisis, etc.

2) Palm Pre

El Palm Pre tiene la ventaja de que muchos usuarios de Palm que realmente quieren quedarse con ellos tienen una excelente ruta de actualización, y el Pre tiene la misma ventaja que tiene Apple, ya que ellos mismos están construyendo un único dispositivo que hace que sea más fácil construir un Aplicación que aprovecha al máximo la plataforma y se adapta realmente bien a la filosofía del dispositivo. Solo la naturaleza más limitada del SDK está impidiendo una selección mucho mayor de aplicaciones, pero creo que esta plataforma crecerá bastante bien. El único peligro es que puedo verlos comprados en mi Microsoft y luego son tostados.

3) Android

Android tiene la ventaja de tener más dispositivos. Pero eso también hace que sea mucho más difícil crear y probar aplicaciones, y escribir aplicaciones que aprovechen mejor las características específicas. Creo que habrá más dispositivos físicos que el Pre, pero apostaré en que en tres años habrá más uso de aplicaciones con el Pre que con la plataforma Android.

Para facilitar el desarrollo, calificaría el Pre primero (a menos que no esté muy familiarizado con CSS), el segundo iPhone y el tercero Android (simplemente porque no existen tantos recursos / existirá para ayudarlo con el desarrollo de Android, tiene un marco tan grande como el iPhone para facilitarle las cosas).

Symbian y Windows Mobile están simplemente fuera del juego. A menos que compren uno de estos tres, se realizan como una plataforma seria para el software móvil, a pesar de la cantidad de dispositivos que existen actualmente (consulte: Problemas de Android relacionados con el rango de dispositivos). Además, simplemente no tienen ni el marco ni la riqueza IDE que estas tres plataformas tienen y están creciendo cada día ...


Compruebe Google para cuota de mercado de teléfonos inteligentes. Aquí hay uno de Gartner . En resumen, las estadísticas de ventas para 2008 son (las ventas están en miles de unidades):

Operating 2008 Market Growth System Sales Share 2007-2008 ----------------------------------------------------------- Symbian 72,933.5 52.4% -6.1 Research In Motion 23,149.0 16.6% 96.7 MS Windows Mobile 16,498.1 11.8% 12.2 Mac OS X 11,417.5 8.2% 245.7 Linux 11,262.9 8.1% -4.2 Palm OS 2,507.2 1.8% 42.2 Other OSs 1,519.7 1.1% 13.1 ----------------------------------------------------------- Total 139,287.9 100.0% 13.9

Entonces, leyendo esto, los dispositivos Symbian son el mercado más grande. iPhone y BlackBerry son plataformas de rápido crecimiento. Android salió al mercado a fines del año pasado, por lo que es difícil decir qué tan popular sería.
Mi elección sería:

  1. iPhone: porque es la plataforma más uniforme: misma pantalla y teclado, y otras características similares. Tienda web muy popular si decides hacerte profesional. Cuota de mercado de rápido crecimiento, posible número dos en el próximo año o dos.
    Menos es que requiere computadora Mac para el desarrollo.
  2. BlackBerry: número relativamente pequeño de dispositivos diferentes (diferentes resoluciones, diferentes teclados), pero complica el desarrollo porque debe tener en cuenta esos factores. Segundo por número de ventas, mantiene una tasa de crecimiento muy alta.
  3. Symbian: por mucho el número más grande de teléfonos, pero de varios proveedores diferentes (Nokia, Samsung, Sharp, Sony Erricson, ...) con varias configuraciones de hardware diferentes. Cada proveedor tiene su propio programa de desarrollador al que debe unirse para obtener acceso a los SDK específicos del dispositivo.
  4. Windows Mobile: todavía vende una gran cantidad de unidades, muy buenas herramientas de desarrollo.
  5. Android -? En espera hasta que gane una cuota de mercado significativa.

Editar:
Re comentarios de Mac:

  • El Mac Mini más barato (1 GB de RAM, 120 GB de alta definición) sin mouse, teclado y monitor cuesta tanto como el portátil de gama media de Dell o HP ($ 599). Por lo tanto, el hardware mínimo necesario para el desarrollo cuesta al menos dos veces más que un sistema basado en Windows. El desarrollo de iPhone requiere un equipo más caro que cualquier otra plataforma de teléfono inteligente. Y eso es un inconveniente.


Re comentarios de Symbian:

Sé sobre symbian.org y la iniciativa de código abierto. Pero:

  1. El proceso es muy lento. Comenzó hace más de 1 año (junio de 2008) y aún es beta. Este es un acuerdo entre compañías muy grandes y probablemente pasará algún tiempo antes de que lleguen a un acuerdo final.
  2. Ahora, si desea desarrollar para dispositivos Symbian, debe ir al sitio de desarrolladores de cada proveedor para obtener acceso a documentación, ejemplos, SDK, herramientas ...
  3. Si planea ser profesional, cada proveedor tiene su propia tienda y un conjunto de reglas que deberá cumplir.

Creo que las plataformas 3-4 tienen futuro. Pero depende de qué plataforma te gusta y cómo te gusta la libertad en la distribución de tus aplicaciones :)

  1. Windows Phone 7
  2. Androide
    • Java
    • A través de Android Market (tarifas) o como aplicaciones normales.
  3. iPhone
  4. Windows Mobile (mi favorito)
    • C ++ o .NET
    • Distribución gratuita, al igual que las aplicaciones normales.
    • Microsoft también tiene un mercado - here
  5. Java

Dado el tamaño de la cuota de mercado que tienen los teléfonos Symbian (no solo Nokia Series 60 ), parece ser una buena opción. Sin embargo, hay pros y contras. Symbian tiene una curva de aprendizaje empinada, más pronunciada que las alternativas. Los canales de distribución no son tan buenos, pero están mejorando ( Ovi por ejemplo, Symbian Foundation Horizon).

El iPhone tiene el factor cool en este momento y una interfaz de usuario superior. Sin embargo, los mecanismos de distribución aún no son perfectos. Solo puedes vender a través de la tienda de Apple y no tienen una gran reputación por ayudar a los desarrolladores a sacar su aplicación.

Android, como se mencionó anteriormente, está basado en el kernel de Linux. Dado que la plataforma Nokia Maemo llegará a los teléfonos en un futuro cercano, la familiarización con ella puede no causar daño.

La principal dificultad con el desarrollo móvil es la portabilidad. Es simplemente muy difícil. Siendo realistas, si eres nuevo en el desarrollo móvil, probablemente es mejor elegir una plataforma y ejecutarla.

Así que, en definitiva, mi respuesta: Symbian.


Este es fácil (incluso para un desarrollador de Windows Mobile como yo):

iPhone

La tecnología subyacente al dispositivo no es nada especial, pero Apple ha proporcionado un mecanismo conveniente y razonable para pagar a los desarrolladores al tiempo que bloquea el dispositivo en la medida en que la piratería de software es (hasta donde sé) totalmente imposible [actualización: o aparentemente es simplemente difícil] . ¿Quién no querría escribir software para un mercado en rápido crecimiento como ese?

Los dispositivos con Windows Mobile podrían haber hecho esto hace 6 o 7 años, pero nooooooooooo ...


He enviado código en iPhone, Symbian, BREW, Java ME, Windows Mobile, Palm. Personalmente me gusta más trabajar con el iPhone.

Todo lo anterior, además de Android, le permite descargar y ejecutar el SDK de forma gratuita. Le recomendaría que pruebe los que le gusten más y ejecute sus programas en los simuladores. Averigua de cuál disfrutas y luego échate a eso.


La programación para clientes móviles ha sido históricamente una pesadilla. La naturaleza fragmentada del mundo móvil exacerba cualquier problema que haya encontrado en el mercado de computadoras / servidores.

Si su objetivo es ganar dinero como pequeño desarrollador, debe enfocar sus esfuerzos tanto como sea posible. Para este fin, el iPhone es la única opción real, el costo de probar, transferir y certificar su aplicación en J2ME, Symbian o Windows Mobile supera muy rápidamente la potencial ventaja de mercado que tienen estas plataformas.

También debe considerar los requisitos técnicos de las aplicaciones que va a desarrollar. Por ejemplo, mientras J2ME es ''compatible'' en más dispositivos que cualquiera de las otras posibilidades, el modelo de seguridad restringe la utilidad de J2ME si quiere hacer cosas ''geniales'' (al menos esto ha sido un problema para mí en varias ocasiones). El soporte fragmentado para JSR s también es un problema importante. J2ME puede funcionar mucho en teléfonos no inteligentes, pero ¿estos teléfonos son compatibles con las funciones que desea?

También considere la distribución de teléfonos en su público objetivo. La ubicación, el ingreso y la edad de sus usuarios potenciales determinarán en gran medida los teléfonos que puede y debe apuntar.

Mi propia experiencia es que la programación de aplicaciones móviles es una batalla perdida en Symbian, Windows Mobile y BREW . Es una pesadilla organizacional en J2ME. Pero muchas personas están ganando dinero en la App Store de Apple. Y Nokia ahora tiene Ovi ... RIM tiene una tienda, Windows Mobile tendrá una tienda ... Tal vez el éxito de Apple empujará a los otros proveedores de teléfonos para que actúen juntos y lo hagan más fácil.

Una nota sobre sus criterios sobre el costo del teléfono: MTK (la mayoría de las MTK de China / Taiwán) sería la más barata, pero solo se puede instalar en los teléfonos en el momento de la fabricación, por lo que no es realmente una opción ... los teléfonos Java pueden ser Barato, pero el problema de portabilidad es un dolor. Una empresa internacional en la que trabajé gastó más de medio millón en la adquisición de dispositivos y la conversión de clientes cada año, ya que tenían que probar sus aplicaciones en cada nuevo dispositivo Java e incluso el mismo dispositivo con firmware diferente (solo ingrese N95 en Wurfl y podrá vea cuántos firmwares diferentes puede haber cuando los operadores europeos hacen cosas tontas como instalar firmware personalizado, por lo que Vodafone UK y O2 UK N95 no son lo mismo. Windows Mobile puede ser el mismo, cada nueva versión tiene diferentes API y los OEM cambian las cosas ... Si cuenta el costo de adquirir incluso algunos teléfonos Java o Windows Mobile para asegurarse de que su aplicación funciona en diferentes ediciones de SO y firmware, entonces ha gastado una suma ordenada. También podría tener un iPhone o dos.

Entonces, ¿mis sugerencias?

  1. iPhone
  2. Symbian (2 y 3 podrían cambiar dependiendo de las características que necesite)
  3. J2ME
  4. Windwos Mobile
  5. Androide
  6. BREW (si estás en las Américas)
  7. BORDE
  8. Destello
  9. MTK

Mi sugerencia es que J2ME es mejor, porque es la extensión o el nacimiento de la gran Java. Hoy en día la mayoría de los teléfonos móviles tienen soporte J2ME. Para J2ME hay muchos foros relacionados con Java y Java que ayudan a mejorar nuestras habilidades J2ME, que se utilizan para resolver nuestros problemas de aplicaciones, etc.

Si conoces Java entonces J2ME no es difícil. Es simple, fácil de entender e implementar para usuarios de Java.

La principal ventaja de J2ME es que J2ME pertenece a la familia Java y es de código abierto. Hoy en día muchas empresas están migrando a código abierto debido a que son gratuitas. Muchas empresas sugieren J2ME para aplicaciones móviles.

Así que elige J2ME.


Mientras buscaba la respuesta a esta pregunta, encontré los siguientes 2 marcos que permiten el desarrollo de aplicaciones móviles nativas desde HTML5, Javascript y CSS:

  1. PhoneGap de Adobe le permite crear aplicaciones móviles para iOS, Android, Blackberry, Windows Phone, Palm WebOS, Bada y Symbian.
  2. Appcelerator''s Titanium te permite crear aplicaciones para iOS, Android y equipos de escritorio.

Otras características interesantes (para ambos):

  • Ambos son libres y de código abierto.
  • Ambos tienen ricos entornos de desarrollo.
    • Titanium tiene un IDE dedicado basado en eclipse,
    • PhoneGap tiene complementos para todos los IDE en los que se desarrollan las aplicaciones específicas.
  • Ambos han hecho un gran esfuerzo en términos de documentación y soporte (videos y foro de desarrolladores)
  • Puede compilar su código en la nube, si no tiene el entorno en su máquina local (este servicio no es gratuito)

No he experimentado con ninguno de ellos todavía, ya que todavía estoy investigando sobre tecnologías similares. Supongo que cualquiera que los haya probado podría ilustrarnos ''a nosotros'' sobre los pros y los contras.
A primera vista parecen bastante fáciles de aprender; Al menos para cualquier desarrollador web.

Mi elección sería cualquiera de las dos, ya que estoy interesado en desarrollar tanto para Android como para iOS (y lo admito, bastante seducido por la posibilidad de una curva de aprendizaje más corta).


Para un punto de partida, debido a sus asuntos, la respuesta es J2ME

  • Facilidad: Java para J2ME es bastante simple y amigable.
  • popularidad de la plataforma: miles de millones de dispositivos pueden ejecutar J2ME
  • bajo costo del SDK y la computadora de mano real: es fácil encontrar un móvil barato que admita J2ME, casi todas las herramientas: marco, IDE, emuladores, documentos ... son totalmente gratuitos.

Popularidad: los números mundiales dicen que Java ME está claramente por delante de todos los demás. Symbian es un segundo distante. iPhone es un tercero aún más lejano, muy lejos. Sin embargo, si está apuntando a un continente o un país o un idioma, entonces los números pueden cambiar dramáticamente.

Facilidad de desarrollo: Objective-C es una cosa genial y poderosa, pero recuerde que tiene 20 años. El iPhone es fácil de desarrollar, pero el desarrollo de Android es igual de fácil, gratuito y multiplataforma. Java ME es una pesadilla, excepto si se dirige a un número muy limitado de modelos de teléfonos diferentes. El sistema operativo nativo Symbian OS C ++ tiene la peor reputación en el mercado, pero está retrocediendo centímetro a centímetro, año tras año. Symbian también tiene la gran ventaja de permitirle elegir el idioma en el que desea desarrollarse.

Costo de las herramientas: Java ME sería más barato, seguido de Symbian, Android y luego iPhone.

Otros criterios: bueno, mucho depende de las aplicaciones que desee desarrollar.

No se menciona el WebOS de Palm, ya que apenas se registra como una señal en el radar, desde un punto de vista comercial, al menos por ahora.



Realmente no me gusta Symbian. La popularidad y la facilidad hacen que el iPhone sea perfecto.

También escuché que Android es una plataforma genial para desarrollar, pero no lo he probado y todavía no es tan popular.


También puedes mirar la ruta de las aplicaciones web:

  • XHTML Mobile Profile / XHTML Basic, para acceder a cualquier navegador de teléfono WAP 2.0 (todos los teléfonos inteligentes, la mayoría de los teléfonos con capacidad para datos). La mejor mirada a la guía del desarrollador móvil de dotMobile .
  • Desarrollo web tradicional con mejoras progresivas, optimizadas para pantallas pequeñas, para apuntar a las plataformas actuales de teléfonos inteligentes.

Es una compensación entre la capacidad de los SDK nativos y la ubicuidad de la plataforma del navegador. Sé que muchos desarrolladores descartan las aplicaciones web como demasiado débiles, pero la plataforma definitivamente ha crecido y vale la pena investigar. Las suposiciones antiguas como "no puede desconectarse" o "no puede acceder a datos locales" ya no son necesariamente ciertas.


Todo lo que hay que hacer es anotar los recuentos de etiquetas, en la parte superior derecha de esta pregunta, para obtener una población de subconjuntos (en .com) de dónde está la popularidad.

A partir de mi comentario, los conteos de etiquetas fueron:

  • iPhone × 4829
  • windowsmobile × 606
  • android × 523
  • j2me × 301
  • symbian × 106

Los otros factores, obviamente. ¿Te gusta escribir para Windows Mobile sobre iPhone o J2ME? ¿Conoces J2ME pero quieres entrar en el desarrollo de iPhone? No creo que haya una respuesta correcta , pero los conteos de etiquetas dicen algo sobre la popularidad.


iPhone, obviamente. Poner su esfuerzo en otra plataforma ahora mismo sería una tarea de tontos, o en el mejor de los casos sería arriesgado. Tal vez el Pre o Android tengan potencial, pero el iPhone está más allá de la etapa "potencial". BlackBerry es otra opción sólida, ya que son grandes y aún tienen grandes cosas en el horizonte, pero la plataforma en sí es limitada y no sé si un usuario de BlackBerry va a capturar tantas aplicaciones como un usuario de iPhone.

He aquí por qué creo que el iPhone, basado en sus criterios:

  1. facilidad de uso: el iPhone puede ser el más difícil porque es poco probable que ya conozca Objective-C. Sin embargo, es un lenguaje orientado a objetos y Cocoa es un framework MVC. Una vez que te acostumbras a la sintaxis, no es muy diferente de lo que probablemente ya sabes.
  2. popularidad de la plataforma - esta es una fácil Puede que el iPhone no sea el más ubicuo, pero ciertamente es el más popular para las personas que realmente usan sus dispositivos para hacer cosas aparte de hacer llamadas telefónicas y enviar SMS, y es probable que quieran estar interesados ​​en cualquier aplicación que sea. edificio. Nadie compra aplicaciones para el RAZR.
  3. costo: el costo del desarrollo del iPhone es tener una Mac reciente y pagar a Apple $ 99. Si aún no tiene una Mac, son muy asequibles para un desarrollador de software. La gente defenderá Linux aquí, pero no es un problema, si gastar $ 1000 es un problema para usted y usted es un desarrollador de software, probablemente no esté tomando las mejores decisiones de carrera.

Androide

Kernel de linux El SDK es de bajo costo (gratis). Java es un lenguaje considerablemente popular.



Mejor eliges android. Hoy en día, Android es un entorno en crecimiento.
Android es adoptado por muchos proveedores. En la actualidad, muchos dispositivos son compatibles con Android.
Es muy popular, es muy fácil.
Google documentación de Android también es muy buena.
Para el desarrollo de la aplicación de Android (uso de Android SDK) se utiliza java.
Java es un lenguaje genial, familiar.
Mejor eliges android.