• Stars
    star
    246
  • Rank 164,726 (Top 4 %)
  • Language
    Kotlin
  • License
    MIT License
  • Created almost 2 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A KMP Template targeting Multiplatform Compose Android, IOS and Desktop. Get started with zero effort.

KMPTemplate

Featured in Kotlin weekly and Kotlin weeekly

The KMPTemplate is designed to help developers build applications for three platforms:

  • Android
  • iOS
  • Desktop

This is built to reduce the effort of configuring all the targets together such as Compose for Ios which currently does not have an ios target when creating a new compose multiplatform project using intellij idea.

Screenshot 2023-02-14 at 8 06 39 PM

How it works?

KMPTemplate leverages the power of Kotlin Multiplatform and Compose Multiplatform to create a unified codebase for all target platforms. Here's how it works for each platform:

  • Android: Runs natively on Android devices.
  • iOS: Utilizes UIKit under the hood for seamless integration with iOS devices.
  • Desktop: Employs the Skia Library to provide native-like performance on desktop platforms.

Template Features

The KMPTemplate comes with several preconfigured features to accelerate your development process:

  • Version Catalogs
  • Compose Multiplatform
  • Koin for dependency injection
  • Ktor for networking
  • Kotlin serialization
  • Multiplatform image viewer

Is it production-ready?

KMPTemplate can be considered both production-ready and not production-ready, depending on your requirements. You can use the UIControllers generated by Compose alongside SwiftUI or UIKit to share the UI across platforms. For platform-specific features like camera and sensors, you can utilize SwiftUI or UIKit.

If you have any suggestions or find a bug, please add it to the issues.

Troubleshooting

MacOS on Apple Chip (M1/M2)

If you encounter the error 'pod install' command failed with code 1. run the following commands in the terminal:

sudo softwareupdate --install-rosetta --agree-to-license
sudo gem uninstall ffi && sudo gem install ffi -- --enable-libffi-alloc

kashif_mehmood_ kashif-mehmood kashif-mehmood

More Repositories

1

KMMNewsAPP

Kotlin multi platform project template and sample app with everything shared except the UI. Built with clean architecture + MVI
Kotlin
287
star
2

KMPMovies

A Compose multiplatform app, with a focus on architecture and platform specific views/features
Kotlin
211
star
3

Compose-Multiplatform-Video-Player

This is an example of adding video player to Compose multiplatform ios, android and desktop
Kotlin
134
star
4

CameraK

A camera library for Compose Multiplatform
Kotlin
124
star
5

Mlkit-text-recognition-and-entity-extraction

OCR app with entity extraction with mlkit and camerax
Kotlin
68
star
6

ArCoreMeasurement

Its measurement app made using kotlin with sceneform sdk by google
Kotlin
56
star
7

ParallaxEffectWithAccelarometer

Paralax effect with sliding card using jetpack compose
Kotlin
47
star
8

SolarEclipse

Kotlin
47
star
9

Jetpack-Datastore-With-MVVM

Preferences Datastore with MVVM architecture, Hilt for dependency injection.
Kotlin
37
star
10

ARCore-Projects

This repo contains examples of all the functionalities of sceneform, Face filter , Object Placement etc
Kotlin
36
star
11

Voyant

An extension library for voyager and Navigation Compose to use native iOS navigation from Compose multiplatform
Kotlin
35
star
12

Ar-Object-Detection

I built this app using Mlkit along with the TensorFlow Lite model for object detection, Arcore is used to place anchors to the detected objects. It's a good blend of Machine learning and Augmented reality to visualise ML information in a much better way than regular bounding boxes
Kotlin
32
star
13

KmMScientists

KmMScientists is a Kotlin multiplatform app with swift ui, jetpack compose, koin and realm
Kotlin
27
star
14

The-MVVM-Template-2022

Clean MVVM with eliminating the usage of context from view models by introducing hilt for DI and sealed classes for displaying Errors in views using shared flows (one time event), and Stateflow for data
Kotlin
24
star
15

DragAndDropRecyclerView

Kotlin
21
star
16

Popular-Movies-App-using-Jepack-retrofit-coroutines-and-MVVM

App build with TMDB API to demonstrate Jetpack and Modern Android Development Concepts
Kotlin
18
star
17

ARcoreMLKit-object-detection

Arcore ml kit integration without sceneform to detected multiple objects in a signle frame and place 3d labels on them
Kotlin
16
star
18

Compose-Destinations-Bottom-Navigation-Example

This is an example of implementing bottom navigation with Compose Destinations Library
Kotlin
15
star
19

Native-Ios-Navigation-Compose-Multiplatform

native ios navigation for compose multiplatform using kotlin Objc Interop
Kotlin
15
star
20

MLKit-QR-and-Barcode-Scanner

A sample app that uses CameraX and Milkit to scan multiple barcodes and QR code
Kotlin
14
star
21

Searchify

A Jetpack compose based sample app
Kotlin
14
star
22

Download-Manager-Example

