linkedin

Así que quieres escribir aplicaciones para el iPhone, ¿eh?

*-Escribo aplicaciones para iPhone

*Así que quieres que te paguen por escribirlas, ¿eh?

-Sí ¡Dame, dame!

Una conversación familiar, un tropo universal, pero que presenta un enigma. Después del entrenamiento básico, ¿qué sigue?

Digamos que usted:

  • Has aprendido Objective-C
  • Has practicado haciendo un par de aplicaciones
  • Entiendes MVC
  • Puedes moverte por la documentación de Xcode sin problemas

Ahora has empezado a pasar de desarrollador en formación a desarrollador y quieres trabajar con una agencia digital desarrollando aplicaciones que la gente usará. Ahhh… pues eso es un cacao de otro sabor. Los siguientes son mis consejos para ayudarte en tu camino.

1. Servicios web

Desgraciadamente, no hay forma de evitarlo. De hecho, es tan importante que podría incluir los puntos 1 a 3 de esta lista, pero es redundante y la redundancia es molesta (y redundante). Las aplicaciones sólo para clientes están bien, son útiles y pueden hacer ganar dinero. Pero no es la esencia del desarrollo de aplicaciones. Las aplicaciones que se comunican con un servidor son imprescindibles en tu cartera. Idealmente, usted debe tener ejemplos de hablar con un servidor PHP / MySQL en JSON y / o XML a través de servicios web RESTful. Sí, admito que esto es desalentador, pero es obviamente superable o nadie sería capaz de hacerlo, ¿verdad?

CÓMO APRENDER:

Lo primero y más importante es ver este tutorial que tiene todo el sentido por cortesía de un gran equipo de autores. NO ESCATIMES EN LA PARTE DE PHP. Aunque nunca escribas tus propios servicios web en el servidor siempre estarás agradecido de saber que puedes hacerlo.

También querrás leer este artículo que trata específicamente sobre el uso de ASIHTTPRequest, es decir, el amigo del principiante en el aprendizaje de los frameworks de red de terceros.

*-¿Por qué tengo que aprender redes de terceros? ¿No debería aprender los frameworks de Apple?

Voy a adoptar una postura con la que algunos no estarán de acuerdo: No. Al menos no al principio. NSURLRequest y NSURLConnection no son fáciles de usar. Si lo fueran, la gente no habría creado media docena de alternativas a su API. A estas alturas del juego, es más importante que aprendas a comunicarte de un lado a otro que entender cómo funciona a nivel de lenguaje y ASIHTTPRequest es genial para eso.

(***NOTA: Si está cargando ASIHTTPRequest y sus archivos en una aplicación que utiliza ARC, asegúrese de desactivar ARC en esos archivos por:

a) Ir a Targets -> Build Phases -> Compile Sources

b) Resaltando todos los ficheros .m que empiezan por ASI (así como cualquier otro de ASIHTTPRequest como Reachability.m)

c) Pulsar Intro

d) Escribiendo -fno-objc-arc

e) Asegurándose de que poblado el lado derecho para cada uno.

Para obtener más información acerca de la desactivación de ARC por favor consulte este útil artículo.

Practique POSTing y GETing cadenas y números, así como la carga y descarga de archivos.

Practicar la codificación y el análisis sintáctico de JSON y XML.

Practicar la creación de un servidor en la nube para gestionar sus servicios.

Eso cambiará tu forma de pensar sobre la arquitectura de tus aplicaciones.

SIN EMBARGO, trabajar con ASIHTTPRequest no es suficiente conocimiento por sí solo. Debes aprender otros frameworks de networking de terceros. El siguiente paso obvio es AFNetworking.

CÓMO APRENDER: Lea mi anterior entrada de blog titulada “Programación iOS - Conversión de ASIHTTPRequest a AFNetworking” que explica de forma clara y sencilla cómo pasar de uno a otro.

Una vez que le hayas cogido el truco a esto de las redes de chicos grandes también habrás practicado bloques y algo de threading. Ahora puedes aprender otro kit como el MKNetworking Kit o RESTKit. Ambos están de moda ahora mismo y tienen diferentes enfoques. RESTKit está especialmente orientado a la integración con CoreData, lo que nos lleva al siguiente punto de nuestra lista.

2. CoreData

Hay 4 formas comunes de persistir datos en el iPhone:

a) NSUserDefaults

**b) E/S de archivos

**c) Archivado

**d) Datos básicos

En opinión de este autor, probablemente puedas ignorar a, b y c, al menos al principio. A menudo se enseñan como la forma de aprender a persistir, pero no veo por qué, ya que son bastante anticuados en comparación con CoreData. Sé que CoreData tiene una curva de aprendizaje pero si estás listo para persistir, estás listo para CoreData.

CoreData es la forma que tiene Apple de almacenar y organizar los datos que perduran entre sesiones. Y, desde la introducción de iOS 5, se ha hecho aún más fácil de usar gracias a un nuevo tipo de archivo que lo almacena llamado UIManagedDocument. Este archivo está lleno de funciones y un complicado backend, pero no necesitas entenderlo todo. Puedes ir aprendiendo cosas sobre la marcha.

CÓMO APRENDER: CÓMO APRENDER IOS 11 Y SWIFT PARA UNA CARRERA COMO DESARROLLADOR DE IPHONE. Este hombre, Paul Hegarty, es básicamente el maestro de la educación en desarrollo iOS. Escucha cada palabra que dice y haz que tu código sea como el suyo.

3. Trabaja con un diseñador

