A General Purpose Clean GUI Architecture | Web, Android, Java, Kotlin | View, ViewModel, Presenter
TIMESTAMPS BELOW
Project repository:
https://github.com/BracketCove/AndroidCleanGuiArchitecture
In this video I will be designing and implementing an architecture which serves as a 3rd party library free alternative to tools like Android Architecture components.
It will feature a View, a Presenter (Presentation logic), and a ViewModel.
Java Desktop Programming w/ JavaFX (Intermediate) - https://skl.sh/31pzCa1
Complete Beginner Introduction To Java Programming (Beginner - Intermediate) - https://skl.sh/3fZbjos
Android Apps With Kotlin & Android Studio (Beginner) - https://skl.sh/2ZU6ZT9
Material Design Android Programming w/ Kotlin (Intermediate) - https://skl.sh/2OrwrYZ
Complete Beginner Introduction To Java Programmer (with English, Arabic, and Burmese subtitles):
https://www.udemy.com/course/working-class-java-beginners-guide-to-oop-software-arch/?referralCode=F7688C9C127D007CE391
Timestamps:
A General Purpose Clean GUI Architecture | Web, Android, Java, Kotlin | View, ViewModel, Presenter
0:00 Preshow banter and explaining what I am doing today
3:04 Ryan builds a UML diagram of the architecture we will build (probably skip this part unless you want to learn GIMP)
17:16 Viewer question: What do I think about multi-platform tech?
20:13 Ryan explains the architecture based on this UML diagram and past experience
- 20:22 View Activity and its XML layout
- 21:16 Presentation Logic (Presenter) and its Base Abstrat Class with Java Generic Types
- 24:00 Front End Contract Interface ViewModel and how MVVM can be implemented in two very different ways
- 29:32 Tying all of this together with clean architecture and what the primary benefit is
33:00 Ryan begins implementing (building)/explaining the Java code of this architecture live
35:08 How do we model interactions between the ViewModel and the View via Observer Pattern (like in LiveData, RxJava, or Kotlin Flow)
38:53 Implementing the Presenter (Logic) interactions with View and ViewModel
40:35 Viewer question: Do I speak other languages?
41:31 Building the ViewModel and describing how my Publisher/Subscriber (a.k.a. Observer/Observable like in RxJava) works
43:05 Viewer question: Which videos should beginners start with on my channel?
48:02 Important side note: Enums are actually a form of DSL/T (Domain Specific Language/Type)
53:16 Adding and implementing Subscriber interface to View
58:29 Tanget: Ryan explains why he has never failed a math test but also never gotten 100% (at least during highschool)
1:02:00 Creating a new enum to model interactions between the (presenter) logic and view
1:24:12 Building a fake class to build and test our (Presenter) logic
1:27:01 Ryan has a bit too much fun making fake data
1:31:46 Ryan has a special message for the viewers
1:34:40 Returning to implementing the (presenter) logic
1:38:10 Why did I choose to have a method for every field in the ViewModel?
1:44:03 Implementing our Publisher/Subcriber Pattern in the ViewModel
1:48:58 Making final adjustments for deploying the App to an emulator
1:50:06 Manual Dependency Injection without using Dagger/Hilt/whatever
1:54:26 Fixing Compilation and Runtime errors
2:06:31 SUCCESSFUL DEMO
2:11:44 Outro
Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «A General Purpose Clean GUI Architecture | Web, Android, Java, Kotlin | View, ViewModel, Presenter», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.
Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.
Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!
Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.