Skip to content
B站视频 2026-07-24
从 allopen 到 Compose——编译器插件到底能做什么?
10:46
从 allopen 到 Compose——编译器插件到底能做什么?

拆解 Kotlin 编译器插件体系:从注册入口到 IR 变换的完整链路

B站视频 2026-07-17
Lambda 和 ::function 的编译真相
18:56
Lambda 和 ::function 的编译真相

揭秘 Kotlin 函数式编程的编译基石:Lambda 表达式、函数引用、SAM 转换的实现原理

B站视频 2026-07-10
Kotlin 语法糖编译后变成了什么?(对照 Java)
29:15
Kotlin 语法糖编译后变成了什么?(对照 Java)

用三栏对比揭秘六大语法糖的编译真相

B站视频 2026-07-03
suspend 函数编译后变成了 switch-case 状态机?
22:55
suspend 函数编译后变成了 switch-case 状态机?

揭秘 Kotlin 协程最核心的编译变换:从 suspend 到 CPS + 状态机

PPT 演示 2026年07月01日

Kotlin 跨平台互操作(Interop)的“血泪史”

从 JVM 兼容妥协到 KMP 多目标语言演进与设计哲学拆解

B站视频 2026-06-26
Kotlin 2.4 更新速递
72:50
Kotlin 2.4 更新速递

点击在 Bilibili 打开观看完整视频...

B站视频 2026-06-14
Remote Compose 是怎么回事?
07:05
Remote Compose 是怎么回事?

梦到啥说啥

B站视频 2026-06-13
Kotlin 的内联和泛型结合使用有什么意义?
05:31
Kotlin 的内联和泛型结合使用有什么意义?

梦到啥说啥

B站视频 2026-06-12
Kotlin Native 的编译流程是怎样的?
07:18
Kotlin Native 的编译流程是怎样的?

梦到啥说啥

B站视频 2026-06-11
我是怎么用 AI 的?
14:52
我是怎么用 AI 的?

梦到啥说啥

开源项目 2026年04月30日
klib-lens

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2026年04月24日
KotlinMetaProgrammingInAction-Sources

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2026年04月20日
kotlin-trim-indent

This is a Kotlin compiler plugin for a compile-time indent trim of raw String.

#compile-plugin #compiler #kotlin
开源项目 2026年03月25日
kotlin-ir-printer

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2026年03月25日
kotlin-compile-testing-extensions

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

B站视频 2026-01-05
Kotlin Native 的编译为什么慢?
08:15
Kotlin Native 的编译为什么慢?

Kotlin Native 答疑时间

B站视频 2026-01-04
与 Android 的 JVM 相比性能和内存哪个表现更好?
08:28
与 Android 的 JVM 相比性能和内存哪个表现更好?

Kotlin Native 答疑时间

B站视频 2026-01-03
Kotlin Native 以后的重心在哪里?
05:02
Kotlin Native 以后的重心在哪里?

Kotlin Native 答疑时间

B站视频 2026-01-02
Kotlin Native 的生态给我们带来什么机遇?
02:54
Kotlin Native 的生态给我们带来什么机遇?

Kotlin Native 答疑时间

B站视频 2026-01-01
Compose 多平台为什么只用 Native 实现了 iOS 端呢?
07:18
Compose 多平台为什么只用 Native 实现了 iOS 端呢?

Kotlin Native 答疑时间

B站视频 2025-12-31
Kotlin 编译器为什么不使用  Kotlin Native 来实现原生运行呢?
04:08
Kotlin 编译器为什么不使用 Kotlin Native 来实现原生运行呢?

Kotlin Native 答疑时间

B站视频 2025-12-30
JDK 25 的 FFI 会使 Native 与 JVM 互调用更方便吗?
03:03
JDK 25 的 FFI 会使 Native 与 JVM 互调用更方便吗?

Kotlin Native 答疑时间

B站视频 2025-12-29
Native 与 JVM 编译流程有什么区别?
07:23
Native 与 JVM 编译流程有什么区别?

Kotlin Native 答疑时间

