inflearn logo

Allen iOS App Development (Learning UIKit from Fundamentals by Building 15 Apps) - Up to MVVM

Building a solid foundation to become a strong junior iOS developer. This is a basic iOS programming course where you learn by building 15 apps. (I will teach you how to catch the fish.)

(5.0) 24 reviews

476 learners

Level Basic

Course period 12 months

iOS
iOS
iOS Autolayout
iOS Autolayout
MVC
MVC
MVVM
MVVM
UIKit
UIKit
iOS
iOS
iOS Autolayout
iOS Autolayout
MVC
MVC
MVVM
MVVM
UIKit
UIKit

Reviews from Early Learners

Reviews from Early Learners

5.0

5.0

moonkey

88% enrolled

When developing, what is really important is not simply memorization, but understanding why it works that way. This lecture will help you understand in depth how it works internally in detail and 'why' it should be written this way. If you understand basic Swift grammar, I recommend you listen to it right away.

5.0

dldmswo1217

96% enrolled

I've been working on Android for over a year, and I wanted to work on iOS, so I started listening to this, and I think it's a really good lecture. It's really easy to understand because you explain how it works internally with examples. It's really the best!!! I listened to the lectures for a week, except for sleeping and eating, and got about 70% of the course. I'll definitely finish it and get a job as an iOS developer!!! Thank you, Alan, for making such a great lecture.

5.0

ChangHa Choi

90% enrolled

⭐️⭐️⭐️⭐️⭐️ I'm leaving an additional star because five stars are not enough. This is the best lecture. The concept is explained in detail and easy to understand. I liked that difficult concepts such as the delegate pattern, MVC pattern, synchronous/asynchronous, MVVM pattern, and dependency injection were explained in an easy to understand way. I couldn't find a good explanation of similar concepts in Android, so thank you for helping me grasp the basic concepts.

What you will gain after the course

  • Basics of iOS App Development

  • Making iOS Apps - Creating 15 Apps

  • How apps are made

Learn UIKit by building 15 apps!
Would you like to take a course that's different from the very foundations? ☺️


UIKit, learn exactly how to catch the fish 🐟

When I first started studying iOS, most domestic lectures were follow-along style. Rather than understanding the basic principles, there were many rote-learning lectures that said, 'This is just how it is. It works this way if you follow along, so just follow it.' However, I always had doubts about whether it was right to blindly memorize things without understanding the principles. And because my foundation was lacking, I even started to think, 'Is coding originally this difficult?' and 'Is there no choice but to memorize everything unconditionally?'

As I gained a lot of experience in the field, watched several overseas lectures, read books, and went through many domestic courses... after experiencing so much and going through a process of trial and error, I finally realized that there is a reason behind every line of code.

And I began to see the internal mechanisms at work. Once I understood the principles of how all code operates, I was able to apply that knowledge and think of alternative ways to implement code. As I understood things one by one, building apps and studying became much more enjoyable. I wanted to create a lecture that could fundamentally resolve those trial-and-error experiences of mine.

With that, I created this course with the goal of making a lecture that serves as a bible for iOS app development that aspiring new iOS developers can easily access. This course is the same one I provide for free as a follow-up to those who take my Grammar Boot Camp (2 months) course. However, I received many requests for its release, and knowing that many people struggle with app development, I decided to release the app-building portion separately.

