Lo primero que querrá hacer es aprender un poco de C. Objective-C es un superconjunto de C, lo que significa que cualquier programa C válido es un programa Objective-C válido, pero no al revés. Si bien es posible que no escriba mucho C puro al escribir sus primeras aplicaciones de iOS, aprender los conceptos básicos de C (incluida la administración de memoria, la escritura y el proceso de vinculación) ayudará a que su transición de Javascript a Objective-C sea mucho más fluida. No necesita convertirse en un experto en C incondicional ni nada de eso, pero desarrollar una comprensión básica de la “C” en “Objective-C” le dará una base sólida sobre la cual construir.
A continuación, querrá pasar a la parte “Objetivo” de “Objective-C” aprendiendo un poco sobre la programación orientada a objetos. La herencia de prototipos de Javascript (como se explica en Herencia y la cadena de prototipos) es un poco diferente al sistema de herencia de Objective-C (más tradicional), por lo que recomiendo leer la buena introducción de Apple: Programación orientada a objetos con Objective-C. Ese documento tiene algunos ejemplos de código en C, pero afortunadamente ya aprendimos todo sobre eso, así que no hay problema.
Ahora, puede juntar “Objetivo” y “C” aprendiendo algo de sintaxis de Objective-C. Apple tiene una guía bastante buena (Programación con Objective-C), por lo que recomiendo comenzar allí. Una vez que haya pasado por eso, inicie XCode y escriba algunos programas de línea de comandos Objective-C más pequeños seleccionando Aplicación> Herramienta de línea de comandos en el nuevo cuadro de diálogo del proyecto XCode. Siempre me ha gustado hacer juegos de cartas simples como Blackjack, Poker o Go Fish (sin GUI) cuando aprendo un nuevo idioma, ya que tienden a involucrar la implementación de varias clases diferentes sin ser demasiado complejo, pero realmente cualquier programa de línea de comandos hacer.
- ¿Cuál es la mejor estrategia para que un cliente tranquilo haga un seguimiento de los clientes en línea?
- ¿Cuáles son algunos de tus algoritmos favoritos?
- ¿Qué es el inicio de sesión único web?
- ¿Qué hace que un ingeniero de software tenga éxito?
- ¿Los problemas dados en CodeChef, TopCoder, etc., no están destinados a estudiantes de ECE que aspiran a una carrera en la industria del software?
Muy bien, ahora que has terminado con eso, es hora de hacer algunas aplicaciones. Una vez más, la documentación de Apple se encuentra en el embrague con documentos increíbles como Comenzar a desarrollar aplicaciones iOS hoy: Configuración, Acerca de los conceptos básicos de programación para Cocoa y Cocoa Touch, y la Guía de programación del controlador de vista para iOS. Tanto Harvard (Página principal – Informática S-76) como Stanford (Desarrollo de aplicaciones para iPhone CS 193P) también tienen excelentes clases disponibles en línea de forma gratuita. Sin embargo, creo que la mejor manera de aprender es hacerlo, por lo que recomendaría crear algunas aplicaciones pequeñas para iPhone como Tic-Tac-Toe, Pong o un lector de noticias / RSS para su sitio web favorito. Implementar algo que obtenga datos de la API de algunos sitios web también puede enseñarle mucho sobre cómo crear aplicaciones más complejas.
Una vez que tenga lo básico, ¡depende de usted! El SDK de iOS tiene muchas características geniales, así que explore lo que considere interesante. Algunos documentos que he considerado especialmente útiles incluyen la Guía de programación de ubicación y mapas, la Introducción a los tipos de animación y la Guía de programación de tiempo, y la Guía de programación de OpenGL ES para iOS (aunque no para los débiles). Sería negligente si no mencionara también las Pautas de interfaz humana de Apple (Diseño para iOS 7), que es una lectura bastante esencial si desea hacer una aplicación de iOS con una gran UI / UX. Si tiene una membresía de desarrollador de Apple, le recomiendo hojear las conversaciones de WWDC que también parecen particularmente interesantes. También vale la pena pasar un tiempo para comprender realmente los patrones de diseño de iOS comunes como MVC (Modelo-vista-controlador), delegación (Patrón de delegación), KVO (Guía de programación de codificación de valor-clave). Tener una comprensión firme de estos conceptos realmente puede ayudarlo a llevar su código de Objective-C al siguiente nivel. Finalmente, recomiendo leer los blogs de programación de iOS tanto como puedas para mantenerte al día con lo último y lo mejor; son una gran fuente de consejos y trucos útiles independientemente del nivel de habilidad. Algunos de los que más me gustan incluyen NSHipster, Cocoa with Love y Tutoriales para desarrolladores y jugadores de iPhone / iOS.
¡Y lo más importante, diviértete! La sintaxis de Objective-C es un poco … diferente, ¡pero dale un poco de tiempo y crecerá en ti! (Ojalá.)