B站视频 2025-12-28
Kotlin Native 如何系统学习?
05:41
Kotlin Native 如何系统学习?

Kotlin Native 答疑时间

B站视频 2025-12-27
Kotlin Native 有什么优势?
05:48
Kotlin Native 有什么优势?

Kotlin Native 答疑时间

开源项目 2025年12月18日
jumpcutter2

jumpcutter with edl supports.

B站视频 2025-08-14
论一个 KPI 开源项目的自我修养
07:43
论一个 KPI 开源项目的自我修养

项目地址:https://github.com/Tencent-TDS/KuiklyBase-kotlin/

B站视频 2025-08-10
你是什么等级的程序员?
36:37
你是什么等级的程序员?

项目链接:https://github.com/bennyhuo/programmer-levels

开源项目 2025年08月03日
programmer-levels

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

B站视频 2025-06-17
谁是第一个给 ovCompose 提 PR 的开发者?
02:14
谁是第一个给 ovCompose 提 PR 的开发者?

腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS

B站视频 2025-06-16
ovCompose 与 KuiklyUI 的区别是什么?
03:09
ovCompose 与 KuiklyUI 的区别是什么?

腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS

B站视频 2025-06-15
鸿蒙原生 UI 混排绘制不同步怎么办?
04:06
鸿蒙原生 UI 混排绘制不同步怎么办?

腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS

B站视频 2025-06-14
Kotlin 适配鸿蒙遇到了哪些性能问题?
03:36
Kotlin 适配鸿蒙遇到了哪些性能问题?

腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS

B站视频 2025-06-13
Kotlin 适配鸿蒙最大的麻烦是什么?
04:07
Kotlin 适配鸿蒙最大的麻烦是什么?

腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS

B站视频 2025-06-12
ovCompose 做了哪些锁优化?
05:41
ovCompose 做了哪些锁优化?

腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS

B站视频 2025-06-11
Compose 在 iOS 上最大的问题是什么?
05:08
Compose 在 iOS 上最大的问题是什么?

腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS

B站视频 2025-06-10
如何在 iOS 上给 Compose 自研画布?
03:48
如何在 iOS 上给 Compose 自研画布?

腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS

B站视频 2025-06-09
ovCompose 鸿蒙的原生 UI 混排是怎么实现的?
03:38
ovCompose 鸿蒙的原生 UI 混排是怎么实现的?

腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS

B站视频 2025-06-08
ovCompose 为什么没有选择 Kotlin JS?
03:45
ovCompose 为什么没有选择 Kotlin JS?

腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS

B站视频 2025-06-07
腾讯视频的 ovCompose 和 Kuikly 是什么关系?
04:18
腾讯视频的 ovCompose 和 Kuikly 是什么关系?

腾讯视频正式开源支持 Android、iOS、鸿蒙三端一码的 KMP 跨端方案,详见:https://github.com/Tencent-TDS

开源项目 2025年06月05日
DiveIntoKotlinCoroutines-Sources

《深入理解 Kotlin 协程》源码

#kotlin #kotlin-coroutines
B站视频 2025-06-02
Kotlin 服务端有前途吗?
14:04
Kotlin 服务端有前途吗?

聊聊 Kotlin × Compose 跨平台

B站视频 2025-05-28
Compose 如何应用到鸿蒙?
04:12
Compose 如何应用到鸿蒙?

聊聊 Kotlin × Compose 跨平台

B站视频 2025-05-27
Compose 跨平台最大的优势是什么?
07:17
Compose 跨平台最大的优势是什么?

聊聊 Kotlin × Compose 跨平台

B站视频 2025-05-26
国内大厂的开源项目有什么困境?
05:47
国内大厂的开源项目有什么困境?

聊聊 Kotlin × Compose 跨平台

B站视频 2025-05-25
桌面平台什么时候可以不依赖 JVM?
05:25
桌面平台什么时候可以不依赖 JVM?

聊聊 Kotlin × Compose 跨平台

B站视频 2025-05-24
Compose 多平台的前景如何?
07:38
Compose 多平台的前景如何?

聊聊 Kotlin × Compose 跨平台

