강의

멘토링

커뮤니티

Programming

/

Mobile Application Development

Architecture Patterns with iOS - GUI Architecture Patterns (Theory)

Learn architectural patterns based on books and papers, not subjective feelings. Explains MVC, MVP, and MVVM in the UIKit environment of iOS.

(4.9) 23 reviews

164 learners

ios
아키텍처
architecture
gui
Architecture
MVC
MVVM
mvp
iOS

Reviews from Early Learners

What you will gain after the course

  • History and characteristics of GUI architecture patterns

  • GUI Architecture Patterns in iOS Environment

A must-have if you dream of becoming an iOS developer!
GUI Architecture Patterns ✨

Fully Mastered GUI Architecture Patterns! 📖

When looking at job postings for iOS developers, there's always a requirement: " understanding and experience with various architectural patterns ." However, I can't find any books or articles that provide detailed explanations of architectural patterns in Korean. I faced similar challenges, and only after reading books and papers in English and Japanese was I able to grasp the general outline.

This lecture covers the history and key concepts of architectural patterns , focusing on GUI architectures like MVC, MVP, and MVVM . Architectural patterns are a topic that experiences frequent changes in trends, and there's a risk of not being able to keep up. The only way to alleviate this anxiety is to build a solid foundation. I hope my lecture will serve as a cornerstone for that.

iOS uses a considerably wider variety of architectural patterns than other development environments. However, the keywords that underpin these various architectural patterns are simpler than you might think, and most are merely minor variations on existing architectures. The more confused you become about which pattern to choose, the more I recommend focusing on the essentials and learning without being swayed by trends.

📢 Please check before taking the class!

  • This course does not cover the fundamentals of UIKit. It only covers architectural patterns and specific architectural patterns specific to UIKit.
  • We do not permit the lecture content to be organized and leaked externally, such as to a blog.

I recommend this to these people 🙋

Architecture pattern
Those who want to learn

iOS developer job search
Job seekers preparing

This is my first iOS project
Experienced Developer

iOS project experience
But there are architectural patterns
People with limited knowledge


Lecture Features ✨

#1.
Several books and
Together with the thesis

Certain architectural patterns cannot be understood abstractly, stripped of the development environment in which they originated. This lecture examines various books and papers to identify the problems each architectural pattern attempted to solve and discusses its applicability to iOS.

#2.
Macroscopic
Visually

This course is far from the mainstream. It dismisses MVC as a "massive controller" and rejects the view that other architectures are superior to MVC. If you want to use architectural patterns "to convey the impression that you're saying something important," as Martin Fowler puts it, then this course isn't for you.

#3.
uncommon
Korean language classes

There are no books or articles in Korean that provide a detailed explanation of architectural patterns. Conference presentations, too, are often limited in quality due to time constraints and the nature of community activities. Based on my own personal experiences, I've designed this lecture to help you learn the history and key concepts of GUI architectural patterns.


Learn things like this 📚

Section 1 - Architectural Patterns

You will learn various necessary concepts while defining what architecture and patterns are and what architectural patterns are.

Main topics

  • Separation of interests
  • architecture, patterns, architectural patterns
  • Presentation Domain Separation (PDS)
  • GUI architecture and system architecture

Section 2 - MVC

Learn MVC (Model-View-Controller), the forefather of GUI architecture.

Main topics

  • UI development environment of the 1970s
  • User's mental model
  • Various forms of MVC
  • Criticism of MVC

Section 3 - MVP

Learn MVP (Model-View-Presenter), a modified version of the existing MVC, to adapt to changing development environments.

Main topics

  • Changes in the development environment
  • Taligent
  • Flow Synchronization and Observer Synchronization
  • Supervising Controller
  • Passive View

Section 4 - MVVM

Learn about MVVM (Model-View-ViewModel), an architectural pattern that is often mentioned in iOS developer job postings.

Main topics

  • Presentation Model and MVVM in WPF
  • MVVM on iOS
  • Data Binding with RxCocoa
  • MVVM template



Changes in students after attending the lecture 📜

