我看 Kotlin

Kotlin MultiPlatform:构建跨平台应用的未来 Kotlin是一种现代化的、静态类型的编程语言,它由JetBrains开发并于2011年首次公开发布。Kotlin语言旨在解决Java语言的一些痛点,并提供了许多新的功能和语法糖,使得开发者可以更轻松地编写高效、可维护的代码。Kotlin具有以下特点:与Java互操作性:Kotlin与Java语言高度兼容,可以无缝地与Java代码进行互操作,并且可以使用Java类库和框架。简洁优雅:Kotlin简化了许多繁琐的Java语法,例如自动类型推断、空安全、扩展函数等,使得代码更简洁、易读、易于理解。 阅读详情

前几天,Kotlin 官方在旧金山举办了第一届的 KotlinConf 大会,大会上公布了 Kotlin 相关的一些进展,其中,宣布了一条重大消息:Kotlin 支持 iOS 和 Web 开发。

一时间,各大 IT 媒体的头条类似「重磅」、「重大消息」等均被 Kotlin 占领,再加上 Kotlin 很早就支持 Android,很多程序员们也大呼,学完 Kotlin 可以直接全栈了,但是,我不得要给这部分人泼盆冷水。

从 JetBrains 的角度,可以理解他们的策略,他们当然希望 Kotlin 可以跨平台发展,这样可以覆盖的面更广,一旦成功之后,将会极大的提升开发效率,减少企业的开发成本,也会让越来越多的领域接受使用 Kotlin。

但是这条路很难走,超级难。要知道以跨平台著称的 Java 直到现在,也没法完全的跨平台,Java 的跨平台也只限于 PC 端,无论你是 Windows、Mac 还是 Linux 都可以直接运行 Java 程序,现在虽然 Java 也可以用来开发 Android,但是涉及到移动端,这不是真正的跨平台,Android 开发只是使用了 Java 语言而已,其内在的底层架构和开发方式跟传统的 Java 程序开发差异很大。

移动互联网时代,其实很多编程语言都在探索跨平台开发,可能有些人不知道,Ruby 领域有个产品叫做 RubyMotion,这个产品可以让你使用 Ruby 语言开发原生 Android、iOS 以及 OSX 应用,而且得到了 Ruby 创始人 Matz 的支持,但是 RubyMotion 自 2012 年创立以来,至今 5 年时间,没有多少人了解使用这款产品,甚至如果我不提,我估计不少人甚至听都没听过,现如今使用 Ruby 编程语言的大部分开发者还都是用 Rails 来进行 Web 开发,因为 Rails 这个框架开发 Web 最大的优势是用你喜欢的 Ruby 语言可以很快速的开发 Web 网站。

前两年,Facebook 推出了 React Native,旨在解决移动端跨平台的问题,一经推出,引起无数开发者的关注与支持,然而即使这种「富二代」的跨平台框架,从项目开源到现在至今也有 2 年多时间,而背后 Facebook 花费的研究时间更是远超 2 年,目前 React Native 依然还不成熟,还存在各种各样的问题,现今的 App 开发主流仍然是原生开发,甚至很长一段时间依然会是这样。

Kotlin 的跨平台梦是挺好的,做成了确实牛逼,但是往往理想终究抵不住现实,一旦 Kotlin 定位跨平台策略,那么所涉及的技术复杂度、工作重心都会发生变化,更何况,想要跨平台到 iOS,是很难得到苹果的支持的,要知道苹果有个「亲儿子」Swift,在对待 Kotlin 的态度上是断不会像 Google 那样的开放,更何况 Swift 也一波三折,连 Swift 创始人都远走他乡,足以说明,一门新的语言让开发者拥抱有多么困难。

所以,从我个人的角度,因为 Google 与 Oracle Java 的版权问题,Google 对 Kotlin 的态度非常支持,在今年的 Google IO 2017 大会上明确宣布 Kotlin 成为 Android 开发的官方语言,最新发布的 Android Studio 3.0 更是内置了对 Kotlin 的支持,Google 的支持加上 Kotlin 本身语法的优势,我很看好 Kotlin 在 Android 领域的发展,我认为 Kotlin 官方应该抓住机会,先从 Android 领域着手,把主要精力放在 Android 开发上,争取让大部分 Android 开发者接受、使用 Kotlin,之后再慢慢的扩散到其他领域,如果一开始精力就放在跨平台上,结果可能会适得其反。