This example helps you download and save files in external storage tested up to android 12 with using legacy permission
Kotlin
13
star
23

Coil3-Compose-Multiplatform

Coil 3 with memory and disk cache for compose multiplatform
Kotlin
13
star
24

SwiftUI-Material-Theming

This repository contains a sample implementation of Material Theming in SwiftUI. It includes custom structs for typography, colors, shapes, and spacing, as well as a ThemeManager and custom ViewModifiers for easy implementation in your own projects
Swift
11
star
25

recording_playback_arcore_kotlin

ArCore Recording and Playback API Kotlin implementation
Kotlin
10
star
26

CI-CD-Example

This reposotpry helps you understand fastlane and github actions for CI/CD
Kotlin
9
star
27

FlowNews

Kotlin
8
star
28

DraggableAndZoomableImageInCompose

An example implementation of draggable and zoomable image in compose
Kotlin
7
star
29

ComposeMultiplatform-LifecycleTracker

This repository demonstrates how you can track lifecycle updates from ios and android in common main
Kotlin
7
star
30

Custom-Design-System-Compose-Mutiplatform

This is a Kotlin-based project that leverages Jetpack/Muliplatform Compose for building modern, native UI. It includes a custom Material theme with extended color palettes, typography, and spacing, providing a consistent and customizable design system for your application.
Kotlin
6
star
31

SplashScreenApi

A simple App to test Splash Screen API by google in android 12
Kotlin
6
star
32

Parallel-API-Calls-With-Coroutines-HOF

this repository demonstrates how you can do parallel api calls with coroutines with APIs having different return type
Kotlin
6
star
33

CleanArchitectureCurrencyConverterApp

This app uses clean architecture principles combined with MVVM to build an offline first currecncy converter app.
Kotlin
5
star
34

kashif-E

github profile read me
4
star
35

FadingAnimation

It is an example of doing fading animation in android without using a separate imageview
Java
4
star
36

UdacityPopularMoviesAppStage1

It is an app assignment for udacity android developer nanodegree program
Java
3
star
37

BindWatcher

This repository simply tells you how you can use on text changed listener with data binding
Kotlin
3
star
38

Calculator-in-Kotlin

Kotlin
3
star
39

NumberGuessingGame

It is a Simple Number guessing game the user can guess three times he fails to guess the number. then he loses the game
Java
3
star
40

MovieApp

mvvm popular movies app with tmdb
3
star
41

connect3game

Java
3
star
42

timesTableAPP

Simple TimesTableApp
Java
3
star
43

SceneViewExxample

This is example of implementation of sceneview
Kotlin
3
star
44

Brain-Trainer

This is an game where you have to guess the answers of different mathematical questions. The questions can be of different time and random. You have to guess the answers of maximum questions in 30 seconds.
Java
3
star
45

Medicine

Kotlin
2
star
46

Upload-Images-to-S3-Presigned-Urls

Python
2
star
47

Navigation-Sample

Kotlin
2
star
48

ShoeInventory

Udacity Android Nano Degree Build A Shoe Store App
Kotlin
2
star
49

TV-Halftime-Shows-and-the-Big-Game

it is a project that i did on dtacamp
Jupyter Notebook
2
star
50

AsteroidRadar

Kotlin
2
star
51

Boxopener

Kotlin
2
star
52

gltfModels

Repository to host gltf files
JavaScript
2
star
53

Simple-Paging

A simple paging library for kotlin multiplatform
Kotlin
2
star
54

allaboutanimals

its an app that i used to teach navigation component concepts
Kotlin
2
star
55

OpenGL

Kotlin
2
star
56

Python-3-programming-specialization

About this Specialization This specialization teaches the fundamentals of programming in Python 3. We will begin at the beginning, with variables, conditionals, and loops, and get to some intermediate material like keyword parameters, list comprehensions, lambda expressions, and class inheritance. You will have lots of opportunities to practice. You will also learn ways to reason about program execution, so that it is no longer mysterious and you are able to debug programs when they donโ€™t work. By the end of the specialization, youโ€™ll be writing programs that query Internet APIs for data and extract useful information from them. And youโ€™ll be able to learn to use new modules and APIs on your own by reading the documentation. That will give you a great launch toward being an independent Python programmer. This specialization is a good next step for you if you have completed Python for Everybody but want a more in-depth treatment of Python fundamentals and more practice, so that you can proceed with confidence to specializations like Applied Data Science with Python. But it is also appropriate as a first set of courses in Python if you are already familiar with some other programming language, or if you are up for the challenge of diving in head-first.
Python
2
star
57

decompose

Kotlin
1
star
58

Wandrer

Kotlin
1
star
59

AsyncImageLoadingSwiftUI

This repository explore AsyncImage introduced in Ios 15
Swift
1
star
60

EmergencyResponder

Kotlin
1
star
61

barbershop

1
star
62

KMMNewsPodSpec

Ruby
1
star
63

KmmNewsIosApp

KmmNewsApp Ios version to demonstrate the working of KMM Bridge
1
star