Después de enseñar a más de 100,000 personas cómo codificar en Swift, Objective-C y Java (Android) en bitfountain.io, tenemos un conjunto de datos bastante grande sobre el tema. Aquí hay dos hechos interesantes:
- La tasa de finalización del curso basado en Swift es más alta que las tasas de finalización de los otros dos cursos.
- Hemos notado muchas más historias de éxito (aplicación lanzada al público, inicio de inicio y / o conseguir un trabajo como desarrollador) de personas que completaron el curso basado en Swift.
Como mencionó Jim Dovey, los idiomas que conoce ya marcan la diferencia en lo que le resultará más fácil. Para principiantes absolutos, hemos visto la tarifa Swift mucho mejor que ObjC.
El factor a considerar para los principiantes es la plataforma. Swift está íntimamente relacionado con iOS / Mac / Xcode / Cocoa. Apple ha invertido mucho en crear un entorno de desarrollo integrado (Xcode) que interactúe bien con Swift y Cocoa. Xcode le permite arrastrar y soltar elementos de la interfaz (es decir, botones, etiquetas …) en un lienzo, luego conectarlos a Swift a través de salidas. Puede configurar un flujo de navegación básico en su aplicación con solo unas pocas líneas de código. Haga clic en “Ejecutar” y la aplicación se está ejecutando en su dispositivo.
- ¿Cuánto costaría construir una aplicación de iOS como Kijiji?
- ¿Cómo es el iOS mejor que cualquier otro sistema operativo en términos de rendimiento? La implementación de cada controlador del sistema operativo está en C. ¿Qué hace la diferencia?
- ¿Por qué hay tanta locura por los iPhones de Apple cuando las especificaciones, el diseño y las características realmente están desactualizadas?
- Para usuarios de Android o iOS, ¿cuál es su juego de palabras multijugador en línea favorito?
- ¿La usabilidad se ve afectada si no sigue las pautas de la interfaz humana de iOS? Considerando la aplicación de Facebook como un ejemplo, la barra de navegación debería "evitar abarrotar una barra de navegación con controles adicionales, incluso si parece haber suficiente espacio".
Esto no significa que pases menos tiempo codificando. Por el contrario, codifica mucho más porque pasa menos tiempo configurando su entorno y más tiempo enfocándose en los conceptos de desarrollo de software: MVC, programación orientada a objetos, almacenamiento en caché de datos, redes, etc. Un gran obstáculo para los principiantes que aprenden Python o Ruby es que necesitas configurar un servidor (o heroku) para ver realmente el resultado de tu trabajo en la web. Eso implica aprender una habilidad tangencial: la línea de comando. Todo esto puede parecer trivial para un codificador experimentado, pero hemos visto que los estudiantes se caen antes de comenzar con las cosas divertidas. No hay nada más motivador para un novato que ver su código ejecutándose en un dispositivo.
Terminaré con los consejos que le doy a cualquier programador en ciernes: simplemente elige un idioma y crea algo que te interese. Si te gustan las aplicaciones de iOS, aprende Swift y crea una aplicación. La transición a otro idioma más adelante será mucho más fácil que aprender el primero.