我之前写过一些未来很有潜力的编程语言,很多读者问我怎么没提到 Kotlin?虽然 Kotlin 语言可以做很多事,比如写脚本、开发 Android、与 js 交互等,但我个人觉得 Kotlin 目前的机会还在 Android 上,Google 的支持以及大量的 Android 开发者的基数,如果 Kotlin 能抓住机会,抓住众多 Android 开发者的用户,那么才算是有潜力,在其他领域的应用,目前来看很难让别的开发者接受并使用。

当然了,Kotlin 官方也可能只是拿跨平台造个势而已,但是无论是造势还是真的下注在跨平台,这都是一个漫长而艰难的道路,如果是出于兴趣,想多了解下 Kotlin,那么是支持的,而那些抱着学好 Kotlin 就可以变身全栈工程师的开发者们,建议还是洗洗睡吧。

PS:想要学习 Kotlin 的可以在公众号「googdev」回复关键字「kotlin」 获取相关学习资料,觉得写的不错可以点赞、帮转下,谢谢。

Kotlin:所有的一切还是从Hello Kotlin开始 Kotlin和Java也一样可以有多种的开发方式,我们可以根据自己的实际需求进行选择。如下: 1. 终端命令行进行Kotlin的编写、编译和运行,类似与Java中的javac编译、java运行; 2. 使用Intelliy IDEA进行开发,一般用于运行和开发控制台应用程序等; 3. 当然少不了我们的Android Studio,不用多说它一般用于开发Android程序;本篇文章中,我们会带着 阅读详情

相关推荐

[前沿技术] AMD FSR 1.0源码解析:EASU算法实现细节与优化策略

本文深入解析了AMD FSR 1.0技术的核心——EASU(边缘自适应空间升频)算法。通过剖析其源码,详细阐述了EASU如何利用12-tap采样窗口、基于Lanczos滤波器的多项式近似以及自适应的边缘检测机制,在无需AI模型的情况下实现高质量图像放大。文章重点揭示了其极致的GPU优化策略,包括寄存器利用、采样优化和避免动态分支,为理解高性能图形算法提供了绝佳范例。

docker7nomad的博客 539

如何使用 Kotlin Multiplatform 构建跨平台应用程序

KMM 或 Kotlin Multiplatform Mobile 是用于开发跨平台应用程序的 SDK。可以创建多平台应用程序并与 android 和 iOS 平台共享它们。然而,Kotlin Multiplatform Mobile 的常见用例包含原生 UI 的实现或使用特定于平台的 API。开发和维护移动应用程序需要投入大量精力和精力。但是,在为不同平台(例如(iOS、Android 等)创建和测试跨平台移动应用程序时)存在各种挑战。在当今的数字世界中,跨平台构建应用程序是最苛刻的应用程序开发过程。

xiaokangss的博客 2144

gRPC之gRPC开发流程与入门案例

gRPC之gRPC开发流程与入门案例

YIYIYI 3756

移动端跨平台方案Kotlin Multiplatform

KMM(Kotlin Multiplatform Mobile)_是一个用于跨平台移动开发的 SDK。借助 KMM,您可以开发多平台移动应用程序,并在 Android 和 iOS 之间共享部分应用程序,例如核心层、业务逻辑、表示逻辑等。KMM 使用Kotlin的多平台功能和专为移动开发设计的功能,使用 Android Studio的Kotlin Multiplatform Mobile (KMM) 插件可帮助您开发适用于 Android 和 iOS 的应用程序。

weixin_38636091的博客 1705

GPU算力租用平台推荐

阿里云作为中国领先的云计算服务提供商,提供了丰富的GPU云服务器实例,包括NVIDIA Tesla V100、A100等多种高性能GPU型号。阿里云GPU云服务器适用于深度学习、科学计算、图形渲染等多种场景,能够满足不同用户的计算需求。

hong161688的博客 8170

LSTM cell结构的理解和计算

LSTM是传统RNN网络的扩展,其核心结构是其cell单元,网上LSTM的相关资料繁多,质量参差不齐,下面主要结合LSTM神经网络的详细推导和 Christopher Olah的blog两篇文章中的内容进行说明。主要介绍网络如何计算,为何这么算先不展开:)。前者一副图加上29个公式,简洁明了;后者娓娓道来,适合初学者。首先是LSTM cell最常见的结构图: 这是变形的版本(找不到更清晰的版本了),

songhk0209的博客 2万+

kotlin Android通过GPS定位/网络定位获取当前经纬度及位置信息

使用 kotlin 通过GPS定位/网络定位获取当前经纬度及位置信息。

