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
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.
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.
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.
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!