Java Grammar Summary - 1 Hour
survivalcoding
Essential Java syntax review before studying Java-based development.
Beginner
Java
A practical course where you build a production-level app from scratch. Learn how to develop scalable and maintainable apps by applying Clean Architecture and the MVVM pattern.
308 learners
Level Intermediate
Course period Unlimited


Reviews from Early Learners
5.0
john snake
Thanks to Junseok Oh, I started working at Flutter 5 months ago after joining the company last year. Usually, people start out by looking at Dart's easy grammar and fancy app UI, but when the project gets complicated, many people give up quickly because they don't know how to manage it. I was one of them 😭 This lecture is a very valuable lecture that teaches you how to efficiently manage Flutter projects. It doesn't teach you tricks, but the most important things. It's the most fundamental lecture among Flutter lectures. I recommend this lecture to other beginners and professionals so that they don't give up and survive in the industry!
5.0
Nostia
Thank you for the great lecture. In addition, I wish there was a test code and an example of actual application like the previous lectures, but I will try to make up for it by doing it myself. I am always looking forward to it. I would appreciate it if you could come back soon with a better lecture next time ^^!!
5.0
Aiden Lee
I had to deal with a project implemented with Flutter urgently, so I quickly skimmed the basics based on the official documents and took this course. I applied a new architecture by referring to the contents learned in the course and improved a lot of existing highly coupled code. Thanks to that, I was able to start with a lot of code cleanup and it is still very helpful. If I have to point out something that was lacking, since it is an intermediate to advanced course, it would have been great if I could have experienced writing test code along with more diverse implementation examples instead of just showing the simple UI implementation. However, this impression may be due to the fact that I have not taken other courses by the instructor that are composed of various topics. Above all, I think it is a useful course for learning practical Flutter experience while considering a good architecture, as the title suggests. Thank you for the great course!
How to apply Clean Architecture and the MVVM pattern to a real-world project
How to design and implement complex UI components for reusability
How to effectively handle state management and routing
Error handling methods for production-level services
Modern App Architecture Chosen by Big Tech Companies
Clean Architecture & MVVM Pattern
Why is the code becoming increasingly difficult to manage as the app grows? 🤔
The answer lies in Clean Architecture and the MVVM pattern. This architecture, adopted by big tech companies, is a core design method that allows for the systematic management of complex business logic and the easy addition of new features.
In this course, we will implement a production-level app using Flutter and Clean Architecture. We cover in-depth topics encountered in practice, such as Dependency Injection, layered state management, writing testable code, and error handling.
If you are tired of Hello World-level tutorials, experience the true joy of architectural design by building a production-ready app in this course! 💪
📌 Presenting real-world production environment problems and their solutions
📌 Step-by-step source code provided via GitHub
📌 All code has been written in a format that allows for unit testing and UI testing.
📌 This course is for intermediate levels and above.
This course provides a detailed guide on the process of developing an app starting from a Figma design.
The structure of the app created in the lecture.
MVVM and MVI patterns based on Clean Architecture
Many developers use state management libraries out of a sense of obligation, but there is no need to do so. The basic features provided by Flutter are sufficient for state management.
In this course, we will use only the following minimal libraries.
Writing UI that is not affected by any external factors
Guide on how to configure a deep link-friendly router, which is essential in the industry.
Presenting an improved error handling method suitable for complex situations by refining the existing Result pattern.

The code is becoming increasingly complex,
making it difficult to manage

I want to learn the architecture
used in actual practice

