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

Introduction

PreviousKilua GuideNextCompose world

Last updated 2 months ago

is an open source web framework created for the language, based on runtime. It allows developers to create declarative UI components and manage their state. Kilua renders to plain HTML DOM (not canvas) and supports both Kotlin/Wasm and Kotlin/JS targets.

Main features

Powerful Compose programming model and state management

Create declarative UI components with @Composable functions. Use a variety of state management functions, including remember {}. Let Compose automatically refresh the correct parts of your UI when the state of your application changes.

Ready to use components

Kilua gives you a lot of ready to use GUI components, which can be used as builder blocks for the application UI. Hundreds of features are available with easy to learn and consistent API.

  • sophisticated containers (tabs, grid, horizontal, vertical, flexbox, split, lazy-layouts)

  • forms with type-safe data model and built-in validation

  • many different text input components including rich text editor, typeahead and input mask support

  • buttons, checkboxes and radios

  • date and time pickers

  • spinner, range and numeric input components

  • advanced select box with remote data support

  • reactive tables

  • accordion, carousel, dropdown and offcanvas sidebar

  • tooltips and popovers

  • modals including ready to use alerts and confirm dialogs

  • configurable toasts

  • theme switcher for dark mode with auto-detection

  • optional Jetpack-like API including Modifier, Box, Row and Column

  • animation module powered by CSS and library

  • built-in support for icons

  • built-in support for

Direct support for Tailwind CSS or Bootstrap styling

Compile the same application code to Kotlin/Wasm or Kotlin/JS targets

Compiling your code to Kotlin/Wasm makes your application up to 50% faster. On the other hand, the Kotlin/JS version is fully compatible with older web browsers. And you don't have to change anything in your codebase.

Type-safe fullstack

Server-Side Rendering

Kilua is the first Kotlin/Wasm and Kotlin/JS web framework supporting true Server-Side Rendering. SSR is a crucial concept in modern web development that enhances user experience and boosts SEO performance. Kilua SSR support is based on the possibility to run exactly the same application code both in the browser and in NodeJs environment. What's more, you can easily use WASM compilation target for much better performance.

Kilua is ready for your creativity, whenever you like modern, utility-first approach of or more traditional way of . Both modules include support for light/dark mode selection.

A companion library implements type-safe fullstack support for a bunch of popular server side frameworks - , , , , and (Micronaut support is temporarily disabled). It allows you to easily build maintainable applications with shared code for data model and business logic. Kilua provides built-in fullstack components - Tabulator, Select and Typeahead, allowing easy access to remote data sources.

There is also support for type-safe websocket connections and SSE (server-sent events), based on .

Kilua
Kotlin
Compose Multiplatform
Motion
Font Awesome
Bootstrap Icons
Tailwind CSS
Bootstrap
Kilua RPC
Ktor
Jooby
Spring Boot
Javalin
Vert.x
Micronaut
Kotlin coroutines channels