-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
update with SQLDelight working ( except JS)
- Loading branch information
Showing
5 changed files
with
336 additions
and
2 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
Prerequisites : POO, Developper tools knowledges (Git, Linux Shell, IDE) | ||
|
||
🚀 Presentation of Kotlin | ||
Some features | ||
History | ||
Some numbers and facts | ||
Why switch from Java to Kotlin | ||
Prerequisites | ||
|
||
Kotlin language features | ||
|
||
Basic features | ||
Basic constructs (variables, control flow) | ||
Functions | ||
Null safety | ||
Enumerations | ||
|
||
Intermediate features | ||
Object oriented programming | ||
Data class | ||
Functional programming | ||
Kotlin and Java interoperability | ||
|
||
Let's start kotlin multiplatform | ||
Prerequisites | ||
IDE support overview | ||
KMP roadmap | ||
Hands-on Lab objectives | ||
Functionnally | ||
Technically | ||
Design screens | ||
|
||
Configure a KMP project | ||
🧪 Plugins installation | ||
🧪 Clone the KMP template provided by JetBrains | ||
📚 A Guided tour of the sample project | ||
🧪 Deploy your apps | ||
|
||
User interface | ||
📚 Reminder | ||
Compose Multiplatform | ||
How to create composables ? | ||
Create composable for the Quiz | ||
🧪 WelcomeScreen | ||
🧪 ScoreScreen | ||
🧪 QuestionScreen | ||
|
||
Connectivity | ||
📚 Reminder | ||
Data layer for KMP | ||
Kotlin flow | ||
Coroutine | ||
Connect my Quizz to the internet | ||
🧪 Ktor as a multiplatform HTTP client | ||
👷♂️ Ktor as a rest API server | ||
🧪 Create a Ktor server module inside your actual | ||
|
||
Database & Datastore preferences | ||
🧪 add and use your sqldelight database to your quizz to retrieve network only if you your quizz data are older than 5 minutes | ||
|
||
Let's go further | ||
🧪 Create Navigation between composable screens | ||
🎯 Solutions | ||
👷♂️ Manage your ressources | ||
👷♂️ Integrate a JS Web target | ||
|
||
|
||
|
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
Which components can be shared across platforms in Kotlin Multiplatform projects? | ||
UI logic | ||
Business logic | ||
Data models | ||
Networking code | ||
Utility functions | ||
|
||
|
||
Name some popular libraries/frameworks compatible with Kotlin Multiplatform. | ||
Ktor | ||
kotlinx.serialization | ||
SQLDelight | ||
kotlinx.coroutines | ||
|
||
|
||
How does Kotlin Multiplatform handle platform-specific implementations? | ||
Through expected and actual declarations | ||
Expected declarations define an interface or contract | ||
Actual declarations provide platform-specific implementations | ||
|
||
|
||
What tools or IDE support is available for Kotlin Multiplatform development? | ||
IntelliJ IDEA with Kotlin plugin | ||
Android Studio | ||
Visual Studio Code with Kotlin extension | ||
jetbrain Fleet | ||
|
||
|
||
What is the level of maturity or adoption of Kotlin Multiplatform in the development community? | ||
Multiplatform is stable, ready for production | ||
Multiplatform is not stable, not for production | ||
Compose is not stable, not for production | ||
Compose is stable, ready for production | ||
|
||
|
||
1. **Which of the following best describes the primary advantage of using Ktor's HttpClient?** | ||
|
||
a) Synchronous processing of HTTP requests | ||
b) Integration only with Android platforms | ||
c) Asynchronous and non-blocking by default <-- | ||
d) Exclusive support for RESTful APIs | ||
|
||
|
||
**How do you typically perform a GET request using Ktor's HttpClient?** | ||
|
||
a) `get()` <-- | ||
b) `sendRequest(HttpMethod.Get)` | ||
c) `performGET()` | ||
d) `executeRequest(Method.GET)` | ||
|
||
|
||
**What is the purpose of `MutableState` in Jetpack Compose?** | ||
|
||
a) To manage global application state | ||
b) To retain state within a composable and trigger recomposition | ||
c) To handle lifecycle events in composables | ||
d) To store read-only state | ||
|
||
|
||
|
||
**Which function is used to create and manage mutable state in Jetpack Compose?** | ||
|
||
a) `stateOf()` | ||
b) `mutableStateOf()` <-- | ||
c) `composeState()` | ||
d) `createState()` | ||
|
||
|
||
|
||
5. **What is Kotlin Flows | ||
a) Flows is a multithreading framework library for kotlin | ||
b) Flows are built on Kotlin coroutines, supporting sequential asynchronous processing <-- | ||
c) Flows are synchronous | ||
d) Flows are limited to Android development only | ||
|
||
|
||
6. **Which operator is commonly used to transform data emitted by a Kotlin Flow?** | ||
|
||
a) `map()` <-- | ||
b) `switchMap()` | ||
c) `flatMap()` | ||
d) `transform()` | ||
|
||
|
||
What role does `CoroutineScope` play in managing coroutines?** | ||
|
||
a) It determines the Thread used for asynchronous execusion thanks to Dispatcher <-- | ||
c) It defines the lifecycle of the application | ||
d) It specifies the UI thread for coroutine execution | ||
|