6

kwebio/kweb-core:面向后端的轻量级 Kotlin Web 框架

 1 year ago
source link: https://www.jdon.com/63005
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

kwebio/kweb-core:面向后端的轻量级 Kotlin Web 框架


现代网站至少由两个紧密耦合 的组件组成,一个在浏览器中运行,另一个在服务器上。它们通常用不同的编程语言编写,并且必须通过 HTTP(S) 连接相互通信。
Kweb 的目标是消除这种服务器/浏览器分离,这样您就可以专注于构建您的网站或用户界面,而不是管道。

Kweb 是 Web 浏览器 DOM 的远程接口。您可以创建和操作 DOM 元素,并侦听和处理 DOM 事件。
Kweb 有一个状态系统,可以让您轻松地 将实时数据库中的值绑定到 DOM 元素。这样,当数据库更改时,元素会自动更新。
这种方法的一个常见问题是,如果它是服务器驱动的,用户界面可能会感觉迟钝。Kweb 通过 向浏览器预加载 指令来解决这个问题。这样,指令会立即在浏览器事件上执行,而无需服务器往返。
Kweb 建立在Ktor框架之上,该框架处理 HTTP、HTTPS 和 WebSocket 传输。

import kweb.*
import kweb.InputType.text
import kweb.state.KVar


fun main() {
    Kweb(port = 16097) {
        doc.body {
            val name = KVar("")
            div {
                h1().text("Enter Your Name")
                input(type = text).value = name
            }
            div {
                span().text(name.map { "Hello, $it" })
            }
        }
    }
}

197428328-9a42d5e2-f6c9-43f8-9d7c-62fe1a445dab.gif

项目点击标题


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK