首页
学习
活动
专区
圈层
工具
发布

今天Kotlin 1.3正式发布:支持协程和多平台组件Kotlin 开发者社区

,此外,Kotlin 的跨平台功能将为 Android 和 iOS 应用程序等组件之间共享业务逻辑,服务器也可以与 Web 和移动客户端共享逻辑,而且多平台库让日常的开发变得便捷。...详情请阅读:https://kotlinlang.org/docs/reference/native-overview.html 多平台项目和工具 Kotlin 团队称,能在所有平台上运行是 Kotlin...的目标,但达成这个目标的前提是,得先在多平台间实现代码共享,通过支持 JVM、Android、JavaScript 和 Native,Kotlin 现在已经可以处理现代应用程序的任何组件。...虽然 Kotlin 的多平台功能仍处于试验阶段,但 1.3 版本算是向前迈出了一大步。 Kotlin 1.3 还附带了一组多平台库,涵盖了 HTTP、序列化和协同管理等日常任务。...编写多平台代码最简单的方法是依赖这些库,你还可以创建自己的多平台库,将特定平台的依赖项包装到通用 API 中。

1.6K20

解决thrifty-compiler.jar运行报错不能编译IDL生成java class代码问题

,不是Fat-jar),而通过查看thrift的gradle脚本,可以看到脚本中已经提供了shadowJar这个task用于生成thrifty-compiler的Faj-Jar,所以要想得到可执行的thrifty-compiler.jar...,最直接的办法就是下载thrifty的源码,执行shadowJar任务编译出可命令行执行的thrifty-compiler.jar。...编译thrifty thrifty是用kotlin语言写的,项目构建工具是用gradle,所以要编译thrifty,需要安装kotlin compiler和gradle....fat-jar gradlew shadowJar gradlew shadowJar 命令输出: J:\thrifty>gradlew shadowJar w: J:\thrifty\thrifty-schema...外还生成了一个22MB大小的thrifty-compiler-1.0.0-all.jar文件,这个就是包含了thrifty-compiler所有依赖库的可运行fat-jar。

1.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何使用 Ktor 快速开发 Web 项目

    Ktor 是一个由 Kotlin 团队打造的 Web 框架,可用于创建异步、高性能和轻量级的 Web 服务器,并使用 Kotlin 惯用的 API 构建非阻塞的多平台 Web 客户端。...如果使用 Kotlin Multiplatform 构建跨平台项目时,使用 Ktor 的客户端作为 Http 框架是一个不错的选择。...客户端是一个支持 JVM,JS,Android 和 iOS 的多平台库,现在经常在跨平台移动应用程序中使用。 二. Ktor 服务端的使用 我们可以通过多种方式运行 Ktor 服务端程序: ?...我们以 fat jar 为例,使用 gradle 的 shadow 插件可以方便地打包 Ktor 的应用。...jar 包名称以及 jar 包的入口 Main 函数: plugins { id 'java' id 'kotlin' id 'com.github.johnrengelman.shadow

    6.2K10

    前端开发者的 Kotlin 之旅:实战Maven与Gradle项目

    本文是"前端开发者的 Kotlin 之旅"系列的第六篇,重点介绍通过实战项目来掌握Maven与Gradle构建系统,以及如何创建、发布和使用Kotlin库。...本文将通过一个实际的项目案例,将这些知识点串联起来,展示如何创建一个包含可重用库和应用程序的多模块Kotlin项目。作为前端开发者,我们已经熟悉了npm包的创建和发布流程。...Maven发布流程详解4.1 配置发布任务在weather-api模块的build.gradle.kts文件中,我们定义了Maven发布配置:plugins { kotlin("jvm") version...:Kotlin在IDE中有极佳的工具支持,而前端开发更依赖于各种独立工具部署模型:Kotlin应用通常打包为JAR/WAR,而前端应用通常是静态资源8....总结作为前端开发者,学习Kotlin和Maven/Gradle生态系统可以拓宽我们的技术视野。虽然工具和语法有所不同,但很多概念和最佳实践是通用的。

    61600

    Capsule:开源的JVM应用部署工具

    但JVM应用程序对环境的要求非常少——只需一个JVM和一个内核,然而意想不到是, 目前为止尚不存在一个通用的JVM应用部署工具/机制。Fat JARs并不总奏效,而且它们需要平台特定的脚本。...Capsule不仅适用于Java应用程序,还能应用于所有JVM语言,从Jruby、Jython和Groovy,到Kotlin、Clojure和Scala,再到Frege和OCaml-Java。...无论多么复杂,不管有多少JAR文件组成,或者有多少脚本语言的源文件还是本地库,Capsule都可以包装任何JVM应用到一个名为 Capsule的可执行JAR,并且可以在任何平台上运行。...这就是fat JAR的工作方式。如果愿意, capsules本身也可以置于Maven repositories,在发布时进行下载。 安装对主机系统的影响最小,并对更新选择性支持。...它们可能需要不可移植的发布脚本,以便于在操作系统shell命令下执行,并选择正确的JRE版本、设置类路径、代理和JVM参数。 所有平台都支持JVM,必要的脚本和本地构件可能也一样需要。

    1.4K90

    《Kotin 极简教程》第16章 使用 Kotlin Native第16章 使用 Kotlin Native《Kotlin极简教程》正式上架:

    第16章 使用 Kotlin Native 非常感谢您亲爱的读者,大家请多支持!!!...Kotlin Native能把 Kotlin代码直接编译成机器码,也就是站在了跟 C/C++、Go和Rust的同一个层次,于是这个领域又添一位竞争对手。...Kotlin Native 的设计初衷是为了支持在非JVM虚拟机平台环境的编程,如 ios、嵌入式平台等。同时支持与 C 互操作。...它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime...Kotlin 将会在嵌入式系统和物联网、数据分析和科学计算、游戏开发、服务端开发和微服务等领域持续发力。

    1.6K30

    Gradle—创建简单的项目

    项目 & 任务 Gradle 的一切都是基于项目和任务的。 构建由一个或多个项目组成。项目的概念很抽象,它取决于你要用Gradle 做什么 。项目可以是 一个 Jar 库或者一个 web 程序。...也可以是一个 zip 压缩包,也可以是将项目部署到生产环境等等; 一个项目是由一个或多个任务组成的;任务是构建工作的原子单位,最小的工作单元。例如:编译字节码,创建 jar 。...创建一个简单的构建 新建一个目录 使用 init 命令创建构建项目 Gradle 现在支持两种–Kotlin DSL 和 Groovy DSL .默认是 基于Groovy的,如果要使用 Kotlin 可以...Gradle提供了通过Groovy或基于kotlin的DSL创建和配置任务的api。...scan 选项或者明确使用构建扫描插件都可以免费的在 https://scans.gradle.com 创建一个扫描视图分析 gradle zip --scan 在同一服务条款后会直接发送到 构建扫描的平台

    1.7K20

    一站式Flink&Spark平台解决方案——StreamX

    什么是StreamX,StreamX 是Flink & Spark极速开发脚手架,流批一体一站式大数据平台。自2021年3月开源以来,贡献者已累计发展到10多位。...而StreamX就是专为解决这些问题而出现的,其提供了如下的一些功能: 开发脚手架 Kubernetes部署模式支持 YARN-Application部署模式支持 多版本Flink支持(1.12.x,...) 在线参数配置 项目配置和依赖版本化管理 在线管理依赖(maven pom)和自定义jar 自定义 udf、连接器等支持 Flink SQL WebIDE 有的同学可能会使用Zeppelin比较多,两者是有一定区别的...(StreamX对Flink多版本的支持演示视频) StreamX近期也发布了最新的版本StreamX 1.2.0。....x / 1.14.0 新增打包机模块,任务打包 fat-jar 更方便 谁在使用StreamX: 在2021年11月18日,StreamX 也成功的入选了开源中国的2021年度最有价值开源项目。

    1.2K10

    《Kotlin极简教程》第1章 Kotlin简介

    我们这里讲的Kotlin,就是一门以这个Котлин岛命名的现代程序设计语言。它是一门静态类型编程语言,支持JVM平台,Android平台,浏览器JS运行环境,本地机器码等。...Kotlin 具有很多下一代编程语言[1][2]静态语言特性:如类型推断、多范式支持、可空性表达、扩展函数、模式匹配等。...Github 上面的代码量破千万,8000多基于kotlin项目。使用 Kotlin 的人逐渐增多。 Kotlin 是由工程师设计,各种细节设计非常切合工程师的需要。...语法近似 Java 和 Scala,且已活跃在 Android 开发领域,被誉为 Android 平台的 Swift。...两个命令就是Kotlin语言的编译.kt文件和运行Kt.class文件命令。

    1.6K20

    落地包体积监控,用Kotlin写一个APK差异分析CLI

    简介 Clikt(发音为“clicked”)是一个多平台的 Kotlin 库,可以使编写命令行界面变得简单和直观,它是“Kotlin 的命令行界面”。...Clikt 具有以下特点: 命令的任意嵌套; 可组合、类型安全的参数值; 生成帮助输出和 shell 自动完成脚本; 针对 JVM、NodeJS 和本地 Linux、Windows 和 MacOS 的多平台包...; 简而言之,Clikt 是一个功能丰富的库,可以帮助开发者快速构建命令行工具,同时具有灵活的自定义和多平台支持。...常见问题 如何打jar包 上面我们实现了 jar包 的编写和本地调试,那该怎么打成 jar包 在命令行运行呢?...不过从打包方式上而言,其最终也需要依附于jar任务。 这里感谢 虾哥(掘金: 究极逮虾户) 解惑,原本以为 exec 这种方式会导致传参时的部分默认值无法设置问题。

    76510

    一站式Flink&Spark平台解决方案——StreamX

    ****什么是StreamX,StreamX 是Flink & Spark极速开发脚手架,流批一体一站式大数据平台。 自2021年3月开源以来,贡献者已累计发展到10多位。...而StreamX就是专为解决这些问题而出现的,其提供了如下的一些功能: 开发脚手架 Kubernetes部署模式支持 YARN-Application部署模式支持 多版本Flink支持(1.12.x,...) 在线参数配置 项目配置和依赖版本化管理 在线管理依赖(maven pom)和自定义jar 自定义 udf、连接器等支持 Flink SQL WebIDE 有的同学可能会使用Zeppelin比较多,两者是有一定区别的...在最新的版本中支持了以下功能: 与 Hadoop 解耦, 平台在启动时不在强制依赖 Hadoop 环境 较完整的支持了 Kubernetes 部署模式(Native Application/Native....x / 1.14.0 新增打包机模块,任务打包 fat-jar 更方便 在2021年11月18日,StreamX 也成功的入选了开源中国的2021年度最有价值开源项目。

    87621

    Kotlin极简教程(第一章 Kotlin简介)

    它是一门静态类型编程语言,支持JVM平台,Android平台,浏览器JS运行环境,本地机器码等。支持与Java,Android 100% 完全互操作。...Kotlin 具有很多下一代编程语言1静态语言特性:如类型推断、多范式支持、可空性表达、扩展函数、模式匹配等。...Kotlin 是由工程师设计,各种细节设计非常切合工程师的需要。语法近似 Java 和 Scala,且已活跃在 Android 开发领域,被誉为 Android 平台的 Swift。...两个命令就是Kotlin语言的编译.kt文件和运行Kt.class文件命令,这两个命令有点类似于Java的javac和java命令。...分别是将文件编译成.class字节码文件和运行文件。 我们来看一下kotlinc的命令: #!

    2.5K70

    Spark On K8s实战教程

    1、故障迁移2、资源调度3、资源隔离4、负载均衡5、跨平台部署二、Spark on K8s工作原理具体流程,包括以下几步:①:用户使用kubectl 创建 SparkApplication 对象,提交sparkApplication...另外它也没有环境依赖,因为运行时所有的大数据作业都是容器化的,不需要节点上有一些提前预置好的环境,也就决定了运行的时候多版本可以共存。优势2:是其弹性优势。...jar 在打包的时候包含以来到jar 中,比较方便,但是可能会造成jar 太大通过pacakges 坐标模式(运行时自动下载依赖)in spark + fat jar 混合模式 将部分常用,同时比较重要的放到...spark 中,fat jar 只存储应用自己需要的领域特定的五、SparkSQL迁移到K8s的收益1、可以将计算和存储进行解耦,即存算分离。...而且还需要挂载云盘,云盘面临着Shuffle数据量的问题,挂的比较大会很浪费,挂的比较小又支持不了Shuffle Heavy的任务。

    1.2K10

    大规模 Hadoop 升级在 Pinterest 的实践

    挑战 自 Pinterest 的批处理平台开始(大约 2016 年)以来,我们一直在使用 Hadoop 2.7。随着时间的推移,我们的平台处理的工作负载不断增长和发展。...woodstox-core-5.0.3.jar 和 wstx-asl-3.2.7.jar 之间的不兼容导致了作业失败。...将用户应用程序与 Hadoop jar 解耦 在 Pinterest,大多数数据管道都使用 Bazel 构建的 fat jars。...我们总是优先使用那些 fat jar 中的类而不是本地环境中的类,这意味着在使用 Hadoop 2.10 的集群上运行这些 fat jar 时,我们仍将使用 Hadoop 2.7 类。...为了解决这个问题(在2.10集群中使用 2.7 jar),我们决定将用户的 Bazel jar 从 Hadoop 库中解耦;也就是说,我们不再将 Hadoop jar 放在 fat user Bazel

    1.2K20

    只会用 Spring Boot 创建微服务?这 4 种替代方案绝了!

    前言 在 Java 和 Kotlin 中, 除了使用Spring Boot创建微服务外,还有很多其他的替代方案。...Ktor服务 该框架是为 Kotlin 编写和设计的。...所以uber-jar从字面上理解就是super-jar,这样的jar不但包含自己代码中的class ,也会包含一些第三方依赖的jar,也就是把自身的代码和其依赖的jar全打包在一个jar里面了,所以就很形象的称其为...优点 1、Eclipse MicroProfile 的实现 2、该框架为多种 Spring 技术提供了兼容层:DI、 Web、Security、Data JPA Spring Boot 优点 1、平台成熟度和生态系统对于大多数日常任务...此外,starter和auto-configuration的概念简化了开发 2、专家多,文档详细 我想很多人都会同意 Spring 在不久的将来仍将是 Java/Kotlin开发领域领先的框架。

    1.1K10

    只会用 Spring Boot 创建微服务?那你就 OUT 了,还有这 4 种替代方案!

    Ktor服务 该框架是为 Kotlin 编写和设计的。...该框架目前支持 Java、Kotlin 和 Groovy 语言。依赖是在编译时注入的,与 Spring Boot 相比,这会导致更少的内存消耗和更快的应用程序启动。...所以uber-jar从字面上理解就是super-jar,这样的jar不但包含自己代码中的class ,也会包含一些第三方依赖的jar,也就是把自身的代码和其依赖的jar全打包在一个jar里面了,所以就很形象的称其为...Quarkus 优点 1、Eclipse MicroProfile 的实现 2、该框架为多种 Spring 技术提供了兼容层:DI、 Web、Security、Data JPA Spring Boot 优点 1、平台成熟度和生态系统对于大多数日常任务...此外,starter和auto-configuration的概念简化了开发 2、专家多,文档详细 我想很多人都会同意 Spring 在不久的将来仍将是 Java/Kotlin开发领域领先的框架。

    7K20
    领券