Kilua guide
  • Kilua Guide
  • Introduction
  • Compose world
  • 1. Getting Started
    • Setting Up
    • Creating a New Application
    • Modules
    • Development Workflow
    • Hot Module Replacement
    • Debugging
    • Building For Production
  • 2. Frontend Development Guide
    • Composable functions
    • Browser APIs
    • Interoperability with JavaScript
    • Working with Compose
    • Rendering HTML
    • Type-safe CSS properties
    • Resources
    • Icons
    • Routing
    • Layout containers
    • Events
    • Forms
    • Form controls
    • SVG images
    • Drag and drop
    • Internationalization
    • REST client
    • Markdown and sanitization
    • Using Bootstrap
    • Using TailwindCSS
    • Using Tabulator
    • Animation
    • Using Jetpack Compose API
  • 3. Fullstack Components
  • Useful References
Powered by GitBook
On this page
  1. 1. Getting Started

Modules

Kilua consists of both required and optional functionality. Modules can be added as dependencies in build.gradle.kts file.

All modules which include CSS stylesheets require explicit initialization. This also applies to the core module. This initialization ensures a predictable order in which all styles will be applied. The initialization is performed by adding dedicated module objects as parameters to the startApplication() function.

fun main() {
    startApplication(
        ::App,
        js("import.meta.webpackHot").unsafeCast<Hot?>(), // K/Js only
        BootstrapModule,
        BootstrapCssModule,
        FontAwesomeModule,
        TomSelectModule,
        CoreModule // always used as the last initializer
    )
}

Some modules include more than one, optional initializers. E.g. kilua-tabulator module includes TabulatorModule, TabulatorDefaultModule, TabulatorBulmaModule, TabulatorMaterializeModule, TabulatorMidnightModule, TabulatorModernModule, TabulatorSemanticUIModule, TabulatorSimpleModule and TabulatorSiteDarkModule for all CSS styles supported by the Tabulator component.

This is the current list of available modules.

Module

Description

Initialization required

kilua

Core module required for all applications.

+

kilua-animation

+

kilua-bootstrap

+

kilua-bootstrap-icons

+

kilua-fontawesome

+

kilua-i18n

Internationalization support.

kilua-imask

+

kilua-jetpack

Jetpack-like API (Modifier, Box, Row, Column)

+

kilua-lazy-layouts

LazyRow and LazyColumn implementations.

kilua-marked

kilua-rest

Configurable REST/HTTP client.

kilua-routing

kilua-rsup-progress

kilua-sanitize-html

HTML sanitizer.

kilua-select-remote

Select form component tailored for full-stack applications.

kilua-splitjs

SplitPanel component.

+

kilua-ssr

Frontend side SSR support.

kilua-ssr-server

Backend side core SSR support.

kilua-ssr-server-javalin

SSR support module for Javalin.

kilua-ssr-server-jooby

SSR support module for Jooby.

kilua-ssr-server-ktor

SSR support module for Ktor.

kilua-ssr-server-micronaut

SSR support module for Micronaut.

kilua-ssr-server-spring-boot

SSR support module for Spring Boot.

kilua-ssr-server-vertx

SSR support module for Vert.x.

kilua-svg

SVG rendering support.

kilua-tabulator

+

kilua-tabulator-remote

Tabulator component tailored for full-stack applications.

kilua-tailwindcss

+

kilua-tempus-dominus

+

kilua-toastify

Toast messages.

+

kilua-tom-select

+

kilua-tom-select-remote

Select and typeahead (autocomplete) form components tailored for full-stack applications.

kilua-trix

Rich text form component.

+

PreviousCreating a New ApplicationNextDevelopment Workflow

Last updated 2 months ago

Composable functions for animations powered by CSS and library.

based components.

support.

support.

Text input mask support powered by

Markdown parser powered by library.

Routing module based on library.

Progress bar support powered by library.

component.

support.

Data/Time select component powered by .

Select and typeahead (autocomplete) components based on library.

Motion
Bootstrap
Bootstrap Icons
Font Awesome
Imask.js
marked
routing-compose
Rsup Progress
Tabulator
TailwindCSS
Tempus Dominus
Tom Select