B站视频 2025-05-23
Kotlin 跨端能替代 Flutter 吗?
09:48
Kotlin 跨端能替代 Flutter 吗?

聊聊 Kotlin × Compose 跨平台

B站视频 2025-05-22
Compose iOS 有什么坑?
09:51
Compose iOS 有什么坑?

聊聊 Kotlin × Compose 跨平台

开源项目 2024年07月23日
CppCoroutines

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2024年07月01日
CoroutineLite

Simple implementation of kotlinx.coroutines to clarify the design of Kotlin Coroutines.

#coroutines #kotlin #kotlin-coroutines #tutorial
开源项目 2024年02月19日
Cpp-Tutorials

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2024年02月05日
KotlinDeepCopy

DeepCopy extensions for Kotlin Data class. Provide Reflection, Apt, Ksp and Kcp implementations.

#apt #dataclass #deepcopy #kcp #kotlin
开源项目 2024年01月22日
rust-learning

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2024年01月03日
bilibili-parser

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2024年01月02日
image-resize-tool

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2024年01月02日
Images

Images is a tool set to process images.

随笔 / 独立文章 2024年01月01日
2023 年总结

2023 年也是充实的一年。

开源项目 2023年11月18日
symbol-processing-module-support

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2023年11月14日
k2-issues

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2023年11月13日
kotlin-compiler-plugin-embeddable-plugin

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2023年11月03日
Kotlin-Tutorials

仓库持续记录以 Kotlin 为基础的视频内容的制作过程

#article #java-kotlin #kapt #kotlin #tutorial
开源项目 2023年10月19日
text-cover-simple

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2023年10月16日
java-new

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2023年10月05日
kotlin-compiler-plugin-template

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2023年09月18日
ActivityStack

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2023年08月29日
QCloudImageUploaderForMarkDown

Use this to help you upload images to QCloud and replace images urls in you markdown files.

随笔 / 独立文章 2023年08月29日
什么样的开发者才能在简历上写“精通 XXX 语言”

一般这么写的,都不算精通。

开源项目 2023年08月23日
text-cover

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2023年07月16日
Symbol-Processing-Utils

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2023年06月30日
Klue

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2023年06月10日
kotlin-code-analyzer

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

随笔 / 独立文章 2023年05月13日
接下来的一些想法

想法很多,需要慢慢花时间去落实。

开源项目 2023年04月13日
KotlinBlogTranslation

Kotlin 官方博客翻译计划

随笔 / 独立文章 2023年03月29日
说一件小事

微信公众号 “Kotlin” 即将更名为 “霍丙乾 bennyhuo”,作为我的个人公众号为大家分享技术内容。

开源项目 2023年03月25日
kotlin-grammar-tools

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2023年03月25日
kotlinp

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2023年02月18日
KotlinTuples

Kotlin tuples.

专题更新 · 2 篇 Updated 2023年01月01日
Java 11 - 16 新特性

系统总结 Java 11 到 16 版本的重要新特性、语法更新以及 API 改进。

随笔 / 独立文章 2022年12月31日
2022 总结 - bennyhuo

也还是闲不住的一年呢。

开源项目 2022年12月07日
hello-kni

Demo for Jni call Kotlin-Native lib.

#android #jni-android #kotlin #kotlin-native
开源项目 2022年12月03日
Magic-C-Programming

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2022年11月15日
anko-legacy

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2022年11月06日
Mixin

An annotation processor to mix Java or Kotlin Classes up into a single Class. Also a sample of X Processing which is an abstract layer of apt and ksp.

#android #kapt #kotlin #ksp
开源项目 2022年06月21日
TryRun

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2022年06月04日
kotlin-strip-metadata

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2022年06月02日
TieGuanYin

Activity Builder.

#activity #annotations #builder #fragment #fragments
开源项目 2022年05月11日
HackViewBinding

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2022年03月29日
SwiftCoroutinesSample

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

专题更新 · 11 篇 Updated 2022年03月27日
渡劫 C++ 协程

渡劫 C++ 协程系列文章,手把手带你理解 C++20 协程原语 (co_await, co_yield, co_return),并从零实现 Generator、Task、Dispatcher 和异步 Sleep。

