¿Qué lenguaje de programación sería mejor para crear una aplicación social basada en la ubicación? (iPhone)

Estoy de acuerdo con Mark, crear una aplicación nativa es tu mejor opción.

Hay muchas opciones por ahí como

  • Titanio,
  • Sencha
  • jquery Mobile
  • (siéntase libre de agregar los que faltan aquí)

que todos tienen sus fortalezas y debilidades. jquery mobile realmente solo es adecuado para el reemplazo básico del sitio web, mientras que Sencha y Titanium le permiten crear aplicaciones reales, tienen la ventaja de que puede desarrollar en Coffeescript o Javascript si realmente le gustan las llaves. También le permiten ejecutar en diferentes plataformas, ¿por qué molestarse con las aplicaciones nativas?

En mi opinión, Apple ha logrado condicionar a los usuarios a que las aplicaciones son similares a episodios de TV o canciones, una pieza de entretenimiento que se compra sin pensarlo demasiado, siempre que un amigo lo recomiende o tenga una calificación alta. Para poder lograrlo, necesita crear una aplicación perfecta que sea lo más rápida posible y haga un buen uso de la funcionalidad integrada del dispositivo.

Tiene que estar diseñado para ese dispositivo y no debe distinguirse en la experiencia del usuario de otras aplicaciones, lo que para muchos escenarios significa nativo. Por supuesto, hay excepciones a esto, como cuando ya tiene una gran base de usuarios de su presencia en la web que simplemente convierte e itera con el tiempo, pero para aplicaciones realmente nuevas sin usuarios esto se mantiene.

Entonces, ¿qué puede esperar cuando elige nativo:

C objetivo
Es un lenguaje interesante. Por un lado, es una afrenta a 20 años de diseño de idiomas, por otro lado, funciona extremadamente bien en la configuración móvil. Tiene suficientes características para hacer felices a los desarrolladores experimentados (me vienen a la mente los bloques), por lo que no es tan malo. Si conoce a Ruby y ha hecho un trabajo de java / c # antes, se sentirá como en casa.

Objective-C / Gestión de memoria

iOS hasta la versión 4 tiene administración de memoria manual, lo cual es una molestia. Sin embargo, la decisión de no incluir un recolector de basura en tiempo de ejecución fue buena, especialmente teniendo en cuenta los modelos de iPhone más antiguos. No permitiría que la administración de la memoria sea parte de su proceso de toma de decisiones, ya que esta es un área que mejorará en el futuro.

Las API de iOS

Aquí es donde las aplicaciones nativas realmente brillan. La API de iOS es extremadamente fuerte y resuelve muchos problemas de forma inmediata. Apple está escuchando claramente a los desarrolladores e intenta incorporar las características que los desarrolladores necesitan en las próximas versiones.
Ninguno de los otros proveedores se acerca a la gran cantidad de posibilidades.

Xcode 4

Personalmente, detesto los IDEs (después de haber usado muchos de ellos durante 2 décadas) ya que su razón de ser es casi siempre la abstracción insuficiente del lenguaje de programación y las bibliotecas subyacentes. Sin embargo, es como es, y para un IDE Xcode 4 es bastante bueno y especialmente el generador de interfaces se ve realmente agradable. Dadas las complejidades involucradas al tratar con la compilación objetiva-c y sin tiempo de ejecución de lenguaje común, creo que los ingenieros de Apple merecen nuestro respeto. Le tomará uno o dos días comprenderlo realmente y descubrir cómo funciona todo junto, pero luego podrá ser productivo.

Rampa hasta el tiempo
Comenzar a usar iOS no es tan difícil y no lleva demasiado tiempo. Debería poder pasar del objetivo de aprendizaje c a tener su primera aplicación en el proceso de aprobación en 3 a 4 semanas, suponiendo que tenga una buena experiencia en programación.

El ciclo del producto

Esto, por supuesto, es la mayor debilidad de las aplicaciones nativas. Simplemente no tiene las buenas pruebas A / B y la implementación continua que nos encanta de la web. Eso es lo único que debes aceptar.

El backend
También pensaría en usar

  • node.js
  • mongodb
  • coffeescript
  • mangosta
  • exprimir

como su back-end (si necesita uno), alojado en heroku, y tal vez http://app.net/ para alojar su página de aplicación. Para geolocalización, http://simplegeo.com es su primera opción, y las API de google y yahoo.

Hemos publicado dos ejemplos de código que pueden ayudarlo:
1) ubicación simple: muestra de código de ubicación iOS simple (SDK + API)
2) código fuente completo de la aplicación social (inicio de sesión de Facebook, ubicación, chat, AR, notificaciones push): ChattAR, Realidad Aumentada Facebook integrado Ejemplo de código de chat iOS basado en ubicación

Objetivo C sin ninguna duda, no vaya con herramientas de terceros como sencha, appcelator, etc. a menos que solo necesite escalar su portal web a dispositivos móviles y no exista una idea de aplicación como tal … pero si desea usar capacidades de iOS como gps , sensor de movimiento, mapas, etc. para obtener la mejor experiencia de usuario, luego vaya al desarrollo de aplicaciones nativas, utilizando el objetivo C y el código X, no hay alternativas que excedan esto al menos hasta esta hora. 🙂