I want to create an app that is easy to test and maintain
"I can build widgets, but as the scale grows, the code keeps turning into spaghetti..."
"I don't know how to actually apply Clean Architecture and MVVM."
"I want to refactor my code, but I don't know where to start."
"I don't know how to handle state management"
"I need practical knowledge that I can use at work right away."
"I don't know how to write testable code"
"Every time I add a new feature, I have to modify a lot of existing code."
"I studied design patterns, but it's difficult to apply them to actual projects."
"I'm worried that technical debt is piling up and I'm not sure if it's okay to leave it like this."
1. Systematic app design becomes possible
You will be able to clearly distinguish and design each layer of Clean Architecture.
When new features need to be added, you will be able to extend them without touching the existing code.
You will be able to naturally apply SOLID principles to real-world projects.
2. You can implement professional state management
You will master efficient state management methods without relying on external libraries.
You can handle even complex business logic cleanly.
Clean state management without memory leaks becomes possible.
3. You can write testable code
You can write code that allows for everything from unit tests to UI tests.
You can continuously monitor and improve code quality.
4. You can write code that is recognized in the professional field
// Before
class HomeScreen extends StatefulWidget {
@override
State<HomeScreen> createState() => _HomeScreenState();
}
// After
class HomeScreen extends StatelessWidget {
final HomeState state;
final void Function(HomeAction action) onAction;
// Write testable and highly reusable code
}5. You will complete a project that can be used as a portfolio
You can use a high-quality, production-level app as your portfolio.
You can gain hands-on experience with real-world projects applying Clean Architecture.
"An app without architecture is like a toy without Legos." You will learn how to cleanly separate business logic from the UI and write flexible, testable code through dependency injection.
"State management is the heart of an app." Learn how to create predictable and easy-to-debug apps by designing efficient state management and unidirectional data flow.
"Errors are unavoidable, but they can be managed." This covers how to systematically handle network errors, data validation, and exceptional situations while providing appropriate feedback to users.
"A good component is made once and used for a lifetime." Learn how to design and implement reusable UI components, efficient widget tree construction, and performance optimization techniques.
2018 : Wrote "Android Until It Works"
2018 : Authored Oh Joon-seok's Android Survival Coding: Kotlin Edition
2020 : Authored the first Flutter book in Korea: Oh Jun-seok's Flutter Survival Coding (Selected as a 2020 Sejong Book)
2020 ~ 2024 : Operated 9 cohorts of Flutter developer training
The lectures were recorded based on macOS, Flutter 3.24, and Dart 3.5.4.
Android Studio is used.
The explanation is based on the Android emulator.
It is recommended that you have watched "Flutter Intermediate - Clean Architecture" or possess equivalent knowledge.
It is recommended for intermediate Flutter users.
Who is this course right for?
Developers who want to develop actual services using Flutter
Developers who want to apply Clean Architecture and the MVVM pattern in practice
Those who want to learn how to develop apps with UI/UX in mind
Those interested in designing reusable components
Need to know before starting?
Dart Language Basic Syntax
Understanding Flutter Basic Widgets and Layouts
Basic Concepts of Object-Oriented Programming
Career Verified
12,695
Learners
923
Reviews
866
Answers
4.7
Rating
16
Courses
I am Junseok Oh, a developer who teaches and writes books.
I run the 'Junseok Oh's Survival Coding' YouTube channel and the Survival Coding (https://survivalcoding.com) educational platform.Specialties: Android, Flutter
Books
Oh Jun-seok's Flutter Survival Coding (Hanbit Media 2020)
Oh Jun-seok's Android Survival Coding: Kotlin Edition (Hanbit Media 2018)
Android Until It Works (Ruby Paper 2018)
Key Experience
CEO of OhRange
IT Development Vocational Training Instructor at Semin Vocational Training School
Director of Suwon Smart App Development Academy
LG Electronics MC Division
Security Division, Tokai Rika Co., Ltd., Aichi Prefecture, Japan
IT Division, Nihon Techseed Co., Ltd., Aichi Prefecture, Japan
LinkedIn: https://www.linkedin.com/in/junsuk5/
All
57 lectures ∙ (14hr 27min)
Course Materials:
7. 05 Font Settings
06:11
11. 07 InputField
09:07
13. 09 Tabs
14:21
14. 10 RatingDialog
21:21
15. 11 SignInScreen
09:33
28. 17-2 frozen
07:08
32. 20 SearchScreen
47:22
36. 24 Filter UI
30:40
40. 26 Dishes Area
26:04
43. 29 MVI Pattern
13:46
All
39 reviews
4.7
39 reviews
Reviews 1
∙
Average Rating 5.0
Edited
5
Thanks to Junseok Oh, I started working at Flutter 5 months ago after joining the company last year. Usually, people start out by looking at Dart's easy grammar and fancy app UI, but when the project gets complicated, many people give up quickly because they don't know how to manage it. I was one of them 😭 This lecture is a very valuable lecture that teaches you how to efficiently manage Flutter projects. It doesn't teach you tricks, but the most important things. It's the most fundamental lecture among Flutter lectures. I recommend this lecture to other beginners and professionals so that they don't give up and survive in the industry!
Reviews 5
∙
Average Rating 5.0
Edited
5
I had to deal with a project implemented with Flutter urgently, so I quickly skimmed the basics based on the official documents and took this course. I applied a new architecture by referring to the contents learned in the course and improved a lot of existing highly coupled code. Thanks to that, I was able to start with a lot of code cleanup and it is still very helpful. If I have to point out something that was lacking, since it is an intermediate to advanced course, it would have been great if I could have experienced writing test code along with more diverse implementation examples instead of just showing the simple UI implementation. However, this impression may be due to the fact that I have not taken other courses by the instructor that are composed of various topics. Above all, I think it is a useful course for learning practical Flutter experience while considering a good architecture, as the title suggests. Thank you for the great course!
Reviews 2
∙
Average Rating 5.0
5
Thank you for the great lecture. In addition, I wish there was a test code and an example of actual application like the previous lectures, but I will try to make up for it by doing it myself. I am always looking forward to it. I would appreciate it if you could come back soon with a better lecture next time ^^!!
Reviews 5
∙
Average Rating 5.0
Reviews 20
∙
Average Rating 5.0
Edited
5
First, let's summarize why I think this lecture is good: 1. It was good to learn how to make an app based on the Figma design standard. 2. It was good to learn how to make custom widgets and how to implement deep links. 3. It was good to be able to quickly review the overall structure. Personally, when I heard about collaboration through Figma, mentioned in number 1, I was curious about the process of actually implementing the design in code, and I think that was the best part. Finally, I would like to thank the teacher for the good lecture.
Check out other courses by the instructor!
Explore other courses in the same field!
Limited time deal ends in 2 days
$84,700.00
30%
$93.50