开源项目 2022年03月05日
HelloDart

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2022年02月16日
KmmSample

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

专题更新 · 10 篇 Updated 2022年02月16日
闲话 Swift 协程

Swift 5.5 引入了原生的 async/await 协程机制。本专题涵盖了 Task、Actor、GlobalActor 和 TaskLocal 的全方位实战。

开源项目 2022年01月23日
SwiftCoroutinesDemo

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

随笔 / 独立文章 2022年01月20日
2021 总结 - bennyhuo

很快啊,2021 年就过去了 ……

开源项目 2022年01月17日
KotlinValueDef

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2021年12月08日
Problems

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

专题更新 · 13 篇 Updated 2021年10月02日
Java 17 新特性解析

Java 17 是长期支持(LTS)版本。本专题系统性讲解 Sealed Classes、Switch 模式匹配、Vector API、Foreign Function & Memory API 等重要新特性。

开源项目 2021年09月29日
Apt-Utils

This is a util library to help you setup apt project easily. Simply call AptContext.init(env) in your Processor, and you can access to the Filer/Messager/Types/Elements from AptContext.

开源项目 2021年09月28日
Java17-updates

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2021年09月04日
kotlin-property-delegate-extensions

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2021年08月28日
Kotlin-Library-Template

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2021年06月21日
TouchAssistant

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2021年06月05日
PortableAndroidHandler

Pure Java implementation of Android Handler.

随笔 / 独立文章 2021年06月04日
重构代码的时候千万小心,SAM 转换可能会引发一个奇怪的运行时类不能访问的异常

SAM 转换是很香,不过还是要小心遇到坑

开源项目 2021年05月30日
Android-Library-Template

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2021年05月29日
Android-LuaJavax

Powerful Kotlin style API for Android Lua.

#android #androidlua #kotlin #lua #luajava
随笔 / 独立文章 2021年05月10日
[Android Studio 技巧] 快捷键的使用

有关 Android Studio 快捷键,看这个视频就够了

开源项目 2021年04月18日
GradleRepositoriesPlugin

A bunch of maven repositories with predefined functions for Gradle.

随笔 / 独立文章 2021年04月18日
如何为 Gradle 的 KTS 脚本添加扩展?

本质上还是要搞清楚 KTS 是怎么运行的

随笔 / 独立文章 2021年04月18日
快速迁移 Gradle 脚本至 KTS

接下来我们就把这个示例工程的 Gradle 脚本用 KTS 改写

随笔 / 独立文章 2021年04月12日
Gradle 创建 Task 的写法不是 Groovy 的标准语法吧?

任务名居然是以标识符的形式写出来的,你们难道没有觉得奇怪吗?

随笔 / 独立文章 2021年01月31日
《深入理解 Kotlin 协程》这书该怎么读?

趁着面试官还没看,赶紧深入了解一下~~

随笔 / 独立文章 2021年01月23日
Kotlin 1.4.30-RC 密封接口来啦!

密封类是 Kotlin 的老成员了,现在也可以有密封接口了。

随笔 / 独立文章 2021年01月18日
Kotlin 1.4.30-M1 增强的内联类是个什么东西?

内联类从 1.3 推出,一直处于实验状态。

开源项目 2020年11月23日
KotlinNativeLinuxfPICError

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

随笔 / 独立文章 2020年11月07日
要再见了吗,Kotlin Android Extension

伴随了我们这么多年的 KAE,就这么要离开我们了?

随笔 / 独立文章 2020年10月19日
说说最近官方公布的 Kotlin 的动态

Kotlin 的发展可以认为是正式进入了下一个阶段。

开源项目 2020年08月20日
KotlinDateTimeDemo

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

随笔 / 独立文章 2020年07月15日
闲聊 Kotlin-Native (0) - 我们为什么应该关注一下 Kotlin Native?

一直想写点儿 Kotlin-Native 相关的话题,今天开始~

随笔 / 独立文章 2020年06月23日
我写了一本书,《深入理解 Kotlin 协程》

