- Видео 13
- Просмотров 12 525
Per-Erik Bergman
Таиланд
Добавлен 20 ноя 2011
Welcome to my channel, your gateway to mastering Kotlin Multiplatform and software engineering! 🚀 Dive into cutting-edge tutorials, deep dives, and live coding sessions tailored for developers eager to explore cross-platform potential and software innovation.
Why join us?
- Exclusive Kotlin Multiplatform Insights: From setup to sophisticated app development.
- Software Engineering Excellence: Best practices, design patterns, and architecture.
- Community & Collaboration: A hub for sharing, learning, and growing together.
The channel isn't just about learning; it's about inspiring innovation and pushing boundaries. Subscribe and join a community where curiosity meets creativity in the world of coding.
If you want to leave a suggestion for a topic please use this form:
docs.google.com/forms/d/e/1FAIpQLSfoQgNcUrmFw2iGRaFj9Bd-R_RUIPgJwccgO2suzTVLVAFPFg/viewform
#KotlinMultiplatform #SoftwareEngineering #TechCommunity
Why join us?
- Exclusive Kotlin Multiplatform Insights: From setup to sophisticated app development.
- Software Engineering Excellence: Best practices, design patterns, and architecture.
- Community & Collaboration: A hub for sharing, learning, and growing together.
The channel isn't just about learning; it's about inspiring innovation and pushing boundaries. Subscribe and join a community where curiosity meets creativity in the world of coding.
If you want to leave a suggestion for a topic please use this form:
docs.google.com/forms/d/e/1FAIpQLSfoQgNcUrmFw2iGRaFj9Bd-R_RUIPgJwccgO2suzTVLVAFPFg/viewform
#KotlinMultiplatform #SoftwareEngineering #TechCommunity
Build a Color Picker App with Jetpack Compose – Master State Hoisting in Kotlin Multiplatform!
In this video, we dive deep into Jetpack Compose and Kotlin Multiplatform to build a color picker app while mastering state hoisting! 🎨
By following along, you’ll learn how to:
• Use state hoisting to manage shared state across multiple screens.
• Build a clean and decoupled navigation setup using Jetpack Compose Navigation.
• Implement a color picker pattern, which can be adapted to any type of selection UI in your apps.
• Avoid common pitfalls like state modification during composition.
• Follow best practices in Jetpack Compose and Kotlin Multiplatform development.
🛠 What You’ll Build:
• A color picker app where users select a color from a list and display it on the main screen.
• The ap...
By following along, you’ll learn how to:
• Use state hoisting to manage shared state across multiple screens.
• Build a clean and decoupled navigation setup using Jetpack Compose Navigation.
• Implement a color picker pattern, which can be adapted to any type of selection UI in your apps.
• Avoid common pitfalls like state modification during composition.
• Follow best practices in Jetpack Compose and Kotlin Multiplatform development.
🛠 What You’ll Build:
• A color picker app where users select a color from a list and display it on the main screen.
• The ap...
Просмотров: 258
Видео
Implementing Fallback Solutions with Kotlin Multiplatform and Koin Dependency Injection
Просмотров 1754 месяца назад
In this video, I explore how to handle platform-specific implementations in Kotlin Multiplatform (KMP) projects when the shared module and the `actual/expect` pattern aren't sufficient. Using Koin for dependency injection, I demonstrate how to create and inject platform-specific services for both Android and iOS. What You'll Learn: - Setting up Koin dependency injection in a KMP project. - Crea...
Build Environment Setup for KMP Projects
Просмотров 4505 месяцев назад
Description: Welcome back to the channel! In today's tutorial, we're focusing on configuring environment-specific builds for a Kotlin Multiplatform (KMP) project in both Android Studio and Xcode. This step-by-step guide will help you set up and manage different environments like development and production for Android, iOS, and desktop applications. 🔗 Useful Links: - GitHub Repository for the Pr...
Firebase Firestore in Kotlin Multiplatform
Просмотров 2,9 тыс.6 месяцев назад
Building a Cross-Platform Contact App with Kotlin and Firebase | Android, iOS, and Desktop Description: Welcome back to the channel! In today's tutorial, we're diving into building a cross-platform contact app using Kotlin and Firebase, targeting Android, iOS, and Desktop. This comprehensive guide will walk you through setting up your project, configuring Firebase, and implementing a repository...
Unit Testing in Kotlin Multiplatform
Просмотров 4817 месяцев назад
Hello and welcome to this week's video! Have you ever wondered about setting up effective tests for your Kotlin Multiplatform projects? Or how to ensure your code is reliable across different platforms? If so, you're in the right place! I'm Per-Erik, and on this channel, we dive deep into Kotlin Multiplatform to make your development journey smoother and more efficient. Today, we're tackling th...
ViewModel in Kotlin Multiplatform
Просмотров 9417 месяцев назад
In this video, I will guides you through the process of integrating a ViewModel in a Kotlin Multiplatform project using Koin. You’ll learn how to set up the necessary dependencies, configure the build.gradle.kts file for different platforms, and instantiate the ViewModel for Android, iOS, and JVM. This tutorial is a continuation of the previous video, so make sure to watch that first. Links to ...
Dependency Injection in Kotlin Multiplatform
Просмотров 5187 месяцев назад
In today's video, we'll explore dependency injection, giving you the knowledge to start using it in your Kotlin Multiplatform project. As always, leave your comments and suggestions on topics you'd like me to cover. Timecodes 0:00 Intro 0:35 What is dependency injection 1:42 Dependencies 2:32 App Module 3:31 Initialization 4:00 Obtain an instance 4:08 Interface 5:30 Platform Module 7:32 Common ...
Navigate in Kotlin Multiplatform
Просмотров 1,2 тыс.8 месяцев назад
Welcome to our latest tutorial on Kotlin Multiplatform Navigation! In this comprehensive guide, we explore various navigation techniques tailored for Kotlin Multiplatform development. GitHub Repository: [KMP Navigation Repo](github.com/pererikbergman/kmp-navigation) Timecodes 0:00 Intro 0:37 Tab Navigation 3:03 Simple Dialog 5:39 Compose Navigation 9:42 BottomBar Navigation 13:40 BottomSheet 16...
Kotlin Multiplatform Networking with Ktor
Просмотров 7688 месяцев назад
Explore the power of Ktor for network operations in this quick overview! Learn how Ktor simplifies building asynchronous servers and clients in connected systems using Kotlin. For more in-depth details, check out the official Ktor documentation here. Source Code: github.com/pererikbergman/kmp-ktor Don't forget to like, subscribe, and hit the notification bell for more tutorials!
Database with SQLDelight in Kotlin Multiplatform
Просмотров 2,2 тыс.8 месяцев назад
Welcome to this video where I guide you through using SQLDelight for database management in Kotlin Multiplatform projects. Whether you're a seasoned developer or just starting, this video will equip you with the knowledge to efficiently synchronize your database operations across iOS, Android and Desktop! What You Will Learn: - Setting up SQLDelight in a Kotlin Multiplatform project. - Creating...
Creating Your First Kotlin Multiplatform App.
Просмотров 5709 месяцев назад
In this video we will learn how Kotlin Multiplatform Mobile (KMP) aligns with traditional Android app development. In this session, we'll construct a simple, one-screen BMI Calculator application. Discover how to manage UI states, handle user interactions, and set up dependencies like MOKO ViewModel and Material3. This guide is ideal for Android developers curious about expanding their toolkit ...
Kotlin Multiplatform Project Structure
Просмотров 8429 месяцев назад
Dive into the core of Kotlin Multiplatform with our latest video, "Kotlin Multiplatform Project Structure: Modules, Source Folders & Gradle Overview." Designed specifically for software engineers and mobile app developers, this video serves as a high-level guide through the essential components of a Kotlin Multiplatform project. From modules to source folders and the intricacies of using Gradle...
Setting Up Your Kotlin Multiplatform Development Environment
Просмотров 1,2 тыс.9 месяцев назад
In this inaugural video of our Kotlin Multiplatform series, "Setting Up Your Kotlin Multiplatform Development Environment," we dive into the crucial first step of any development project: environment setup. This comprehensive tutorial is tailored for software engineers and mobile app developers embarking on their journey with Kotlin Multiplatform. We cover all the essential tools and software y...
🔥🔥 content,,, you are God Sent. Please continue with the KMP projects. 1. Authentication 2. Storage we are waiting
Please complete the series ❤
when I run the desktop app everything works but when I package the app and install it, it says "Failed to Launch JVM" why?
Thank you!
This video is really helpful. It is calm and informative, especially for people whose first language is not English. Thank you for making it easy to understand!
Glad to hear it helped you, thanks!
Very helpful and clear, keep it up!
Thanks, will do!
What is the best PC spec for development of Kotllin multiplatform?
That would be great, if you also show how to observe viewModel state in iOS. Currently we are using moko libs
thanks for ur videos its so good.
Glad you like them!
sir i had error, how to solve that java.lang.SecurityException: Unknown calling package name 'com.google.android.gms'
Thanks very much, please keep making more videos. Especially on dependency injection and best practice for arraging project tree structures.
Using pickedColor mutableStateOf is one way of doing. We can also use navcontroller to set the result to previous screen. In screen b Button(onClick = { // Set the result in the previous screen's SavedStateHandle navController.previousBackStackEntry?.savedStateHandle?.set(RESULT_KEY, "Result from ScreenB") navController.popBackStack() // Navigate back to ScreenA }) { Text("Go back with result") } In screen A // Mutable state to hold the result from ScreenB var result by remember { mutableStateOf<String?>(null) } // Use LaunchedEffect to access the SavedStateHandle and get the result when available LaunchedEffect(navController.currentBackStackEntry) { val savedStateHandle = navController.currentBackStackEntry?.savedStateHandle savedStateHandle?.get<String>(RESULT_KEY)?.let { resultValue -> result = resultValue // Clear the result after consuming it, if needed savedStateHandle.remove<String>(RESULT_KEY) } } This might prevent whole AppNavigation recomposition.
When I run it in Web, it doesn't work with below error: --- Could not determine the dependencies of task ':kotlinNpmInstall'. > Could not resolve all dependencies for configuration ':composeApp:wasmJsNpmAggregated'. > Could not resolve dev.gitlive:firebase-firestore:2.1.0. --- Doesn't the gitlive firebase sdk support web?
Can you make video about realme database?❤
Hi, I have one about SQLDelight: ruclips.net/video/Mwr49Rgj70k/видео.html
@@pererikbergman yes i saw this video about 9 times but i got problem that desktop application not show the database data while compose app, ios app running well thank you for your interest♥
👻
Wow! Thanks for making this. This tutorial will probably save me days of work
Glad it helped!
i suffer alot with KMP the first thing when i added svg to the project i got too many errors then when i downloaded the reposotry when i run it it give me this Error: Could not find or load main class MainKt Caused by: java.lang.ClassNotFoundException: MainKt i hate KMP 😟
listOf( iosX64(), iosArm64(), iosSimulatorArm64() ).forEach { iosTarget -> iosTarget.binaries.framework { baseName = "ComposeApp" isStatic = true // Required when using NativeSQLiteDriver linkerOpts.add("-lsqlite3") } }
The desktop implementation was very helpful. You saved me hours/days of work. Thank you so much.
Great to hear!
Sir please make a video on firebase storage integration on kmp desktop or all os projects
Attach the links to the projects, plz
There is no project, this is out-of-the box structure when you download the project from: kmp.jetbrains.com/
lets go into mvvm and mvi to see how that might work ;) ..... you're the boss
Challenge accepted, I am actually working on a little longer video that will cover MVVM with MVI, let's see when it's ready :)
@@pererikbergman cool, I’ve been working because of your guides in a MVI project, hope it would work 😅 … great videos 🦾 greetings from Costa Rica
how to add splashscreen and detail screen without bottomtab in this code?
yes please, lets review how would authentication will work, thanks boss!!
Thank you very much for sharing your knowledge Please could you make an authentication video?
Thanks bro amazing!!!
nice 🔥
I will share your videos with colleagues
Thank you, I appreciate your support
Useful content pls make more detailed videos
🚀🚀🚀
Thank you so much. 1 question: If I use "factory" instead of "single" for platformModule in this case - will it be a good practice?
It's completely up to what you are doing, a factory will create a new instance every time while single will only create one instance and return the same instance every time it's requested.
Any way to implement MVVM including web and desktop support?
Yes, check out my video about ViewModel: ruclips.net/video/4ieIpYo1sVg/видео.html, web (wasm), should work as is.
@@pererikbergman Thank you
Brilliant tutorial! Thank you so much!
Great content Eric, where are you from? Greetings from Brazil! o/
I am from Sweden but live in Thailand
Thanks for the video, new subscriber here. How would you support product flavors for KMP? Say I have a build for UAT, staging and prod environments?
Thanks for the Sub I have a video in the making about that! I just have a few more things to figure out :)
Useful content. Thanks for sharing.
How did you track down these required dependencies?
Mainly on: cashapp.github.io/sqldelight/2.0.2/ & github.com/cashapp/sqldelight
Awesome tutorial! Definitely coming back for more...👍🏾
Awesome! Thank you!
Please make video in compose multiplatrform app in kotlin for ios sndroid desktop and website using supabase database login, sign up by otp , and login with google , etc like features and all crude operation with supabe databse and push notification storage to store video images just crude operation app only
I never worked with Supabase, so we will see if that comes up.
We want tutorials on authentication via Firebase, specifically phone number authentication with OTP verification.
I have this in my pipeline! :)
@@pererikbergman thanks for your efforts❤️
I enjoyed the video but I cannot get the desktop app to run. No run configuration, fails if I try to run Main.kt - hints please.
nevermind... too quick to ask - thanks
Hello! Is there a way to share a ViewModel on iOS using SwiftUI?
Hi! I haven't tried the view model from Google with SwiftUI but you get the same functionality with the moko-viewmodel, and I seen many people using that one with SwiftUI
Hello Per-Erick I have been following up your videos and I am kinda new to the idea of MVVM and I would like to learn from you about the idea and how I can use it in KMM and regular jetpack
I will have a track of architectural content soon. Thanks for your support!
by use KoinApplication inside our compose app, we don't need to define startKoin in our Android module?
Exactly, a little less code 🤓
Cool video 🔥I'll waiting video about datastore for multiplatfrom from you 😄
Coming soon!
Source code is unavailable
Sorry, my bad. It should be fixed now.
Thanks for the video. Can you please make a KMP video related to Google Maps? I know it is too early, but I cannot wait for it.
I will look into it, the first videos I planned will all contain things that works on desktop as well, not sure google maps does. But I will check!
@@pererikbergman Thanks for your effort. It will help many developer
🎉
Great video
Nice video thanks, please do a full app playlist.
Sure thing! It's in the plan :D