Puede sorprenderlo, pero la respuesta es: NI. Para su inicio aún considere ir con Objective. Aquí es por qué:
la mayoría de la gente tiene un buen punto aquí. Pero es el punto de vista de un hacker, no el punto de vista de un emprendedor, creo. (use nueva tecnología moderna o use algo solo para desarrollar 1 plataforma)
Al mismo tiempo, déjame desglosarlo para que tomes tu propia decisión:
- ¿Debo usar Swift u Objective-C? Necesito aprender un idioma iOS porque ya estoy usando Java / Android. Necesito copiar esas aplicaciones.
- ¿Por qué Instagram lanzó Hyperlapse primero en iOS y no en Android?
- ¿La programación en C es eficiente para crear aplicaciones para iOS?
- ¿Qué significa cuando FaceTime dice que alguien "no está disponible" para FaceTime?
- ¿Hay alguna forma de actualizar iOS 7.1.2 a 8 en iPhone 4?
1.IONIC: podría ser bueno para una creación de prototipos súper rápida para múltiples plataformas, si su aplicación se beneficia de múltiples plataformas a la vez y los clientes tolerarán resultados no nativos. Úselo si hace todo lo que desea de la caja de la forma en que lo hace iónico: estilo como está, componentes proporcionados por iónico, ok con limitaciones de iónico.
Pros:
- prototipo rápido y fácil si sabes js.
- 2 plataformas a la vez
- muchos componentes listos o casi listos para la producción
- puede hacer que audo despliegue la función de su código js para que no tenga que esperar al lanzamiento de Apple una semana o más después de cada nueva compilación
- Bien documentado si lo usa fuera de la caja sin mucha personalización
Contras:
- Tiempo para dedicar a personalizar algo de la manera que desee
- No hay una sensación 100% nativa del proyecto a pesar de que algunos componentes parecen nativos
- Todavía tengo que ajustar para iOS y Android por separado
- Dedique algo de tiempo a automatizar su proceso de construcción para ambos.
- No hay ventaja de Xcode o Android Studio para revelarmenet
- El rendimiento de su aplicación nunca es el mismo que el nativo (no importa lo que hayamos intentado, a menos que pasemos mucho más tiempo ajustando js \ csss de lo que llevaría hacerlo en nativo; la representación de imágenes de página sigue siendo web)
- la capacidad de respuesta en diferentes resoluciones y retratos versus tabletas se puede hacer rápidamente, pero es muy feo. Cualquier cosa más allá: muchísima personalización de CSS.
Nota: Mira nuestra aplicación llamada “REVIYOU” en app \ google stores, aquí hay un enlace – Reviyou – está hecho con iónico y ahora nos estamos alejando de él a nativo. Apreciaremos también los comentarios en las tiendas 🙂
2.Swift: Úselo para su propio proyecto divertido, especialmente si ya conoce el objetivo C o si está seguro de que tendrá CERO problemas con el uso de Swift 1.2 que está en modo beta en este momento.
Pros:
- Super fácil de comparar con el objetivo
- Parece un lenguaje futuro de iOS, por lo que es una buena inversión a largo plazo
- nativo y bien establecido ya
- Muy buen soporte de XCODE para un desarrollo más rápido \ bebugging, etc.
Contras:
- Swift 1.2 todavía está en beta
- La comunidad sigue siendo mucho más pequeña que para Objetivo
- Si tiene un problema, es posible que todavía no encuentre una solución lo suficientemente rápido en el desbordamiento de la pila
- Para el iwatch, los complementos y algunas cosas locas, es posible que aún necesites objetivos, por lo que si no lo sabes, terminarás aprendiendo 2 idiomas
- Nativo significa esperar una o dos semanas para obtener la aprobación de Apple cada vez
y nuestra elección en este momento: OBJETIVO C. Nunca lo hemos usado antes, así que no estamos locos por eso o algo así.
3.Objetivo: idioma nativo establecido con todo el soporte y la documentación que necesita para un desarrollo rápido del código listo para producción nativa. Pasar a Swift dentro de un año será fácil después de eso cuando Swift sea más maduro.
Pros:
- Súper maduro en términos de documentación, materiales de aprendizaje, libros, estudio de desarrollo, todos los posibles problemas y errores. Significa cero retrasos.
- Native con todos los beneficios, rendimiento, UX y complementos súper establecidos de Native (piense en los componentes IONIC)
Contras:
- No “moderno”, y más difícil que rápido como lenguaje básico de elección
- mismo problema con la aprobación de Apple Swift tiene
Resumen: hicimos una prueba de concepto inicial para los clientes y nos llevó bastante tiempo hacer UX correctamente para que no se vea muy descuidado con iónico. Queríamos cubrir ambas plataformas desde el principio. Tal vez si comenzáramos con Native podríamos haber ahorrado algo de tiempo, depende de cuántas personas tenga, qué proyecto realice y qué tan bien diseñado debería ser. No nos estamos mudando a nativos y para ahorrar tiempo estamos tratando de hacerlo con un objetivo que no conocemos, no con rapidez. El objetivo de aprendizaje rápido para un desarrollador decente no es un problema: ahorrar tiempo para que su inicio evite problemas extraños y problemas que nadie tuvo antes, es una razón principal para ir con Objective.
Fin: Espero que alguien encuentre útil este desglose y tome la decisión correcta para su proyecto. Al final, piense en los usuarios. Qué tan rápido puede entregar algo para ellos, si les gustaría y cuánto rendimiento \ UX es importante para ellos desde el principio. Todo es factible, pero lo que importa para una startup es tomar las decisiones de prioridad correctas y progresar lo más rápido posible con las opciones disponibles.
Actualización a abril de 2016:
Obviamente, a medida que pasa el tiempo, cada vez tiene menos sentido comenzar con Objective, aunque Swift todavía está cambiando. Pero la comunidad creció sustancialmente en los últimos 2 años.
Ahora estoy usando Swift 2.2 para mis proyectos paralelos y estoy contento con él mientras todavía necesito hacer encabezados de puente a las bibliotecas de Objective y confiar en ellos en gran medida y cuando busco en Google algunas respuestas, a menudo necesito usar soluciones sugeridas en Objective \ Swift 1.2 e intento convertirlos a Swift 2.2 por mí mismo.
Pero una vez más, Objective se siente muy viejo y es más divertido usar Swift.