没想到 Kotlin 的协程居然会成为一个有争议的话题,谁让官方材料太少呢。

随笔 / 独立文章 2020年06月14日
C 语言版的 println?

Kotlin 当中的 println 非常好用,可是 C 当中我们常用的 printf 却总是需要格式化字符,并且需要手动提供换行符。

开源项目 2020年06月10日
Kotlin1.4FeaturesSample

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

随笔 / 独立文章 2020年06月09日
Kotlin 为 Map 提供的那些默认值相关的扩展,你用过吗?

Map 的 Value 类型是一个可空类型,Kotlin 早就想好了怎么帮你优雅地面对它。

随笔 / 独立文章 2020年05月23日
Kotlin、Swift、Scala 的延迟求值

“懒”是程序员最优秀的品质之一,程序也是如此。

随笔 / 独立文章 2020年05月08日
Kotlin 的 Property Delegate 与 Swift 的 Property Wrapper

Swift 的属性代理,见识一下

随笔 / 独立文章 2020年04月19日
Kotlin Native 写 Jni 第三弹:改造成 MPP 的工程结构

前不久有个兄弟问有没有可能把之前 Native 写 Jni 的工程改造成 Gradle 的。正好借此机会把之前的工程整理得更完整一些。

开源项目 2020年04月06日
ObjectPropertyDelegate

ObjectPropertyDelegate for Kotlin class properties & functions.

随笔 / 独立文章 2020年04月06日
Kotlin 新版本也有了交叉类型和联合类型?

Kotlin 1.4 会默认使用一套新的类型推导算法,类型系统也相比之前更强大了。

随笔 / 独立文章 2020年03月26日
Kotlin 1.4 新特性预览

Kotlin 1.4 没有特别重大的更新,更多的是细节的优化。

专题更新 · 14 篇 Updated 2020年03月14日
破解 Kotlin 协程

本系列文章深入剖析 Kotlin 协程的基础概念、启动模式、调度器、异常处理、Channel、Flow 以及字节码级别的实现原理。后来作为《深入理解 Kotlin 协程》一书的技术基石。

开源项目 2020年02月24日
rx-marbles

A fork of https://bitbucket.org/achary/rx-marbles/src/master/

随笔 / 独立文章 2020年02月13日
Kotlin 官网大变样?这是要干啥?

Kotlin 官网这次更新可以算是历史上最大的一次了,跨平台、数据科学等内容也搬到了最前面。

开源项目 2019年12月31日
kotlin-coroutines-android

Useful extensions for coroutines. AutoDispose + MainScope

#android #android-support #autodispose #coroutines #kotlin-coroutines
随笔 / 独立文章 2019年12月23日
Kotlin 最近怎么样了

Kotlin 已经很成熟了。有多成熟呢?Kotlin Team 现在的重心已经是在为各个领域内的 Kotlin 实践提供支持了。

随笔 / 独立文章 2019年10月22日
Kotlin 中文论坛的使用技巧

我也是刚发现的!再也不用担心自己抛出的问题被QQ群的水友给冲掉啦!

开源项目 2019年05月13日
Kotlin-Native-Demo

A Kotlin-Native Demo with gradle and makefile.

随笔 / 独立文章 2019年05月10日
如何看待 Google 将 Kotlin 作为 Android 开发首选语言?

如果你觉得天气热不舒服,那一定是享受过凉爽之后才会有的感觉。你没有意识到 Java 的问题,那正说明你应该试试 Kotlin。

随笔 / 独立文章 2019年03月23日
== 与 equals 居然结果不一样!

== 与 equals 意见不一致的情况 Kotlin 当中 == 和 equals 是等价的,所以所有用 equals 的地方都可以用 == 来替换。 一般情况下这种说法是没问题的,连 IDE 也都会提示你: 要不要换呢?这个就看哪种更有表现力了对不,对于这种情况,换了也就换了~但事情总是有例外,例如: 这回居然不提示我了!所以这里面一定有鬼! 你们猜猜结果如何? 我去,说好的 == 等价于 equals 呢? 完了完了,这下说不好了。。扎心了老铁。。官方文档还能不能信啊。。。

