No cuentes las paginas
Esto se aplica a todos los objetivos que se propuso alcanzar, pero la primera vez que reconocí el verdadero valor de este consejo fue cuando me propuse crear una aplicación social, similar a la suya. Permítame contarle mi historia de cómo construí Spool y lo que aprendí.
Cuando inicialmente se me ocurrió la idea de Spool, una aplicación para compartir videos sociales, me desconcertó la idea de cuánto tiempo tomaría el aprendizaje del desarrollo de iOS, y mucho menos la creación de la aplicación en sí, así que reuní un poco de capital y tercericé el Aplicación a un “freelancer” en China. En pocas palabras, resultó que era más un “estafador” que un profesional independiente y me quedé con menos de la mitad de mis fondos en crédito en un sitio independiente que no quería tener nada que ver.
A medida que pasaban las semanas y, finalmente, los meses, mi idea seguía siendo solo eso, una idea. Finalmente, me di cuenta de que en el tiempo que había pasado ya podía haberme enseñado el desarrollo de iOS y lanzar mi aplicación. Felicidades Ya tienes meses por delante de donde empecé!
- Soy un desarrollador de bases de datos y quiero aprender algo nuevo, pero en mi empresa no hay margen para hacerlo. ¿Cómo puedo aprender y practicar algunos temas avanzados?
- Estoy aprendiendo un idioma que no habla mucha gente en mi área, ¿cómo puedo practicar el habla?
- Estoy teniendo más problemas para aprender React.js de lo que esperaba: ¿cuál es la mejor manera de aprender la biblioteca?
- Encuentro el cálculo demasiado vago para motivarme a hacer problemas de cálculo. ¿Cómo debo aprender cálculo para mantenerme motivado para hacer problemas basados en él?
- Me encanta la historia, y me va bien cuando analizo, pero no recuerdo los hechos, las épocas y los nombres después de unos días. ¿Cómo puedo aprender mejor la historia?
A partir de ahí, lo primero que hice fue comprar la Programación iOS de Big Nerd Ranch (Esto estaba en object-c ya que Swift fue lanzado recientemente). Personalmente, encuentro que aprender de un libro físico es mucho más efectivo. Recomiendo ampliamente los libros de Big Nerd Ranch, ya que ofrecen tutoriales increíbles para seguir y ejercicios al final de cada capítulo. Cada día abría el libro y, en lugar de determinar el número de páginas que debía completar, planeaba trabajar el mayor tiempo posible ese día. Literalmente, dejé de contar páginas. Esta fue la clave para entender completamente el material por el que pasé y, finalmente, desarrollar mi aplicación.
Cuando finalmente me sentí cómodo para comenzar a desarrollar mi aplicación, utilicé la misma técnica; no cuente las páginas (o en este caso los pasos / líneas de código). Manteniendo mis ojos en la tarea en cuestión, pude mantener una dedicación implacable incluso después de meses de desarrollo (Spool era bastante complejo. Volveré sobre esto más adelante). Esto no quiere decir que no haya establecido objetivos y plazos específicos. La clave es cada vez que comience a trabajar en su aplicación, enfóquese en la característica específica que está implementando o en el error que está solucionando. No se preocupe por el tiempo que le lleva terminar su aplicación o porque no tiene idea de cómo hacer X. Si lo hace, seguramente se sentirá desanimado e incluso puede decidir dejar de trabajar en conjunto. Recuerde que cada error que corrige y la característica que implementa es otro paso más cerca del lanzamiento.
De esta experiencia he aprendido mucho, y sigo aprendiendo mucho. Desarrollar una aplicación es un proceso continuo si planeas mantenerla relevante (acabo de terminar una gran actualización para simplificar Spool). Para ayudar a que su proceso de desarrollo sea menos difícil, aquí hay algunos consejos adicionales:
- Mantenlo simple. Prepárese para crear un producto mínimamente viable; solo incluya sus funciones más necesarias, pero tenga en cuenta cómo integrará las funciones adicionales más adelante.
- Coloque el flujo de toda su aplicación en papel. Haga esto una vez que tenga un buen conocimiento del desarrollo y la estructura de diseño de iOS (por ejemplo, MVC, diseño de base de datos).
- Utilice Parse para implementar su backend : lea la documentación y asegúrese de que comprende completamente cómo se almacenan y recuperan los objetos, luego diseñe su base de datos en papel y piense dónde y cuándo en su aplicación necesitará ciertos datos. Esto le ahorrará una inmensa cantidad de tiempo más adelante.
- Aprovecha las bibliotecas iOS de código abierto.
También usé una variedad de otros recursos que fueron extremadamente útiles para aprender sobre el desarrollo de iOS y crear Spool:
- iOS Developer Library – Un recurso sin fin
- El curso completo para desarrolladores de iOS 9 en Udemy: ideal para aprender cómo se implementan las características específicas de las aplicaciones comunes.
- Adobe Fireworks / Photoshop fue muy útil para editar imágenes, diseños, etc. para la interfaz de usuario.
- Y, por supuesto, desbordamiento de pila
La satisfacción de transformar una idea en un producto físico que otros a tu alrededor pueden disfrutar y beneficiarse es una sensación adictiva. Quédate con él y olvídate de contar las páginas!
Buena suerte y no dude en enviarme un mensaje para cualquier otra ayuda!