-
Урок 1.
00:09:21
Course Demo
-
Урок 2.
00:01:51
KMM vs KMP
-
Урок 3.
00:08:17
Getting Started with KMM
-
Урок 4.
00:09:46
Dependencies and BuildSrc
-
Урок 5.
00:09:54
Defining the Screens
-
Урок 6.
00:08:48
Passing Arguments when Navigating
-
Урок 7.
00:08:01
Why we are not sharing a ViewModel
-
Урок 8.
00:03:08
Why we are using Hilt for Dependency Injection
-
Урок 9.
00:05:14
Hilt Setup
-
Урок 10.
00:09:52
HiltViewModel
-
Урок 11.
00:09:11
Providing Dependencies (Hilt Modules)
-
Урок 12.
00:09:41
Ktor Setup (expect / actual)
-
Урок 13.
00:05:47
Ktor Demo
-
Урок 14.
00:04:38
Core Business Model
-
Урок 15.
00:06:48
Core Network Business Model
-
Урок 16.
00:02:55
Mapping to and from a Core Business Model
-
Урок 17.
00:07:12
Date Conversions
-
Урок 18.
00:07:05
Recipe Service
-
Урок 19.
00:06:12
Providing the Network Objects with Hilt
-
Урок 20.
00:05:08
Use-Cases Introduction
-
Урок 21.
00:05:44
DataState
-
Урок 22.
00:04:20
Provide SearchRecipes with Hilt
-
Урок 23.
00:06:47
GetRecipe Use-case
-
Урок 24.
00:15:59
SQL Delight Setup
-
Урок 25.
00:04:57
RecipeDatabase and expect actual
-
Урок 26.
00:08:24
Caching Service
-
Урок 27.
00:05:53
Mapping Recipe_Entity to Recipe
-
Урок 28.
00:01:57
Providing CacheService with Hilt
-
Урок 29.
00:04:19
Adding Caching to the Use-cases
-
Урок 30.
00:02:28
Introduction to Building the Android UI
-
Урок 31.
00:14:07
Theme, Colors, Fonts with Compose
-
Урок 32.
00:10:25
Coil for Displaying Images
-
Урок 33.
00:07:43
Recipe Card
-
Урок 34.
00:12:40
Display a List of Recipes
-
Урок 35.
00:06:57
Indeterminate Progress Bar
-
Урок 36.
00:21:59
Shimmer Animation
-
Урок 37.
00:12:15
Event-Driven UI
-
Урок 38.
00:11:40
Search Bar
-
Урок 39.
00:06:29
Executing a New Search
-
Урок 40.
00:04:36
Food Categories
-
Урок 41.
00:07:46
Horizontal Selectable Food Categories
-
Урок 42.
00:07:28
Tracking the Selected Category as State
-
Урок 43.
00:08:55
Recipe Detail Screen
-
Урок 44.
00:08:56
Recipe Detail State
-
Урок 45.
00:03:46
Recipe Detail Shimmer Animation
-
Урок 46.
00:10:39
Identifying the Problem
-
Урок 47.
00:04:39
Kotlin Queue
-
Урок 48.
00:02:40
Tracking Errors as State
-
Урок 49.
00:09:35
Error Dialogs
-
Урок 50.
00:03:48
Error Message Limitations
-
Урок 51.
00:08:18
Generic Message Info Builder
-
Урок 52.
00:06:10
GenericMessageInfo Mechanism
-
Урок 53.
00:03:40
Preventing Duplicate Dialogs
-
Урок 54.
00:07:47
Removing Dialogs from the Queue
-
Урок 55.
00:04:48
Updating GenericDialog
-
Урок 56.
00:09:28
Introduction to iOS Client
-
Урок 57.
00:07:35
xCode and SwiftUI
-
Урок 58.
00:09:05
Manual Dependency Injection
-
Урок 59.
00:06:45
Recipe List Screen Arguments
-
Урок 60.
00:07:46
Observable Objects in SwiftUI
-
Урок 61.
00:07:43
Updating State in Observable Objects
-
Урок 62.
00:02:26
Triggering Events in RecipeListViewModel
-
Урок 63.
00:16:24
Collecting a Flow on iOS
-
Урок 64.
00:05:34
Appending Recipes to State
-
Урок 65.
00:12:46
SwiftUI Pagination
-
Урок 66.
00:08:21
Capturing Input on iOS
-
Урок 67.
00:10:33
Update Query and Execute Search
-
Урок 68.
00:04:52
Food Category Chip on iOS
-
Урок 69.
00:04:20
Horizontal Scrollable List on iOS
-
Урок 70.
00:05:56
Selecting a Food Category
-
Урок 71.
00:09:18
Display Images Asynchronously in SwiftUI with SDWebImage
-
Урок 72.
00:03:01
Recipe Card on SwiftUI
-
Урок 73.
00:06:09
Navigation Link
-
Урок 74.
00:02:32
Navigation Link Work-around
-
Урок 75.
00:01:40
Progress View
-
Урок 76.
00:06:14
Recipe Detail ViewModel on iOS
-
Урок 77.
00:05:47
Get Recipe Use-case on iOS
-
Урок 78.
00:07:55
Recipe Detail View on iOS
-
Урок 79.
00:04:07
Custom Fonts with SwiftUI
-
Урок 80.
00:05:08
Using the Custom Font
-
Урок 81.
00:06:12
0 Alerts
-
Урок 82.
00:10:41
1 Handling Errors in Recipe List Screen
-
Урок 83.
00:12:03
2 Handling Errors in Recipe Detail Screen