随笔 / 独立文章 2019年03月11日
基于 Node.js 环境的 KotlinJs 工程的完美搭建

为什么需要这样一篇文章 我们知道 Kotlin 对 Jvm 的支持实在是太好了,以至于我们创建一个 Java 工程,配置一下 Kotlin 的编译插件和标准库就可以很轻松愉快的开始玩耍,什么互调用、什么单步调试都没有毛病——毕竟 KotlinJvm 与 Java 无论从使用上还是从生态上都尽可能的保持了一致,构建也主要用了 gradle,所以从 Java 到 Kotlin 的切换可谓是无缝衔接。 而 Kotlin 同样支持的 JavaScript 就似乎有点儿麻烦了,毕竟二者所处的生态差异略大,KotlinJs 仍然主要采用 gradle 构建,而 JavaScript 的话,例如 Node.js,就使用 npm/yarn 安装管理依赖了。想想可能还是有点儿别扭,你当然可以自己创建一个简单的 KotlinJs 工程,并且自己负责管理 node_modules,但那样的话,node_modules 的依赖并不会被 KotlinJs 直接依赖到,还需要管理 JavaScript 映射到 Kotlin 的接口依赖,例如 jQuery 在 Kotlinjs 侧就有一个接口库方便 Kotlin 以类型安全的方式调用,不过你还是要自己安装好 jQuery 才行,很麻烦对吧。 这一节我们将给大家展示如何搭建一个基于 Node.js 的相对完美的 KotlinJs 的开发环境,这个环境可以做到: * 依赖只需要在 Gradle 中统一管理即可,node_modules 会被自动安装 * 右键运行 Kotlin 中的 main 函数,就像我们在 KotlinJvm 当中一样 * 单步调试 Kotlin 代码,全程对 JavaScript 的编译结果无感知 基于这个工程,大家就可以很愉快的测试 KotlinJs 的特性啦,就像我们在 KotlinJvm 上面那样,毫无违和感。

随笔 / 独立文章 2019年02月18日
父类返回子类类型的函数写法

今天的话题很简单,分享下也许对大家可以有帮助或者有启发。 1. 背景 一看题目,有点儿晕。看个例子马上就明白了: 我们有这么一个类,一看就是要写 Builder 模式。不过由于我们的这个 Event 的类型比较多,因此希望写一个父类,来一个子类感受下: 看上去也没啥大毛病,用一下吧: 我们调用完父类的 retryLimit 方法后,想要设置下 delay,结果发现没有这个方法。 “我 X,这什么玩意儿”,你嘟囔了一句。

随笔 / 独立文章 2019年02月05日
新年 Flag 以及论坛的一个所谓“Kotlin 不完全兼容 Java”的问题

0. 新年立个 Flag 首先祝各位小伙伴在新的中国年里找到属于自己的奋斗方向,凝聚自己的奋斗方法,实现自己的奋斗目标。 每年春节 0 点之后都喜欢随便做点儿自己喜欢的事情。曾经有一年就是在这个时间憋出了一篇晦涩难懂的协程的文章,所以今年需要在 Kotlin 协程上多写点儿文章,也许也可以写点儿 lib,总之公众号在这一年的发力点,协程算一个,应该也不会局限于 Java 虚拟机。 我前一阵子写过几次用 Kotlin Native 作为 JNI 的底层实现的文章。Kotlin Native 尽管可能还不是很完美,但就像它的负责人说的,后面的版本就需要来偿还技术债了,毕竟它从诞生开始就面临了类似于我们国内任何一款互联网产品一样的境遇,它如果不够快,也许就赶不上这波节奏了。可能各方面体验还没有那么好,但它的全貌已经完全呈现在我们面前,所以我们要做的就是帮助它,把生态建立起来。所以今年公众号也会把 Kotlin Native 作为一个重点,也许年底我能鼓捣出一个让 KN 写 JNI 变得很方便的 wrapper 呢,希望我时间会比较充裕吧。

随笔 / 独立文章 2019年01月07日
Kotlin 协程版的 AutoDispose

