Important things that every iOS Developer should know + Book advise

Mammadowr
3 min readJul 21, 2022

In this material you will know what every iOS Developer should (or even must) know. Here I share with you general information and in future, I am planning to share detailed information almost about every single thing that is mentioned in this article.

  • Reactive Programming
    This is what you are gonna be asked during an interview and you will definitely come face-to-face with it during your career. So what you should know about reactive programming?
    - Learn the definition.
    - Learn how to implement it.
    - Learn RxSwift.
    - Learn Combine-Library.
  • Asynchronous Programming
    If you ever read Swift related book, you came across with the topic of Concurrency. I highly recommend to read this book if you haven’t done it yet. So, let’s go back to Async programming. Here is important topics that you should know about the topic:
    - Check async / await.
    - Understand Grand Central Dispatch (GCD) / DispatchQueues.
  • Networking
    Here is another important topic that you should know. When I write this article, I consider you as a junior dev. As a result of that, I would like to explain you now the definition of networking. To keep it simple — Networking is s about writing computer programs that talk to eachother over a computer network.
    What you should know to understand this topic?
    - URLSession
    - Moya (Library)
    - Kingfisher (specialized in image loading)
    - HTTP (how it works in general)
    - JSON (data format)
    - Encodable / Decodable
  • Caching
    Well, we have reached already the topic that is related to caching. If you do not know what is caching, here is simple explanation: Caching means storing the copies of frequently used data in cache memory so that we can access it faster. Cache memory is faster to access. Ok, sounds good, but what should you know about caching?
    - Databases
    There are three options for this. First is default which is SQLite. Second is native iOS which is CoreData. And the third is alternative which is in this case RealM which I would recommend only for small projects.
  • Testing
    Testing part is the best part, because if you are able to test something, it means that you did good job! :)
    What you should know about testing?
    - Unit-Tests (XCTest)
    - Test-Driven-Development
    - Behavior-Driven-Development (Quick, Nimble)
  • Quality Assurance
    QA is one of the important and last but not least department in Programming. But here we will not talk about this department or their works. If you are working at the Company for some project, then you will definitely need to pay attention the quality of your code. What you should know about it? How to do it?
    - Learn Swiftlint and or Swiftformat which helps to keep up with style guidelines and good formatting.
  • BONUS BOOKS
    First of all, I strongly advise Apple’s official books which are completely FREE in iBooks. Check the list below, and if you still did not read some of them, do not waste time, and start reading! :)
    1. The Swift Programming Language by Apple Inc
    2. Clean Code by Robert C. Martin
    3. Clean Architecture by Robert C. Martin
    4. Clean Agile by Robert C. Martin
    5. Clean Coder by Robert C. Martin

Basically that is all from my side. If you like my articles, if you think that they are useful, you can click on “Follow” button and share articles to reach more people. :)

--

--

Mammadowr

I speak 6 human and 5 programming languages. 🥳  iOS Developer. To support me: https://www.buymeacoffee.com/mammadowr8 ☕️