1

Kotlin 官方文档告诉它支持 Web 开发。以及它对java的替代品。我正在尝试使用 Kotlin 构建一个 Web 应用程序。到目前为止,我在 YouTube 上阅读了很多博客、课程和视频,但我没有成功地想出一个流程。我遇到了这个链接https://medium.com/bcgdv-engineering/building-a-full-stack-web-app-in-kotlin-af8e8fe1f5dc,我无法单独进行。我只需要一个前端并通过正常的 http 请求连接到我的服务器。有没有在 kotlin 中做一个网络应用程序的正确方法。请帮我解决一下这个。提前致谢!

4

1 回答 1

3

我在 Ktor 中开发 Web 应用程序时使用的工具:

前端:

  • FreeMaker - 用于模板(小胡子和速度是其他选项)
  • Bootstrap - 用于 HTML - CSS - Javascript 部分

如果您需要编写 Kotlin 样式,还有 Kotlinx.html 和 KotlinJS,它们是 JetBrains 的官方工具集。

Kotlinx.HTML Github

KotlinJS

您可以向 Ktor 本身添加功能(它们被称为特性):

特征:

  • GSON - 用于内容协商(将 Kotlin 转换为 JSON,反之亦然)
  • 位置 - 用于类型安全的路由
  • 暴露(用于轻松使用基于 JDBC 驱动程序的 PostgreSQL、MySQL 和 SQLite 的接口)
  • 身份验证(用于用户身份验证)

Ktor 网站上有所有这些功能的详细文档,将它们添加到您的项目中非常容易。

  • 添加依赖

  • install(FEATURE)在应用程序中。

对于 IDE 端:

  • IntelliJ Ultimate(Ultimate 支持 FreeMarker 的 .ftl)
  • 安装 IntelliJ 时必备的 Ktor 插件

对于网络服务器引擎:

  • Netty(我用这个)
  • 雄猫
  • 码头

您可以使用 Ktor 惊人的 DSL(领域特定语言)轻松开发 API 和 Wen 应用程序

我唯一遇到的问题是我讨厌 Kotlin Coroutines,并且更喜欢 RxKotlin 来开发异步应用程序,这似乎是可能的,但那里没有足够的教程和示例来开始使用它。+ 如果您坚持一些新的和具有挑战性的事情,那么您只能靠自己,因为互联网上没有足够的示例和指南。

但归根结底,我只将 Ktor 推荐给那些不想学习 Web 开发语言(例如 PHP、Phyton、Javascript)的 Android 开发人员,比如我自己。

于 2020-04-04T20:30:19.833 回答