Top iOS Developer resources
What and where should iOS developers read, watch, and listen to? Expert advice.
Liudmila Sukhinina, Senior Software Engineer EPAM, explains that before listing useful resources, it should be said that the best of them, as a rule, will be in English. Everything else is just a translation from the original language.
— I’m not telling you anything you don’t already know if I say that for both a beginner and an experienced iOS developer, the primary source of information is the documentation from Apple itself. You can find API links, articles, code, information about new Swift features, examples, documentation from WWDC, information about User Guidelines, and more.
— In second place, I would put the Swift.org resource. There is a lot of information about the Swift language itself, its specifics, best practices, how to work with it, and which features are better to use for what. You can also find links to the source code of the language itself, and see how everything works.
— In addition to the official documentation, the experiences and advice of other developers will be useful. One of the best places to find that real-world information is the site about Objective-C, Swift, and Cocoa — NSHipster. Everything is very clearly structured, with easy navigation by topic. Plus, there are great book recommendations.
— This is a website from Berlin technical experts about iOS and macOS development. You can find a lot of useful videos, books, and articles using various advanced techniques. They also feature releases about concurrent programming and debugging. In addition, they have written several books that definitely deserve attention.
— This is another extremely useful resource that focuses not only on iOS, but also on mobile development in general. It contains free step-by-step guides on various topics, with examples on GitHub, paid courses, e-books, and various articles on iOS, Android, and Flatter.
I will separately note: the book on algorithms and data structures for those who want to delve into this topic and who need a good resource; and the book for beginner iOS developers and those who want to move to a more advanced level.
Articles, books, and other sources
— The choice of application architecture is one of the most important stages of application development, since it determines how flexible the application will be in the future when making changes. It is extremely important at this stage to make as few mistakes as possible, so that dealing with the application will not be excruciatingly painful in the future. The choice of architecture depends on a number of factors that need to be considered. Here and here you can find articles about architectures that are popular in iOS development, an analysis of the pros / cons, and some conclusions based on the results of use.
Every iOS developer, somewhere along their professional path, encounters writing unit tests in one way or another. Therefore, the book iOS Unit Testing by Example will be extremely useful for working with the standard Apple framework XCTest.
If we talk about UI, we should note that, at the moment, Apple is actively promoting SwiftUI instead of the good old UIKit. The transition has not happened yet, and it is unlikely that it will happen anytime soon. So today, a developer is often required to know both frameworks. Follow the link for a tutorial with step-by-step illustrations and screenshots from the code.
After development, when you publish an application in the AppStore, many questions arise. Of course, Apple's official website has a lot of information on the topic — developer.apple.com/app-store/submitting. There is also another good step by step guide.
For those who want to go deeper and understand what happens under the hood of the code signing process, here is an article on how it works from the inside.
If you find it easier to process information in video format, there are a number of YouTube channels about mobile development (not only iOS):
For those who “learn with their ears,” podcasts are a good option:
— There is a lot of content for studying iOS development, and everyone can find a convenient format for consuming it. The key is motivation.