Bonne question !
Essayez l'une de ces idées :
- Plongez-vous dans un framework. Il suffit de télécharger votre framework ou bibliothèque préféré et de commencer à lire le code. De haut en bas, essayez de comprendre ce qui'se passe. Où commence-t-il ? Où est-ce qu'il saute ? Quel est le résultat ? Voyez si vous pouvez comprendre la situation dans son ensemble. Je me souviens avoir découvert que les méthodes d'Alamofire'sont liées au cadre, et non à une classe ou à un singleton. C'est passionnant !
- Apprenez un acronyme fou chaque jour. Non pas parce qu'ils'sont si importants, mais parce qu'ils'sont si nombreux. S'améliorer dans votre métier signifie que vous devez trouver de nouvelles choses, et les appliquer à ce que vous savez déjà. En combinant ce que vous savez avec ce que vous ne savez pas encore, vous créez de nouvelles idées. Une liste pour vous aider à démarrer : TDD, BDD, ORM, MVC, MVW ...
- Apprenez à connaître le langage. Utilisez-vous déjà Swift ? Il possède de nombreuses fonctionnalités élégantes, comme les closures, les génériques, la gestion des erreurs, etcetera. Tout comme le langage est un composant, l'IDE l'est aussi. Swift s'exécute en fait à l'intérieur d'un " runtime " -- qu'est-ce que c'est ? Découvrez comment cela fonctionne.
- Faire travailler ensemble un couple de bibliothèques. Je pense que c'est l'une des caractéristiques agréables d'un nouveau langage comme Swift : une grande quantité de bibliothèques sont lancées chaque jour. Ces bibliothèques sont nouvelles, et elles se développent parmi d'autres bibliothèques. Les auteurs essaient d'intégrer leurs bibliothèques avec d'autres, par exemple, Alamofire fonctionne très bien avec SwiftyJSON. Voyez si vous pouvez trouver un moyen de travailler avec ces 2 bibliothèques, et de les combiner dans votre code. Votre objectif est de réduire le nombre de lignes de votre code's, et de rendre les lignes plus élégantes, plus descriptives et plus performantes.
- Apprenez à savoir comment les choses ne fonctionnent pas's. La création d'applications iOS a une longue histoire. Avez-vous déjà entendu parler de l'ARC ? Probablement pas, parce que vous'êtes tellement habitué à l'utiliser. Lorsque j'ai commencé à créer des applications, je devais conserver et libérer toutes mes variables et instances manuellement. Quelle horreur ! Mais ... et si vous essayiez d'entrer dans les profondeurs de la gestion de la mémoire ? Ou les droits des applications, ou le redimensionnement automatique (prédécesseur de la mise en page automatique). Ce'n'est pas très productif, mais cela élargit votre métier (et c'est probablement amusant aussi).
- Travailler pour un vrai client. Obtenez un organisme à but non lucratif sur la ligne et demander si vous pouvez construire une application pour eux. Les entreprises et les applications sont deux mondes très distincts. Vous rencontrez des problèmes comme : mon client veut XYZ, mais je ne peux pas le construire. Que dois-je faire maintenant ? Dans le meilleur des cas, vous gagnez de l'argent. (Mot de conseil : si vous'êtes bon à cela, ne le faites jamais gratuitement.)
- Écrivez une bibliothèque vous-même. Cela peut être n'importe quoi : un outil, un composant intelligent, un tas d'utilitaires. Mettez-le sur GitHub, commencez à parler à vos pairs, faites-leur voir votre code et recevez des commentaires à son sujet.
- Voyez le projet Euler ou Interview Cake. Combinez votre compétence en programmation avec les mathématiques, les structures de données, les algorithmes -- assez pour apprendre.
- Enseigner aux autres comment coder. J'ai tellement appris en enseignant, à partir des questions que les gens me posent. Dans de nombreuses occasions, je n'avais'même pas pensé à la substance qu'ils demandent, il est venu naturel pour moi. En d'autres occasions, j'ai appris des erreurs dans ma propre compréhension, parce que j'avais mal expliqué le sujet. De nombreux enseignants professionnels vous le diront : enseigner est l'apprentissage ultime.
Juste une chose : apprendre est une chose complètement différente de construire. Vous pourriez apprendre toute votre vie et ne pas en faire un iota. Mon conseil : appliquez ce que vous apprenez, tous les jours. Construisez de vrais projets ! La seule façon d'apprendre à construire des applications complexes, c'est de construire des applications complexes.
Laissez-moi un mot si vous'recherchez une ressource d'apprentissage spécifique, j'en ai des tonnes :-).
Bonne chance!