weixin_51355264的博客 4661

Skill的嵌套

Skill的嵌套就很简单,直接引用其他的Skill就好了。在一个 Skill 的 SKILL.md 中,可以明确指示 Claude 去读取另一个 Skill 的文档。

Criss@陈磊 953

Kotlin多平台最佳架构指南

在 Kotlin Multiplatform Mobile 中,市场上有多种架构库,用于解决 KMM 中存在的多种问题。在 2023 年,Circuit 架构、BLoC 架构、Decompose 架构等都将推出,当前存在着大量的架构库。但我们是否应该使用这些架构?一个架构不应该依赖于任何带来维护问题的架构库。我宁愿考虑使用简单而干净的 MVVM 架构,它可以轻松扩展,并对未来的修改开放,而不依赖于任何其他的 API 或库。Kotlin多平台最佳架构指南。

chuyouyinghe的专栏 747

【Matlab】多旋翼无人机视觉伺服跟踪控制程序

本文介绍了基于Matlab的多旋翼无人机视觉伺服跟踪控制程序开发方法。该系统采用视觉感知、坐标转换、伺服控制和仿真验证四个核心模块,通过HOG+SVM目标检测、Shi-Tomasi特征提取和PID双闭环控制算法实现动态目标跟踪。详细阐述了相机标定、目标检测、坐标转换及伺服控制等关键环节的Matlab实现代码,并进行了仿真验证。结果表明该系统在±0.1m的跟踪精度下可实现100Hz的实时处理,适用于室内外复杂场景。文章还提出了工程应用中的优化建议,为无人机视觉伺服系统的开发提供了完整的技术方案。

unber的博客 505

RK3588开发笔记-ES8311音频芯片调试记录

本篇博客主要记录如何在RK3588平台试ES8311音频芯片的过程。这包括硬件连接、内核配置、驱动程序调试和测试步骤。通过以上步骤,我们成功在RK3588平台上调试了ES8311音频芯片。这包括硬件连接、内核配置、设备树配置、驱动加载以及音频测试。希望这篇调试记录能为其他开发者提供一些帮助。如果你有任何问题或建议,欢迎留言讨上调论。

flypig has a dream! 3161

Kotlin第一弹:Kotlin详细介绍

Kotlin是一门用于现代多平台应用的静态编程语言,其中被广泛用于Android 平台的开发,被称之为Android世界的Swift。它由大名鼎鼎的JetBrains 公司设计开发并开源,著名的IDE工具就是他们的产品,所以无疑他们是对编程语言设计领域最为熟悉的专家。Kotlin从2016年发布1.0的release版本开始至今,使用的开发者数量快速增长。此外Kotlin已经拥有强大的生态和社区开发者的支持:•Kotlin是著名的IDE厂商JetBrains。

m0_58941767的博客 8600

基于学术研究于NASA官网GPM卫星数据下载详细教程

基于学术研究于NASA官网GPM卫星数据下载详细教程

珞瑜的博客 8654

【Kotlin】Kotlin环境搭建

Kotlin 是一种现代但已经成熟的编程语言,由 JetBrains 公司于 2011 年设计和开发,并在 2012 年开源,在 2016 年发布 v1.0 版本。在 2017 年,Google 宣布 Kotlin 正式成为 Android 开发语言,这进一步推动了 Kotlin 的普及和发展。Kotlin 旨在解决 Java 语言在编码效率和代码质量方面存在的问题,并且与 Java 语言完全兼容。

little_fat_sheep 4045

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

kotlin入门系列-第一个kotlin的android demo

google I/O后浏览新闻知道了kotlin已经是Android开发第一语言,很想试试这个新的语言开发有什么不同。   在Ubuntu上我的Android studio是2.3版本的,因此,先配置kotlin的环境是第一步,在“file”--“setting”搜索plugin然后在里面搜索kotlin插件,就能够找到对应的了,然后下载,如下图所示:   幸好不越墙也是可以下载的,不过公

BlackSmith 3334

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

2. Kotlin语言环境安装与配置——《跟老吕学Kotlin》

无论是在 Windows、Linux 还是 Mac 上安装和配置 Kotlin,都需要先安装 JDK。然后,从 Kotlin 官网下载对应操作系统的安装包,并按照提示进行安装。安装完成后,将 Kotlin 的 bin 目录添加到系统的 PATH 环境变量中(对于 Linux 和 Mac),以便在命令行中直接运行 Kotlin 编译器。最后,通过输入命令来验证 Kotlin 是否安装成功。

