Consejos para comenzar a desarrollador en iOS
Escrito por Sara Guiral el
La penetración de los smartphones y el número de apps en le mercado está creciendo más y más, al mismo ritmo que el número de personas que quieren desarrollar y construir app por ellos mismos.
El proceso de desarrollar un App parece muy complicado para muchos, por esta razón, he preguntado algunas cuestiones a 2 de los miembros de nuestro equipo de desarrolladores iOS, Mathieu Fancello y Alex Manzella . El propósito de mi entrevista era encontrar aquellas habilidades básicas requeridas para entrar en el mundo del desarrollo iOS, y después compartirlas con vosotros.
El proceso de desarrollar un App parece muy complicado para muchos, por esta razón, he preguntado algunas cuestiones a 2 de los miembros de nuestro equipo de desarrolladores iOS, Mathieu Fancello y Alex Manzella . El propósito de mi entrevista era encontrar aquellas habilidades básicas requeridas para entrar en el mundo del desarrollo iOS, y después compartirlas con vosotros.
¿Qué necesito para convertirme en un desarrollador de iOS?
Para empezar a desarrollar en iOS, debes tener unos conocimientos básicos en algoritmia y Object Oriented Programming.
Aprender Objective C puede ser bastante difícil si acabas de empezar tu acercamiento a los lenguajes de programación. Es mejor empezar con los lenguajes clásicos como el C y después aprender el OOP (Object Oriented Programming%C3%B3n_orientada_a_objetos ) paradigma.
Si eres un ninja y quieres ir directamente al nivel más alto, puedes encontrar algunas referencias sobre el uso de Objetive C en los Apple's Frameworks .
Aprender Objective C puede ser bastante difícil si acabas de empezar tu acercamiento a los lenguajes de programación. Es mejor empezar con los lenguajes clásicos como el C y después aprender el OOP (Object Oriented Programming%C3%B3n_orientada_a_objetos ) paradigma.
Si eres un ninja y quieres ir directamente al nivel más alto, puedes encontrar algunas referencias sobre el uso de Objetive C en los Apple's Frameworks .
¿Cuáles son las principales diferencias entre el desarrollo en Ordenadores y Móviles?
Quizás en un primer momento parezcan similares, pero son dos mundos completamente diferentes.
El desarrollo móvil requiere mucho cuidado con los recursos del sistema; Es muy importante gestionar el espacio de memoria, porque los teléfonos móviles y las tabletas aún no son tan poderosas como los ordenadores a pesar de que están evolucionando muy rápidamente.
El usuario quiere Apps rápidas y responsives (que se adapten a todos los dispositivos), por ello tienes que usar Multi Threading (multihilo en español) para reducir el tiempo de carga.
Necesitas tener algún conocimiento de conceptos asynchronous programming . Cuando creas una app, tienes que construir al mismo tiempo, la interfaz de usuario y un proceso de carga rápido para el contenido. Multi Threading te permite hacer una app que pueda descargar contenido en un segundo plano, y a la vez, diseñar el UI (user interface).
El desarrollo móvil requiere mucho cuidado con los recursos del sistema; Es muy importante gestionar el espacio de memoria, porque los teléfonos móviles y las tabletas aún no son tan poderosas como los ordenadores a pesar de que están evolucionando muy rápidamente.
El usuario quiere Apps rápidas y responsives (que se adapten a todos los dispositivos), por ello tienes que usar Multi Threading (multihilo en español) para reducir el tiempo de carga.
Necesitas tener algún conocimiento de conceptos asynchronous programming . Cuando creas una app, tienes que construir al mismo tiempo, la interfaz de usuario y un proceso de carga rápido para el contenido. Multi Threading te permite hacer una app que pueda descargar contenido en un segundo plano, y a la vez, diseñar el UI (user interface).
¿Necesito sólo habilidades técnicas?
Claro que no. Además, debes tener algunos conocimientos básicos en Diseño & UX (experiencia de usuario).
Durante el desarrollo, cómo te he explicado antes, también necesitas crear la UI e intentar desarrollar de un modo "amigable"- agradable para el usuario.
Ponte en los zapatos de tus usuarios, e intenta imaginar como ellos navegarían en tu app e intenta hacerlo de la manera más cómoda y agradable para ellos.
Por ejemplo, piensa en las diferentes maneras de interectuar con los dispositivos. Por ejemplo, usando el móvil no tienes ratón pero si una pantalla táctil. Además, las pantallas móviles son pequeñas, por lo que cuando creas una app móvil, tienes que usar a UX que sea completamente diferente de la que usas en el ordenador.
Durante el desarrollo, cómo te he explicado antes, también necesitas crear la UI e intentar desarrollar de un modo "amigable"- agradable para el usuario.
Ponte en los zapatos de tus usuarios, e intenta imaginar como ellos navegarían en tu app e intenta hacerlo de la manera más cómoda y agradable para ellos.
Por ejemplo, piensa en las diferentes maneras de interectuar con los dispositivos. Por ejemplo, usando el móvil no tienes ratón pero si una pantalla táctil. Además, las pantallas móviles son pequeñas, por lo que cuando creas una app móvil, tienes que usar a UX que sea completamente diferente de la que usas en el ordenador.
¿Por qué debo escoger iOS en lugar de otras plataformas?
Kantar U.S nos proporcionó algunos datos sobre la popularidad de iOS, el 43.5% de los dispositivos comprados durante el 2013 son iOS; en cambio, el 52.3% son Android. Asimismo, iOS se beneficia de un alto porcentaje de tráfico móvil y de una tienda de Apps que cuenta con más de 800.000 aplicaciones.
En un inicio, desarrollar para iOS puede parecer más difícil que para Android, pero no es cierto! De echo, Android está mucho más fragmentado que iOS.
Java es más popular que ObjC y para muchos desarrolladores es más fácil. Pero cuando aprendes cómo codificar con Obj, verás que no es tan difícil, y que los Apple's frameworks están muy bien proyectados por lo que desarrollar te resultará más sencillo.
Además, siempre encontrarás una gran variedad de documentación online (UIKit, ...).
En un inicio, desarrollar para iOS puede parecer más difícil que para Android, pero no es cierto! De echo, Android está mucho más fragmentado que iOS.
Java es más popular que ObjC y para muchos desarrolladores es más fácil. Pero cuando aprendes cómo codificar con Obj, verás que no es tan difícil, y que los Apple's frameworks están muy bien proyectados por lo que desarrollar te resultará más sencillo.
Además, siempre encontrarás una gran variedad de documentación online (UIKit, ...).
Un consejo para ti
Entre los muchos consejos que podríamos darte, queremos destacar uno en particular, el más importante:
¡No empieces a desarrollar con StoryBoards!
De acuerdo con Apple :
" Un storyboard es una representación visual del interface de usuario en una app iOS, muestra ventanas de contenido y las conexiones entre estas pantallas. Un StoryBoard está compuesto por una secuencia de escenas, cada una representa un "view controller" (vista controlador) y sus vistas; las escenas están conectadas por segue objects, que representan la transición entre las dos vistas"
Usualmente, los principiantes empiezan a desarrollar para iOS con storyboards, pero esto puede ser contraproducente porque aprendes como desarrollar usando un esquema. El problema es cuando quieres hacer alguna cosa más compleja que se sale del esquema, te encuentras con dificultades.
Aprendiendo a desarrollar sólo usando códigos, al menos limitando el uso del StoryBoard, incrementarás tu experiencia con los frameworks, ObjectiveC y el tiempo de ejecución. Esto te será de utilidad para cuando tengas que solucionar un problema. Una vez seas más experto puedes empezar a emplear SotoryBoard si crees que serás más rápido. En cualquier caso, pensamos que no ;)
¡No empieces a desarrollar con StoryBoards!
De acuerdo con Apple :
" Un storyboard es una representación visual del interface de usuario en una app iOS, muestra ventanas de contenido y las conexiones entre estas pantallas. Un StoryBoard está compuesto por una secuencia de escenas, cada una representa un "view controller" (vista controlador) y sus vistas; las escenas están conectadas por segue objects, que representan la transición entre las dos vistas"
Usualmente, los principiantes empiezan a desarrollar para iOS con storyboards, pero esto puede ser contraproducente porque aprendes como desarrollar usando un esquema. El problema es cuando quieres hacer alguna cosa más compleja que se sale del esquema, te encuentras con dificultades.
Aprendiendo a desarrollar sólo usando códigos, al menos limitando el uso del StoryBoard, incrementarás tu experiencia con los frameworks, ObjectiveC y el tiempo de ejecución. Esto te será de utilidad para cuando tengas que solucionar un problema. Una vez seas más experto puedes empezar a emplear SotoryBoard si crees que serás más rápido. En cualquier caso, pensamos que no ;)
Después de la lectura de este artículo deberías tener un poco más de conocimiento sobre el desarrollo de iOS, y sobre lo que necesitas para empezar a desarrollar una app por ti mismo.
Si tienes alguna cuestión y quieres más consejos, simplemente deja un comentario y estaremos encantados de contestar :)
Y si quieres aprender a crear una app para iOS de la mano de un experto, sigue escuchando ⬇️
Si tienes alguna cuestión y quieres más consejos, simplemente deja un comentario y estaremos encantados de contestar :)
Y si quieres aprender a crear una app para iOS de la mano de un experto, sigue escuchando ⬇️