(This also means it is a lecture already verified by many people. My bootcamp students have already released numerous apps after watching this lecture (Link to collection of student-released apps: https://rb.gy/ijdlr), and hundreds of them have found employment as junior iOS developers.)


"Awakening to the principles"
Therefore, I believe the most important thing is to progress to a level where you can build apps on your own, even without me. I cannot say that taking only this lecture will equip you with all the knowledge needed to get a job as a junior iOS developer, but

what is clear is that I can reduce your initial trial and error and provide a perfect sense of direction. In other words, I am confident that I can bring you to a "level where you can now catch fish on your own." Under the premise that 'There is a reason for every line of code,' I will help you build solid fundamentals in iOS programming.

Additionally, after completing the course, I will recommend further topics to study to help you become a junior iOS developer.


Building a solid foundation for aspiring iOS developers!

Understanding the
basic principles of how an app is built!

Level Up to the point of releasing a basic app!

📢 Please check before taking the course!

  • This course does not separately teach Swift syntax. Please note that you must have a basic understanding of Swift syntax to take this course.
  • This course has a 12-month enrollment period limit. Please check before enrolling.

Unique Features of This Course ✨

#1.
Solidify the basics

With over 50 hours of content, this course helps you understand the principles of how apps are built through UIKit. PDF materials and code resources are also provided.

#2.
Creating UI with Code

This is the first lecture among current domestic courses to cover building UIs with code instead of Storyboards.

#3.
Kind and
detailed explanations

This is a course that covers everything from the app lifecycle, view controller lifecycle, and internal mechanisms of the drawing cycle to networking theory and concurrency programming theory. We help you understand intuitively using illustrations and diagrams.


Recommended for these people 🙋‍♀️

Aspiring developers who find it difficult to
build iOS apps

Those who lack an understanding of the Delegate Pattern or TableView

Those who lack an understanding of MVC/MVVM architecture

Those who struggle with asynchronous processing and networking and parsing

Juniors who lack understanding of UIKit and basic frameworks

Aspiring iOS developers who want to try writing UI in code


What you'll learn 📚

iOS Framework

  • Label, Button, ImageView, TextField, TextView, Slider, StackView, Alert
  • Navigation Bar, Tab Bar, Search Bar, Notification, Picker View, Gesture, Animation Processing
  • TableView / CollectionView (Screen transitions in TableView and CollectionView)
  • Screen Transitions and Data Transfer (Code, segue) - (Theoretical summary of the 4 methods of screen transition)
  • Networking (Using Open APIs to fetch and display data from a server)
  • Core Data (Saving data as files to preserve data even when the app is closed)


Design Patterns

  • A precise understanding of the structure of the delegate pattern (application of text fields),
  • Custom Delegate Pattern
  • Singleton Pattern

Architectural Patterns

  • Understanding MVC Architecture (Understanding Architecture Patterns)
  • Understanding MVVM Architecture (Practice converting MVC code to MVVM)


Theory

  • Internal Mechanisms (App Lifecycle, View Controller Lifecycle, Drawing Cycle)
  • Networking Theory (Understanding the HTTP Protocol) (Part of the Grammar Lecture)
  • Concurrency Programming Theory (Asynchronous Processing) (Part of Grammar Lecture)
  • Handling Date and Time / Result Type (Part of the grammar lecture)
  • The concept of Dependency Injection
  • Basics of Reactive Programming (Concept of Binding)


UI Implementation (To the level of being able to freely implement both methods)

  • Creating UI with Storyboards
  • Creating UI with Code (Fully understanding the difference between creating UI with Storyboards versus code, and utilizing both freely)


App Development Basics - Building 5 Apps




Advanced App Development - Building 10 Apps









Lecture Material Examples 📖




Launch projects from existing students📚


Frequently Asked Questions 💬

Q. To get a job, should I study UIKit or SwiftUI?

I can tell you with certainty that as of July 2022, you must study UIKit to get a job as an iOS developer. (If you don't believe my opinion, you can ask for opinions in a group chat room where 1,500 iOS developers are gathered.) As of now, the consensus among many people, including myself, is that "There are no companies that do not develop iOS with UIKit, but there are many companies that do not develop with SwiftUI." Therefore, if you want to get a job as an iOS developer (as of now), you must study UIKit. (If you want to get a job in about 2 to 2.5 years, I think it might be okay to study only SwiftUI, but even then, most (older) projects within companies are likely to be built with UIKit, so I believe you should still know UIKit to some extent.)

That's why, not just me, but all bootcamps are also teaching UIKit (so far). If a situation arises where SwiftUI becomes necessary for employment, I will, of course, release SwiftUI as the main course.

Q. I am a non-major and a complete beginner. Is it possible for me to take this course?

Yes. You can follow along easily enough. However, you must have a basic understanding of Swift syntax. If you find this course difficult, it is not because my explanations are complicated, but because you lack the fundamental knowledge of the syntax. Therefore, it doesn't have to be my course, but please make sure to take a Swift syntax course (or study it) before taking this one.

While running the Syntax Bootcamp, I have taught hundreds of beginners (with no prior coding experience), and after taking this course, they have gone on to release various apps and secure jobs. Unlike other courses on the market, I frequently hear from students who are grateful for the detailed explanations starting right from the basics.

What I can tell you is that this course explains things in more detail and more simply than any other iOS app development course released in Korea to date. Furthermore, this course focuses on understanding the principles of how an app is built, rather than being a follow-along style lecture.

If you find it difficult to decide, please watch the preview lectures carefully before making your decision.

Q. Is there a reason why I should take this course?

This course was designed for those who wish to get a job as an entry-level iOS developer. Therefore, it covers everything from the most basic concepts to fairly in-depth topics in iOS development. And the part I paid the most attention to is

1) How to approach app development (understanding problem-solving methods in app development), 

2) Understanding the logical structure of app creation to build the skills to create apps on your own without a course (so that it doesn't become a follow-along style course), 

3) It covers content such as the internal mechanisms of an app (App Life Cycle, View Controller Life Cycle, View Drawing Cycle) that a junior iOS developer must know but are not explained in other lectures,

4) I will broaden your framework of thinking by showing you several examples of different approaches when implementing something.