Tienes que trabajar con un diseñador. El desarrollo real es una colaboración entre la idea, el código y el diseño, y si no tienes un ejemplo de implementación del front-end de otra persona, no puedes saber cómo te iría en esta tarea. Normalmente, un diseñador crea composiciones de cada pantalla de la aplicación y se las entrega a los desarrolladores en formato .ai o .psd (hay que tener en cuenta que se utiliza el software de Adobe, que no es barato, pero que también es necesario para los desarrolladores). A continuación, el desarrollador entra en esos archivos y extrae las piezas que necesita según sea necesario. Es mucho más fácil cortar, recortar y ajustar los bordes, botones y fondos por tu cuenta mientras revisas las capas, que recibir archivos .png de elementos individuales.

(***NOTA PARA LOS DISEÑADORES: No pongas cosas en capas ocultas en los archivos .psd. Es probable que el desarrollador no lo vea. Si tiene un mensaje de error o una segunda versión de la vista, póngalos en sus propios archivos .psd. Es por tu propio bien)

CÓMO APRENDER: Encuentra un diseñador y trabaja con él.

-Pero no es tan sim-

Sí, realmente es así de sencillo. Hay gente que quiere practicar el diseño tanto como tú quieres practicar el desarrollo. Entra en Facebook, LinkedIn, Craigslist y Tumblr, ármate de valor y publica cosas en StackOverflow o en cualquier otro sitio donde encuentres gente Puede que te sorprendas. Y cuando los encuentres, REPITE SU VISIÓN EXACTAMENTE. No es tu trabajo rehacer, reinventar y reinterpretar, pero SÍ es tu trabajo hacer que el diseño se vea exactamente como es en el ordenador. Si lo consigues, los diseñadores te adorarán. ¿Por qué es importante? Porque los diseñadores son la cara de las aplicaciones. Es lo que se ve y hoy en día hay una gran saturación en el mercado de las aplicaciones. Muy pocas aplicaciones hacen algo que otra aplicación no haga y la forma en que el usuario las elige es todo diseño, es decir, lo que tiene mejor aspecto y resulta más intuitivo. Eso significa que tenemos que esforzarnos más para implementar animaciones, vistas de tabla personalizadas, botones extravagantes y gestos exóticos (siempre que todo sea intuitivo).

Conviértete en un fanático del diseño. No tienes que tener talento para el diseño, sólo dedicación a la visión. Todos los desarrolladores de iOS tienen que hacer también cosas de front-end; el desarrollo no está segregado por front-end y back-end como ocurre con otras tecnologías. Abogar por un buen diseño demostrará que te tomas en serio la experiencia del usuario, QUE LO ES TODO.

4. Practicar las mejores prácticas

Necesitas que te vean usando bien MVC y OOP. Cierto. Pero la cosa no acaba ahí.

** a) No uses variables de instancia. Utiliza @propiedades**

b) @sintetiza tus @propertys con una variable subrayada. p.e.:

@synthesize fantastiButton = _fantastiButton;

PERO NUNCA ACCEDAS DIRECTAMENTE a _variable.

c) Utiliza API privadas en tus clases.

e) Deja de nombrar las cosas con etiquetas de apertura. e.g.:

arg_interestingInt <- MAL

t_interestingString <- BAD

EN SU LUGAR:

f) NameThingsWithProperLongEasyToReadNames.

g) Crea tus propias NSNotifications y @protocolos

h) ^{ useBlocks; }];

i) #define useMacros 1

j) Usar instanciación perezosa. (Esto también se aprende mejor en el curso de Stanford en el primer episodio de otoño de 2011.)

k) Usa storyboards y ARC. Son nuevos y son increíbles.

**l) // No comentes demasiado. Su código debe ser claro por sí mismo

y finalmente:

m) self.remembers.to.use.dot.notation

5. Crear una aplicación para iPad

el iPad tiene más chispa que el iPhone. Está muy extendido y no requiere servicio de telefonía móvil. Se está convirtiendo en el ordenador de nuestro tiempo. Te pedirán que desarrolles para él.

-¿Cuál es la diferencia?

Para ti puede no ser tan diferente (el mismo cacao de siempre) pero para el que no es desarrollador iOS sí lo es. A menudo te toca entrevistar a alguien que no es desarrollador, y mucho menos en iOS, y el aspirante que ya tiene una aplicación iPad en funcionamiento en su haber se ve mucho más fuerte que el que no.

6. Sizzle-Frameworks

-¿Huh?

Es importante reflexionar sobre cómo mostrar tu buen trabajo. Las ventas son espectáculo y algunas cosas son más emocionantes que otras.

a) Trabaja con vídeo.

b) Trabajar con foto.

c) Haz esto con AVFoundation (que puedes aprender en el curso de Stanford en su demo extra llamada “Introducción a AVFoundation” con Salik Syed).

d) Conoce algo de Core Animation.

**e) Incluye al menos un elemento de interfaz de usuario personalizado o de terceros en una de tus aplicaciones de demostración

7. ¡PRACTICA, PRACTICA, PRACTICA!

¿A qué esperas? Estas cosas no se aprenden por ósmosis; requieren práctica y paciencia, y en una agencia digital hay que ser rápido. Eso no se consigue con una experiencia superficial.

8. Tener aplicaciones en la AppStore

Te juzgarán por ello. Aunque no sea la aplicación más emocionante del mundo, no importa, demuestra que puedes seguir adelante. Poner una aplicación en la AppStore es una de las mejores cosas que puedes hacer por ti mismo.

9. Sé amable

No olvides que, al fin y al cabo, a la gente le gusta trabajar con gente simpática :) Puede que seas una superestrella de iOS, pero sigue siendo fundamental que te presentes como alguien con quien a los demás les gusta trabajar.

TAGS
¿Necesita más ayuda?

¿Crees que podría ser el momento de traer ayuda adicional?

Door3.com