Jetpack Compose UI Architecture Plugin provides a set of templates that to make the development of new Jetpack Compose features faster.
To learn more about the architecture and templates are based on it, you can check following sources
- Jetpack Compose UI Architecture Article – Introduction to all the components with the example and motivation behind it
- Compose UI Architecture Docs – GitHub pages that’s hosts more in-depth explanations, rules and examples.
New Feature Dialog
This dialog allows you to create several files related to Jetpack Compose UI Architecture. After you provide a name for your feature, plugin will generate following:
[featname]– package (lowercased) (optional)
[FeatName]Contract– contains UIState, Actions emitted from the UI layer
[FeatName]Screen– Basic, stateless, UI of your Screen
[FeatName]Coordinator– Main State holder of the Screen, controls the screen UI logic and Interactions
[FeatName]Route– Main entry point, tied to
Coordinatorand delegates all the Actions to it, Emits Screen
[FeatName]ViewModel– basic implementation of your viewModel
Along with the templates provided with the Dialogs, this plugin also provides several live templates. There are currently two groups of Live Templates available: Compose Foundation and UI Arch
Compose Foundation Live Templates
This set of templates contains most commonly used layouts and effects that can be used in any project
col-> Create Composable
row-> Create Composable
box-> Create Composable
laun-> Create Launched Effect with Unit Key
disp-> Create Disposable Effect with Unit Key and
Compose UI Arch Live Templates
Currently, has only one template, that operates similar to the New Component Dialog
compon-> Creates new Compose UI Component with the
Modifieras the parameter and a Preview
New Component Dialog
New component dialog simply allows you to create new Jetpack Compose UI Component a bit quicker. It will generate simple component with the
Modifier as the parameter and Preview setup for you.
Mobile App Development Best Practices – 04.10
iOS New and Deprecated APIs in iOS 17 Abstract Class vs. Protocol-Oriented Approach in Swift Comparing the Performance of the...
New and Deprecated APIs in iOS 17
In this video, I would like to share with you some things that were either deprecated or added in iOS...
Promova helps people with dyslexia learn languages
The new Promova feature comes just in time for National Dyslexia Awareness Month and is available on the platform for...
Notify – A simple note application with modern MVVM, Compose and Material3
Notify is a simple note application that is built with Modern Android development tools. This project showcases the Good implementation...
Mobile App Development Best Practices – 03.10
iOS MetaCodable – Supercharge Swift’s Codable implementations with macros meta-programming How to build a Tuist plugin and publish it using...
How to make and use BOM (Bill of Materials) dependencies in Android projects
By using a BOM dependency, you can avoid specifying the versions of each individual library in your app, and let...