5) I have structured it so that you can improve your practical skills by refactoring existing projects into the MVC pattern or by rebuilding UIs originally made with Storyboards using code.

 

If you build a solid foundation based on these contents, I have no doubt that you will become a junior iOS developer with truly strong fundamentals. If you've been tired of lectures where you just follow code without understanding, now is the time to release your own apps based on full comprehension and easily cross the threshold into employment.

Taking this course doesn't mean you'll instantly have the perfect skills of a junior developer to get hired, but after completing it, you'll be able to easily understand any other course (even those with poor explanations or follow-along styles). I am confident that this course will build a solid foundation for you to that extent.

Additionally, after completing this course, we provide a recommended list of further courses that would be beneficial for your employment.

Q. Why is there a limit on the enrollment period?

This course has a limited enrollment period of 12 months.

This is because we are confident in the course content and want only those who are committed to studying hard to enroll. The content related to building this app is structured so that it can be fully completed within 1-2 months. A 12-month period is more than enough to review the material 5-6 times, and since lecture materials are also provided, you can review the code and resources at any time.

If I provide lifetime access, there will be no pressure regarding the deadline, and progress will inevitably slow down. I hope you finish the course quickly and successfully land a job.^^

Q. Why is the course price so expensive?

On average, courses released on Inflearn seem to be priced at around 10,000 KRW per hour of running time. Compared to a running time of over 50 hours (excluding course introductions and job-related content), I don't think this is an expensive price at all. In fact, it is a very low price. Furthermore, considering the content that isn't explained in any other courses—such as networking, theoretical explanations of concurrent programming, and internal mechanisms (drawing cycles)—I believe it is offered at a very affordable price relative to the course content.

