A weather app demo made to play around with Kotlin Multiplatform.

Overview

Kotlin Multiplatform Sample Weather App

This is a sample weather app made to play around with Kotlin Multiplatform. I tried to strive for maximum code sharing between platforms, all the business logic is shared. Only thing that is platform depended is the native UI. Jetpack Compose for Desktop and Android and SwiftUI for IOS.

This kind of architecture is only achiveable thanks to the work of Arkadii Ivanov and his libraries Decompose and MVIKotlin.

Kotlin Multiplatform and libraries supporting it are highly violatile at the moment and in the early stages of development. It can be kinda a pain in the bottom to work with but nevertheless it has been a great experience. I can't wait to see what the future holds, I truly believe this will be the future of cross platform development. Just thinking about using Kotlin to develop a codebase shared across platforms is almost like a dream.

UI

The Android and Desktop app share most of the UI code that resides in the :common:compose-ui. There are slight platform specific implementations that allow for dark mode support on Android. Besides that, it's super easy to develop a single UI and have it work on Android and Desktop.

The IOS UI is made with the help of SwiftUI and considering it's pretty similar to Jetpack Compose it's also an easy switch. You can pretty much just go and 1 to 1 copy the Compose code with the respected SwiftUI alternatives.

Demo

Android app

               

Light Mode                                                           Dark Mode

Desktop app

Ios app

Shared code

With the help of the amazing libraries from Arkadii Ivanov like MVIKotlin and Decompose sharing 90%+ of the business logic is achieveable. Currently, albeit a simple Weather app, I am using the exact same models, logic, use-cases for all platforms. That means, with the single common module I am able to have the same logic running on Android, Ios and Desktop (Mac, Linux and Windows!). Which makes testing easier, development (as most of the apps share functionality across platforms) and it's just nice to write in Kotlin.

You might also like...
Attendance Management app made in Kotlin for students. Made during ASJ, Google Developer Students Club, AITR Indore
Attendance Management app made in Kotlin for students. Made during ASJ, Google Developer Students Club, AITR Indore

Android-Study-Jams Attendance Management Problem Statement: Based on the observation, there is no available student attendance system in many educatio

YourStore app made in Kotlin for Local e-commerce. made during ASJ, Developer Students Club, BIT Mesra
YourStore app made in Kotlin for Local e-commerce. made during ASJ, Developer Students Club, BIT Mesra

Android-Study-Jams YourStore , Vocal for Local Problem Statement: Over past two years, local businesses have faced lot of troubles due to Covid-19 and

A news app made using android studio in Java with features like favourite news, Location detector for local news, and especially made with HUAWEI APIs

HuaweiGlobalNewsApp A news app made using android studio in Java with features like favourite news, Location detector for local news, and especially m

Android Studio project wrapper around the Elixir TodoApp Desktop app to run on Android including the Erlang runtime
Android Studio project wrapper around the Elixir TodoApp Desktop app to run on Android including the Erlang runtime

TodoApp Android: An Android Sample App This Android Studio project wraps the Desktop Sample App to run on an Android phone. How to build & run Install

FireApp is an open-source project that is built around Firebase Products, especially for learning purposes
FireApp is an open-source project that is built around Firebase Products, especially for learning purposes

FireApp is an open-source project that is built around Firebase Products, especially for learning purposes. This application is written entirely in Kotlin using Android Architecture Components and MVVM architecture pattern. You'll see in the code of this repo, how Firebase Products are working together.

Weather App Built With Kotlin
Weather App Built With Kotlin

WeatherApp In this project, I showed the user the nearby locations with the data I got from the GPS, and I made the details of the weather events of t

Weather App using Retrofit Kotlin Android

NewsFeed Built an Android App which displays current weather and weather forecast of a selected city to the user. Features Coroutines Hilt JSON Parsin

A Simple Weather App With Kotlin
A Simple Weather App With Kotlin

WeatherApp This application is a simple weather application where you can see the current weather conditions according to your location and the weathe

Weatherreport - Weather report app built with kotlin

Weather report app Foreword This app has been coded as a good way for me to play

Owner
null
Advanced Android Weather App using MVVM Architecture Sample (ViewModel + LiveData + Kotlin + volley) = Weather App

Advanced Android Weather App using MVVM Architecture Sample (ViewModel + LiveData + Kotlin + volley) = Weather App Video Weather.-.HD.720p.mov Introdu

wykee2 4 Jul 12, 2022
MovieTray - An application built to play around JetPack components.

Its a playground application focusing on Paging3, MVVM architecture, Kotlin Extension functions, Retrofit, DSL, Navigation component, MotionLayout, SharedElementTransition, Single Activity Architecture, DataStore etc.

Niharika Arora 98 Nov 15, 2022
Weather-app - Making Weather application using retrofit from api

weather-app Motivasyon Hava Durumu uygulamasını api'den retrofit kullanarak yapm

İsa Kulaksız 0 Nov 2, 2022
WeatherProject - Weather Project using GPS data and the weather from the API based on the search

WeatherProject In this project, I showed the weather at the current location usi

null 6 Apr 26, 2022
☁️🌤🌧☀ Weather Android application that gives you the weather information of your saved location or any region you are looking for☁️🌤🌧☀

☁️????☀ Weather Android application that gives you the weather information of your saved location or any region you are looking for☁️????☀

Nisa Efendioğlu 4 Apr 6, 2022
A Weather App made using Kotlin

weather-long-lat This app shows the temperature of your present location. You ca

Manish Goyal 0 Dec 17, 2021
An open sourced Weather App made using OpenWeatherMapAPI

An open sourced Weather App made using OpenWeatherMapAPI

IEEE VIT Student Chapter 24 Dec 10, 2022
School project: Weather forecast application made in android studio using Kotlin, SQLite and OpenWeatherMaps free API.

A*star 4-cast School project made in android studio using Kotlin, SQLite and free API from OpenWeatherMap.org. A weather forecast app with C(U)RD oper

Felicia Olsson 2 Apr 3, 2022
Android-splash-screen-demo - Sample application to demo the various features provided in android-splash-screen

Android Splash screen API demo This is a sample application used to demonstrate the various features provided in android-splash-screen. More details c

Sridhar 1 Jan 3, 2022
OpenWeatherMap-API-Demo - Demo Android Application for OpenWeatherMap API

WeatherForecast Demo Android Application for OpenWeatherMap API Table of Content

Rashid Hussain 0 Jul 10, 2022