大家一定用过 RxJava,也一定知道用 RxJava 发了个任务,任务还没结束页面就被关闭了,如果任务迟迟不回来,页面就会被泄露;如果任务后面回来了,执行回调更新 UI 的时候也会大概率空指针。 因此大家一定会用到 Uber 的开源框架 AutoDispose。

开源项目 2019年01月06日
SwipeFinishableActivity

Swipable support for Activity to finish itself like Wechat App does.

随笔 / 独立文章 2018年12月31日
Kotlin Native 写 Jni 第二弹:动态绑定 Native 方法

上一篇文章我讲了用 @CName 这个神奇的注解,可以配置 Kotlin Native 函数在符号表中的名字,进而根据 Jni 静态绑定的规则来对应到 Java native 方法,但实际开发当中我们更喜欢用动态注册的方式,因为一方面不受名字的约束,不影响代码重构,函数名也相对美观,另一方面调用起来也相对高效,节省了静态绑定的查找过程。

随笔 / 独立文章 2018年12月17日
用 Kotlin Native 写 Jni,以后写 Android 基本上要没有别的语言什么事儿了的节奏

我在之前写过一篇文章,讲如何用 Kotlin Native 编写 Native 代码通过 JNI 让 Java 调用。当时因为完全没有注意到 CName 这个神奇的东西的存在,所以那篇文章当中还是用 C wrapper 来做的调用。 后来,我发现根本不需要这么麻烦啊。

随笔 / 独立文章 2018年12月02日
也许你需要这个为数据类生成 DeepCopy 方法的库

前不久 JetBrains 在北京搞了一次技术大会,我在演讲当中提到了一个叫 DeepCopy 的库,那么我们今天就来详细说说它。

随笔 / 独立文章 2018年11月26日
ReleasableVar,可以为空的 Kotlin 非空类型 var

0. 题外话:Hadi 的插件 上周的 JetBrains 开发者大会,Hadi 的两个插件比较亮眼,这里有小伙伴如果没有听到最后一场,可能不知道它们是啥,它们分别是: * Nyan Process Bar * Presentation Assistant 也有同学问我ppt的,上周一的文章末尾有提供哈~ 好了下面我们言归正传~ 1. 描述下需求 前不久跟群里小伙伴讨论的时候,发现他们有一个需求,那就是在一个变量使用完之后要将其置为 null,但是呢,又不愿意将它声明为可空类型,这个需求实在是。。大概就像这样吧:

开源项目 2018年11月25日
Apt-Tutorials

注解处理器教程,使用 Kotlin 编写

#android #apt #java #kapt #kotlin
随笔 / 独立文章 2018年11月18日
2018 JetBrains 开发者大会见闻

难得取了这么正经的一个题目,根本不是我的风格啊︿( ̄︶ ̄)︿。 话说昨天去参加了一下 JetBrains 的开发者大会,因为我把钱都充点券买皮肤了,买不起门票( ̄. ̄),所以就选择在下午分会场做了一个 Kotlin 的分享来混入其中 (~ ̄▽ ̄)~

开源项目 2018年11月13日
ReleasableVar

A delegate for those non null vars of which values need to be cleared at the end of the lifecycle.

开源项目 2018年10月13日
NewDataClassAction

This is a IntelliJ plugin for Kotlin. You may use this to create a data class from a Json string.

随笔 / 独立文章 2018年10月03日
注解处理器教程[全]

我在做 基于 GitHub App 业务深度讲解 Kotlin1.2高级特性与框架设计 这门课的时候,顺便做了一个注解处理器的框架,叫 Tieguanyin(铁观音),这个框架主要是用来解决 Activity 跳转时传参的问题,我们知道 Activity 如果需要参数,那么我们只能非常繁琐的使用 Intent 来传递,有了这个框架我们就可以省去这个麻烦的步骤。 在这里,框架的内容其实不是重点,重点是,它是一个注解处理器的项目。为了让它的作用尽可能的放大,我对原框架做了简化,做了这套课程。

随笔 / 独立文章 2018年10月02日
Kotlin 社区资源介绍