One thing is for certain: I promise to provide a higher quality course than any other course released in Korea to date (as of July 2022). Take this high-quality course and get a job as a high-earning iOS developer with a solid foundation. (I am confident that no matter which bootcamp or academy you go to, you won't find a course that explains things as detailed and kindly as this one.)


A word from the instructor 📌

Creating a lecture of about 50 hours requires at least 6 months of planning and effort. I put in a lot of time and deep thought to create a high-quality course. Just as you hope to get hired with a high salary as a reward for your hard work, I ask that you make a fair purchase for the lectures I have put so much effort into providing. That way, I can continue to repay you with even better lectures through extensive research. (I am confident that this course is worth more than lectures priced at over 1 million won at other bootcamps, but I am trying to set the price much lower than I originally planned, always considering the position of students thinking about employment. T.T)

If you are in a situation where payment is truly difficult due to circumstances such as family finances, please do not hesitate to email us at we.love.code.allen@gmail.com. We will provide you with an additional discount coupon (that can be issued by the instructor) so that you can purchase the course at a more affordable price.


Recommended for
these people

Who is this course right for?

  • Those who have mastered the basics of Swift syntax

  • Those who want to try making an iOS app

  • Those who are considering a career as an entry-level iOS developer

Need to know before starting?

  • Swift Syntax (Cannot take the course without a basic foundation in Swift syntax)

Hello
This is allen

7,615

Learners

755

Reviews

311

Answers

5.0

Rating

7

Courses

I'm Allen, an iOS Developer.
https://www.youtube.com/@allen_ios

"Knowledge that is accurately understood must be easily explainable in one's own words." is my motto.

Therefore, I want to be a developer who can share knowledge in a language anyone can understand by simplifying the trial and error I experienced while studying.


I am not interested in creating courses that only teach easy topics superficially in a short amount of time.
While such courses can be churned out quickly, I believe that ultimately, "growing into a good developer" requires a solid foundation of theoretical knowledge.

Rather than just an easy course, my goal is to teach even the difficult concepts that one
must know to become a good developer (a developer who can grow continuously) as easily and intuitively as possible.
Thus, my objective is to build a foundation that allows you, not me, to contemplate and think about the "WHY" yourself.

Just as I strive to become a better developer tomorrow,
I want to convey the things I have pondered in great depth.

 

I believe that repeatedly failing interviews or being unable to express even simple concepts in your own words means you do not have a precise understanding of them. On the contrary, I believe that one can grow rapidly only when they have a "solid foundation" in basic concepts and CS.


👇🏻For inquiries, please contact me at the email address below.

we.love.code.allen@gmail.com


Language: Swift, Python, Java, C#

More

Curriculum

All

172 lectures ∙ (53hr 10min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

24 reviews

5.0

24 reviews

  • joypapa745718님의 프로필 이미지
    joypapa745718

    Reviews 2

    Average Rating 5.0

    5

    90% enrolled

    ⭐️⭐️⭐️⭐️⭐️ I'm leaving an additional star because five stars are not enough. This is the best lecture. The concept is explained in detail and easy to understand. I liked that difficult concepts such as the delegate pattern, MVC pattern, synchronous/asynchronous, MVVM pattern, and dependency injection were explained in an easy to understand way. I couldn't find a good explanation of similar concepts in Android, so thank you for helping me grasp the basic concepts.

    • dldmswo12174665님의 프로필 이미지
      dldmswo12174665

      Reviews 2

      Average Rating 5.0

      5

      96% enrolled

      I've been working on Android for over a year, and I wanted to work on iOS, so I started listening to this, and I think it's a really good lecture. It's really easy to understand because you explain how it works internally with examples. It's really the best!!! I listened to the lectures for a week, except for sleeping and eating, and got about 70% of the course. I'll definitely finish it and get a job as an iOS developer!!! Thank you, Alan, for making such a great lecture.

      • moonkey님의 프로필 이미지
        moonkey

        Reviews 1

        Average Rating 5.0

        5

        88% enrolled

        When developing, what is really important is not simply memorization, but understanding why it works that way. This lecture will help you understand in depth how it works internally in detail and 'why' it should be written this way. If you understand basic Swift grammar, I recommend you listen to it right away.

        • dhyoun6965님의 프로필 이미지
          dhyoun6965

          Reviews 2

          Average Rating 5.0

          5

          79% enrolled

          This is a great lecture because the instructor explains things so well and makes it easy to understand!! I had to stop studying in the middle due to personal reasons, but I'm listening to it again now. I really want to finish it and study hard so I can get a job in a good place. Thank you for the great lecture!!

          • hyoeunipark5285님의 프로필 이미지
            hyoeunipark5285

            Reviews 1

            Average Rating 5.0

            5

            100% enrolled

            It's a lecture that systematically connects from the really easy content to the difficult content step by step >.< It's so easy to learn how to create UI with code, and the internal structure of the delegate pattern..and even the MVC pattern. I've seen many lectures in other places like PaXXXXX, but there were many parts that I didn't understand. I feel like all the sweet potatoes I ate while watching other lectures have gone down..!! Thank you so much, instructor, and please upload many other lectures!! I'll go buy it right away!! Thank you so much! Instructor!! Be blessed!! Wow!!! This is really the best iOS lecture 👍🏻👍🏻👍🏻

            allen's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!

            Limited time deal ends in 4 days

            $181,500.00

            25%

            $187.00