Excelente pregunta Creo que la capacidad más importante para dominar cualquier campo es la capacidad de responder sus propias preguntas, junto con el conocimiento, la curiosidad y el falibilismo que lo llevarían a seguir preguntándoles.
El peligro en herramientas de alto nivel como el cacao es mágico . Tome los enlaces, por ejemplo: a menudo se introducen en cursos absolutamente introductorios que pueden demostrar cómo construir una aplicación respaldada por una base de datos completamente funcional con cero líneas de código. El problema es que también estás construyendo esa aplicación con cero comprensión .
Esto lleva a los desarrolladores a sentir que se están cayendo de un precipicio tan pronto como algo no funciona o que necesitan hacer algo que no es obvio de inmediato. Pero eso no es culpa de los enlaces, per se: creo que la clave del éxito es tratar este tipo de abstracciones como la automatización de un proceso que entiendes , en lugar de herramientas que hacen que la magia suceda .
- ¿Qué significa 'Permitir acceso completo' en la aplicación de teclado iPhone IOS 8?
- ¿Cuáles son los diferentes enfoques de diseño / consideraciones de UX entre el diseño de una aplicación para iPad y una aplicación para iPhone?
- ¿Hay alguna forma de descargar e instalar las versiones anteriores de aplicaciones de iOS en un iPad anterior que solo sea compatible con iOS 5.1.1? Alternativamente, ¿hay alguna manera de forzar la actualización de esta cosa a una versión más nueva de iOS?
- ¿Cuáles son buenos ejemplos de uso de enlaces profundos en iOS 9?
- ¿Estás buscando una empresa de desarrollo de aplicaciones para iPhone?
Cuando estoy atascado, el primer paso es la generación de preguntas. Sospecho, entonces, que mi habilidad naciente se basa en una comprensión cada vez mayor de cómo funciona toda la pila, desde UIView hasta transistor. Esa comprensión me ayuda a hacer preguntas más perspicaces y proporciona respuestas para las más simples.
Decir que algo es lento. Una buena pregunta es a menudo “¿cómo debe funcionar esto?” Por ejemplo: supongamos que su aplicación suelta marcos cuando agrega sombras. Bien, entonces las sombras son lentas. ¿Por qué son lentos? Se quedan atrás de su contenido sin importar su forma, por lo que el sistema debe determinar la forma de su contenido (¿cómo? Oh, supongo que un fragmento en un búfer de un canal …), y luego hacer algún tipo de desenfoque. Pero supongamos que la forma de su contenido es simple, como un rectángulo. Puede pre-renderizar la sombra en una imagen y dibujarla con un UIImageView (así es como funcionan las sombras de UIScrollView). O si la forma es algo dinámica, tal vez pueda expresar sus parámetros al sistema. ¿Dónde estás poniendo la sombra? En el CALayer, entonces mirarías CALayer.h y encontrarías la propiedad “shadowPath”, y así sucesivamente.
No se deje limitar por lo que proporcionan los marcos: en su mayor parte, solo está haciendo un trabajo ocupado para usted. Puedes hacer el trabajo pesado tú mismo si es necesario. Déjate caer en la pila de capas de abstracción, luego construye una nueva para ti. Si no comprende cómo funciona la siguiente capa hacia abajo, abra la documentación. Si las respuestas no están allí, están en la siguiente capa hacia abajo, o hay un error en la documentación.