You will be able to understand the following:

  • Separation of Concerns
  • Presentation Domain Separation (PDS)
  • Smalltalk MVC
  • Input Controller
  • Application Controller
  • JSP Model 2
  • Cocoa MVC
  • Flux
  • Presentation Model (Application Model)
  • Taligent MVP
  • Supervising Controller
  • Passive View
  • MVVM in WPF
  • MVVM on iOS

Expected Questions Q&A 💬

Q. Do you also explain Swift and iOS basics?

I won't explain. Please take this course after learning the basics from other books or lectures.

Q. What architectural patterns does the instructor prefer?

I don't have a particular favorite architectural pattern. If there's one thing I find unique, it's that I don't hold MVC in bad stead, contrary to popular trends in the community. Rather, I'm critical of implementations like MVVM, which are trendy but deviate from the traditional context. Flux (Redux) offers no improvements over MVC, so I won't discuss it in detail (the lecture will explain why I believe it lacks improvements).

Q. Are there any materials that would be helpful if I study them first?

I think it will be easier to understand if you read Martin Fowler's "Patterns of Enterprise Application Architecture."


Recommended for
these people

Who is this course right for?

  • For those who do not know the exact concept of MVC, MVP, and MVVM

  • iOS Developer Job Seeker

  • Mobile Team Project Leader

Need to know before starting?

  • Open mind

  • Basic understanding of Swift and the UIKit environment in iOS

Hello
This is

프로그래머

문의: eonsu.work@gmail.com

Curriculum

All

35 lectures ∙ (2hr 14min)

Published: 
Last updated: 

Reviews

All

23 reviews

4.9

23 reviews

  • ksc2142365님의 프로필 이미지
    ksc2142365

    Reviews 2

    Average Rating 5.0

    5

    100% enrolled

    This is a must-see lecture for those who want to become an iOS Application Architect. It has a well-organized terminology and shows how MVx has evolved. It is also a valuable lecture that corrects some of the wrong views on patterns. There may be more content that I haven't introduced, but I look forward to the next lecture. Thank you for making such a great lecture.

    • 2ne2ds7135님의 프로필 이미지
      2ne2ds7135

      Reviews 1

      Average Rating 5.0

      5

      100% enrolled

      This is a lecture that helps mid-level developers like me draw the overall picture from the beginning of architecture. I was surprised by the meticulous lecture composition that introduces the logic of those who created the concept of architecture back in the 1970s. It is a lecture that helps those who have been developing for several years to organize their experiences because it explains the core content well based on the paper and Martin Fowler's argument. I think this is a lecture that helps improve skills to an intermediate level or higher, and it is a lecture that I feel like a lot of time was spent preparing the lecture. I am grateful to the lecturer who created this lecture.

      • jinyoo님의 프로필 이미지
        jinyoo

        Reviews 1

        Average Rating 5.0

        5

        91% enrolled

        It was the only lecture that allowed me to have a "conversation" rather than a "answer" about architecture.

        • mallamhando7281님의 프로필 이미지
          mallamhando7281

          Reviews 1

          Average Rating 5.0

          5

          100% enrolled

          Most of the content is not limited to iOS, but talks about all common UI development patterns such as web, Android, etc., so it is a lecture that is necessary for developers in all fields. It is easy to understand because it explains the historical development process of the pattern. It also introduces practical methods for choosing according to the development environment, not one is absolutely right. This is a lecture that can help establish existing concepts accurately even if you are not a junior developer.

          • eyegochild5685님의 프로필 이미지
            eyegochild5685

            Reviews 1

            Average Rating 5.0

            5

            100% enrolled

            While preparing for employment, the word architecture always appeared in job postings, and I was curious about it, but I learned a lot through the lecture. As a student who was at a loss because there was no clear explanation in any technical blog, it helped me a lot! Looking at the list of reference books? papers? shown at the end of each lecture, it seems like you made the contents of dozens of books into lectures. This is a must-have lecture for job seekers who feed them difficult contents!

            Similar courses

            Explore other courses in the same field!