Python老吕的博客 2532

Kotlin学习(二)Kotlin基础语法

学习一门语言,我总是会先学习一下基本的语法。因为并不急着应用Kotlin去开发项目,所以,还是有很多的时间去学习。今天,简单的总结一下Kotlin的基本语法。

zhaojun的博客 2万+

Kotlin 基本介绍(二)

使用 IntelliJ IDEA 或 Android Studio 可以获得最佳体验。使用 KOTLIN 在线游戏场,无需安装即可试用 KOTLIN。Kotlin 的 IntelliJ IDEA 插件是。在 IntelliJ IDEA 中使用转换器非常简单。在您开始学习 Kotlin 时,转换器可以在。,幸运的是,我们创建一个不错的小捷径。在大多数实际情况下,会。Kotlin 是一种。

面向价值,效用至上 1019

Kotlin 编译流程简介

Kotlin 编译流程简介 这里主要介绍 .kt 文件的处理编译过程。 如果使用命令行编译 kotlin 文件,例如编译 hello.kt 文件,执行如下命令,参考 kotlin command-line kotlinc Hello.kt 在 kotlin 源码中,位于 kotlin/compiler/cli/bin/kotlinc 文件中,这个 shell 文件是 kotlin 编译的入口,然...

花不掉泪的博客 3136

Kotlin 扩展

Kotlin扩展功能详解(2025中文版) Kotlin扩展功能允许在不修改类源代码的情况下为现有类添加新方法或属性,极大提升了代码的灵活性和可读性。相比Java需要继承或装饰者模式,Kotlin扩展语法更简洁。2025年Kotlin 2.0进一步优化了扩展的性能和类型检查,在Jetpack Compose和KMP项目中应用广泛。 扩展功能包括: 扩展函数:为类添加新方法,如String.addExclamation() 扩展属性:为类添加计算属性,如String.lastChar 泛型扩展:为泛型类型添加

m0_57545130的博客 1150

基于kotlin native的C与kotlin互相调用

本文测试环境为ubunut,没有使用IDE;从基本层面了解kotlin native环境中,C和kotlin的编译,互相调用。

lc999102的专栏 1666

Kotlin教程:Kotlin入门

正如我在文章“ 什么是Kotlin? Java替代方案解释说 ,“ Kotlin是一种通用的,开源的,静态类型化的“实用”编程语言,结合了面向对象和功能性编程功能。 您可以使用Kotlin为Java虚拟机(JVM),Android,浏览器以及MacOS,Linux,Windows,iOS,WebAssembly和Android上的本机应用程序构建应用程序。 Kotlin由JetBrains创建...

cxu0262的博客 2667

【Kotlin】IntelliJ IDEA 创建 Kotlin 项目

【代码库】系列博客, 展示 ①常用代码片段 及 ②使用流程, 以便快速开发, 不讲解原理 及 过程. 一.列表显示 1.ListView | SimpleCursor 简单展示列表 (1)简单列表

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 2622

Kokoro TTS:82M 参数,5 分钟生成中文语音

Kokoro 是一个开源文本转语音(TTS)合成库,模型只有 8200 万参数。pip 装完就能跑,生成 24kHz 音频,支持英语、中文等 9 种语言。 ## 📦 一条 pip 命令安装 ```bash pip install kokoro ``` 模型权重会在首次运行时自动下载,不用你手动找文件。 如果你的机器还要合成西班牙语、法语等,需要先装一个发音引擎。Debian/Ubuntu

gitblog_00878的博客 760

kotlin_Kotlin

kotlinEver since Google has made Kotlin an official language for Android, the programming language is becoming increasingly popular among developers all around the globe. Some of the questions are: 自从...

从零开始的教程世界 734

Kotlin学习及遇到的问题

2020年春节期间,疫情爆发,这里很多企业延迟上班。相信和我一样,不工作的容易让人产生危机感。因为我是Android开发工程师,进2年Kotlin发展很快,很多技术公司都在使用转变Kotlin开发APP,为了提升自己,我决定将一个已经上线的简单项目转换成Kotlin,这里说一下我在转换中遇到的问题。 项目还没有完全转换,这里我只说下其中一部分,下面是我的项目包 首先说下项目架构是基于MVP的,...

wanghangyang的博客 451
上一篇: Google 最高级别工程师的教育梦
下一篇: 社会我张哥,人狠话不多。
stormzhangV
stormzhangV 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄12年 1万+粉丝 984原创
评论 15
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值