Introduction
KVision is an open source web framework created for Kotlin language. It allows developers to build modern web applications in Kotlin.
Main features
Compiled and strongly typed programming language
Kotlin is a modern programming language released in 2016 by JetBrains. It's a statically typed language with many great, practical features and outstanding tooling support (IntelliJ IDEA).
Object oriented, imperative design
KVision allows you to build modern web applications with the Kotlin language, without any use of HTML, CSS or JavaScript.
KVision prefers the imperative style of programming. It's object oriented and supports many well known OOP design patterns. It gives you a hierarchy of consistent components, which are used as a builder blocks for the application GUI. The classes you can just use in your project or which you can extend to modify their default behavior.
KVision's design is quite similar to many non-web UI programming libraries including Swing, JavaFX, QT, WinForms and Flutter.
Ready to use components
sophisticated containers (tabs, stack, dock, grid, horizontal, vertical, flexbox, responsive)
forms with type-safe data model and built-in validation
many different text input components including rich text editor
buttons, checkboxes and radios
date and time picker
spinner
advanced select box with ajax support
file upload with preview and multi-selection
advanced charts
reactive tables
data binding components with observable data model
navigation bar, toolbar and context menu
tooltips and popovers
modals including ready to use alerts and confirm dialogs
floating, re-sizable windows
many HTML components including tables, lists, images, canvas and iframe
built-in support for Handlebars templates
built-in support for Font Awesome icons
built-in support for Redux
built-in support for Moment.js library
built-in support for Pace automatic page loader
Flexibility
KVision was designed to be open and flexible. By default it gives you Bootstrap based look & feel. You can also use themes from Bootswatch or you can disable them all and design your application appearance from the scratch, limited only by your own knowledge of CSS.
KVision is open source and modular. You can create your own modules taking an example from quite a few already existing. Almost all KVision classes are declared as open. With inheritance and composition you can build your own components, with all new features you need in your apps.
KVision is suitable for any kind of projects, including responsive, mobile web applications or even a simple, plain websites.
Server side interface
KVision contains innovative connectivity interface for three popular server side frameworks - Ktor, Jooby and Spring Boot, which allows to build full-stack, multiplatform applications with shared common code. KVision closely integrates the client and the server side of the project with a shared data model and fully type-safe connectivity between both sides (based on automatically generated routings and JSON-RPC endpoints). This architecture is based on Kotlin coroutines, wrapping asynchronous client-server calls into easy-to-read synchronous-like code. This makes KVision full-stack applications very easy to create and maintain.
There is also experimental support for type-safe websocket connections, based on Kotlin coroutines channels.
Other features
Utilizes Snabbdom fast virtual DOM implementation
Type safe DSL builders
Drag & drop support
Type-safe REST connectivity
Integrated JS router
Support for building hybrid, mobile applications for Android and iOS with Apache Cordova.
Support for building cross-platform, desktop applications with Electron.
Compatible with modern browsers (MS Edge, Firefox, Chrome, Safari, Opera)
Karma testing framework support
Last updated