How to Build a Clean Architecture CRUD Note App Using KMM (Android + iOS)

How to Build a Clean Architecture CRUD Note App Using KMM (Android + iOS)

Philipp Lackner

1 год назад

83,783 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

noob gaming
noob gaming - 13.09.2023 19:03

Plz add this to playlist

Ответить
Matthew Jewell
Matthew Jewell - 21.08.2023 19:25

This is better than most paid courses, thank you so much!

Ответить
Andre vini
Andre vini - 04.07.2023 19:30

Hello guys, I had an issue when I errased the following code :

plugins {
//trick: for the same plugin versions in all sub-modules
id("com.android.application").version("7.4.1").apply(false)
id("com.android.library").version("7.4.1").apply(false)
kotlin("android").version("1.8.10").apply(false)
kotlin("multiplatform").version("1.8.10").apply(false)
}


from the build.gradle from the app root, without it I had some errors like androidUnitTest is not available or com.android.library plugin doesn´t exist.

Just to let you know.

Awesome video btw

Ответить
jiwomdf
jiwomdf - 23.06.2023 17:29

just finish it, you are the best philipp, help me a lot, thank you so much

Ответить
unclerukuss
unclerukuss - 13.06.2023 21:26

thanks Philipp !

Ответить
Marko SunBro
Marko SunBro - 02.06.2023 20:27

Build your app twice = miltiplatform.... kek lol

Ответить
Sukanya Sadasivan
Sukanya Sadasivan - 29.05.2023 06:16

Hi, could you please do a video on Compose multi-platform?

Ответить
Mirza Celikovic
Mirza Celikovic - 24.05.2023 16:36

Nicely done. Small suggestion would be to record natural approach to development in terms of showing decision making process and at least part of the struggles.

Ответить
Ashraf K M
Ashraf K M - 14.05.2023 16:12

Hi all. A question to everyone. I am backend developer. I am going to start work on front end mobile app. I am little bit confused on choosing flutter vs kotlin+jetpack compose.
Can you guys suggest please.

I want app to be working smoother like for example how Instagram works.

Ответить
Siamak Ashrafi
Siamak Ashrafi - 01.05.2023 01:58

Shared ViewModel works much better ... Swift structured concurrency is much better than callbacks ...

Ответить
Stephen Tellez
Stephen Tellez - 27.04.2023 01:42

Hi guys, im getting error and i cant pass from the min 13...
could you please help me out

Build file 'C:\Users\edgar.tellez\AndroidStudioProjects\NoteAppKMM\shared\build.gradle.kts' line: 43

KotlinSourceSet with name 'androidUnitTest' not found.

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Exception is:
org.gradle.api.UnknownDomainObjectException: KotlinSourceSet with name 'androidUnitTest' not found.

Ответить
Stephen Tellez
Stephen Tellez - 24.04.2023 19:12

thank you soo much for your magnificent work

Ответить
code
code - 20.04.2023 10:15

Why not use Koin for DI as it is multiplatform?

Ответить
Adrian Pionka
Adrian Pionka - 16.04.2023 21:33

Hello. Good job. Great knowledge. Maybe next time you show how implement navigation drawer? :)

Ответить
Amir Raza
Amir Raza - 18.03.2023 23:01

Hey man! you are amazing.
Well I have some confusions here, please make it clear to me If you get time.
- How can we achieve DI in shared module? please exclude koin or kodein
- As far as I get the KMM, It has a very limited scope that codebase can be shareable as there are much to be implemented in platform-specific package. Am I right? If yes, Why KMM can be chosen?
- How can we manage the build variants for Android and iOS in KMM?
- How can we add projects as sub-modules?

Thankyou!

Ответить
Евгений Ворожбянов
Евгений Ворожбянов - 13.03.2023 20:44

Hi! I can't figure out how to do the migration correctly. In the file "note.sq" I create an "insert into ...". The record is saved in the database, everything is ok. I create a file "1.sqm" after I insert line "update table ...". The record has been updated for the current user, but when installing from scratch, I see the old value. Do I really need to change the values ​​in two places?

Ответить
MySelfer Bumba
MySelfer Bumba - 13.03.2023 08:08

Thanks a lot!

What about Compose Multiplatform!
Is it interested for KMM projects ?
Will you talk about this ?

Ответить
WilliamVietnam
WilliamVietnam - 23.02.2023 15:17

Hello Philip and everyone. I have a question. KMM vs Flutter are both cross-platform, with Flutter I can use Dart to code and build instantly on iOS and Android operating systems. As for KMM, I see that you are rewriting Switf code as an iOS developer. This makes me feel like it's not very cross-platform, but just like trying to write code of Android with Kotlin and iOS with Switf in a common folder.