Kotlin 为人熟知已经很长时间了,这段时间里,我们为了宣传和推广 Kotlin 也做了不少工作,下面简单盘点一下 Kotlin 社区的资源。

开源项目 2018年04月30日
RetroApollo-Android

Apollo-Android wrapper like Retrofit for GraphQL.

#apollo-android #graphql #retroapollo-android
开源项目 2018年03月14日
Shell

Android Shell run without root. Just like adb shell does

开源项目 2018年01月23日
Kotliner

Kotliner.cn 页面源码

#kotlin
开源项目 2018年01月06日
aMysqlClient

一个类似于Navicat的Mysql Android客户端

开源项目 2017年12月10日
TensorflowDemo

Tensorflow demo by Kotlin Native. Organised by CMake.

开源项目 2017年09月21日
HelloFlutter

GitHub 开源项目,点击查看仓库源码、文档与更新进展...

开源项目 2017年06月11日
Kotlin-Coroutine-HelloWorld

This is a very first sample of Kotlin Coroutine I used in the meetup of Beijing. Hello World!

开源项目 2017年05月22日
enbandari.github.io

这是 www.kotliner.cn 页面仓库

#kotlin #kotliner
开源项目 2017年04月04日
Hexo4Kotliner

Hexo edition used to build the kotliner pages. May differ from the original version.

开源项目 2016年10月31日
HackRetrofit

A hacked edition of Retrofit 2.0.2.

开源项目 2016年10月28日
EffectiveJavaInAction

Effective Java 这本书在业界非常流行,连 Java 之父 Gosling 都赞不绝口。可是,这本书本身也存在问题:Java 的初学者往往因为经验缺乏,读起来会有『你说得好有道理哦,可你说的都是什么』的感觉。基于这一点,我计划录制一套视频,从我自己的视角来解读一下这本书,希望让经典更通俗易懂。

开源项目 2016年09月26日
ItemAnimatableListView

If you wanna animate your items when you operate them (add/remove) in a ListView/ExpandableListView, you should check this.

开源项目 2016年04月29日
EasyDroid-Files

Easy way to access file.

开源项目 2016年04月28日
WeDoHaveFun

This is a project that we share we cooperate we do together to make it cool and have fun.

开源项目 2016年04月27日
EasyDroid-SharedPreferences

Helper classes to make it easier to use sharedpreferences. Preference items look like a plain old variable with sharedpreferences operations behind it.

开源项目 2016年04月24日
Apue

This is the code from "Advanced programming in the Unix Environment".

开源项目 2015年10月12日
开源项目 2015年10月12日
ByrWifiConnector

北邮校园网无线认证助手

开源项目 2015年10月10日
Droidinfo.workflow

This is a workflow for Alred on Mac.

开源项目 2015年10月01日
SimplePlugin

A simple plugin for intellij platform. This is the demo project from http://www.jetbrains.org/intellij/sdk/docs/tutorials/custom_language_support

开源项目 2015年03月15日
CodeAnalyzer

代码分析工具(主要是统计);Analyzer of our code ( mainly about statistics so far)

开源项目 2014年10月14日
GameDaemon

这个名字取得有点儿逗比。其实我是想做这个程序来规范我玩游戏的时间的:什么时候可以玩,什么时候不可以玩,玩多长时间什么的。

开源项目 2014年09月02日
CodeViewer

Android 手机代码阅读器

开源项目 2014年08月24日
another_check1n

check1n是我用来处理实验室考勤事务的。这个check1n则是用来帮助实习生们方便的记录自己每天出勤的时间并填报工时用的。

开源项目 2014年08月24日
PasswordKeeper

一个用来保存密码的简单工具,可以存多个人的密码。

开源项目 2014年08月24日
check1n

实验室签到管理工具,服务端需要从中控5.0的控制端写入代码中对应的access.db读取数据并展示,并根据提供的python脚本输出统计结果。客户端可以实时查看签到结果,数据有服务器每5分钟推送一次。

开源项目 2014年08月23日
interview

something related to the interview affairs.

Released under the MIT License.