Can anyone explain and summarize for me how the cross-platform problem of KMM works? Can I use Kotlin to write all the code and with a click of the Run&Build button it will automatically run immediately like on ReactNative/Flutter?

I think the benefit of a cross-platform technology with native technology is that cross-platform technology helps businesses and individuals reduce the cost and time to build an application on many different platforms instead of we have to learn Kotlin to write Android apps and Switf to write iOS apps. Therefore, I think that KMM was born to solve the above problem like Flutter and React Native. But if I still have to use both Switf or Kotlin to write applications, then I don't see any reason for KMM to convince businesses or developers to use it instead of Native technologies.

Ответить
Muhammad Safi Ullah
Muhammad Safi Ullah - 07.02.2023 23:24

🔥

Ответить
Shubham Tomar
Shubham Tomar - 07.02.2023 11:57

Hi @Phillip, I'm getting error while setting up SqlDelight
Error is:

Redeclaration Class
Overload resolution ambiguity:
internal val KClass<NoteDatabase>.schema: SqlDriver.Schema defined in com.shubhamkodes.noter.database.shared in file NoteDatabaseImpl.kt
internal val KClass<NoteDatabase>.schema: SqlDriver.Schema defined in com.shubhamkodes.noter.database.shared in file NoteDatabaseImpl.kt


Please tell me something what should I do?

Ответить
LarKeS
LarKeS - 18.01.2023 18:38

I can't find sqldelight plugin in my android studio

Ответить
Zeynep Düyenli
Zeynep Düyenli - 17.01.2023 16:29

In Android, search bar doesn't except any keyboard input. I tried both in my physical device & emulator.

Ответить
Александр Классен
Александр Классен - 09.01.2023 13:21

Android Studio cannto find SQLDelight plugin, what I need to do?

Ответить
gori_maheswari8
gori_maheswari8 - 20.12.2022 10:51

Good nice amazing😍

Ответить
yh Qu
yh Qu - 17.12.2022 08:40

Wonderful! Thank you!

Ответить
Breens Robert
Breens Robert - 12.12.2022 03:51

Wow finally finished this, great explanation and looking forward to building more apps on KMM.

Ответить
An Tran
An Tran - 24.11.2022 19:40

Good project🎉, i’m a fan of sharing viewModel instead 😂

Ответить
Zoentach 16
Zoentach 16 - 21.11.2022 10:39

You're handsome and amazing lackner. I love your content so much

Ответить
Pin Videos
Pin Videos - 18.11.2022 10:48

I picked up an issue on the IOS app. When you select a note from the list and click back and than click on the add icon I get the same note. My expectation is that I should see a screen with only the hints.

Ответить
Maksymilian
Maksymilian - 15.11.2022 22:37

Btw you can get rid off the conditions when formating datetime:

val hourAndMinute = LocalTime(
hour = dateTime.hour,
minute = dateTime.minute
)
return "${dateTime.date} $hourAndMinute"

Ответить
Tony Houghton
Tony Houghton - 26.10.2022 16:06

About 7 minutes in I noticed some references to iosX64. Does that exist just so that the app can be tested on a simulator on an Intel Mac? Is it safe to remove these references if you're using an Apple Silicon Mac?

Ответить
Khem Mahato
Khem Mahato - 24.10.2022 11:47

you are great bro so much good content

Ответить
Hasan Altay
Hasan Altay - 23.10.2022 14:58

You are a legend. Thanks for the video!

Ответить
Anudeep Ananth
Anudeep Ananth - 23.10.2022 06:12

Does jetpack compose lazy column support sql delight? It only supports room 3 to my knowledge...

Ответить
Anudeep Ananth
Anudeep Ananth - 23.10.2022 06:09

Hey Phillip as an android developer what should we learn to build the app on ios as well with KMM, apart from learning the swift language and swift Ui, is there anything else?

Ответить
Raymond Michael
Raymond Michael - 20.10.2022 18:29

Would like if you can add mongodb realm into the mix, as apart two.

Thanks buddy

Ответить
Elvis Miranda
Elvis Miranda - 19.10.2022 02:59

other video with api rest please

Ответить
Giovanni Siciliano
Giovanni Siciliano - 17.10.2022 12:47

In Ios do not have dependency injection tools = in Ios they do not have the fortune to have Jake that build dagger

Ответить
Giovanni Siciliano
Giovanni Siciliano - 17.10.2022 12:26

counting the hours to see how do you implement flow in ios and with a shared view model

Ответить