Rustroid是一款适用于 Android 的 Rust IDE,可在设备本地运行。一位17岁的高中生,仅凭一部手机,就开发出了一款能在安卓设备上运行的专业级编程工具!这不是天方夜谭,而是真实发生的技术奇迹。
故事要从五年前说起。当时才12岁的小主人公沉迷于《我的世界》游戏,尤其着迷那些能让玩家变身成各种怪物的MOD。但由于只有手机版游戏,他发现整个安卓生态竟然找不到像样的开发工具。这个发现成了他编程之路的起点。
凭着不服输的劲头,这个少年开始用手机上的文本编辑器研究MOD文件结构。那时候他用的只是具备基础语法高亮功能的QuickEdit,连自动补全和错误诊断都没有。就是在这样简陋的条件下,他通过复制粘贴代码片段,竟然成功做出了当时最强大的《我的世界》手机版变身MOD!
这次成功激发了他对编程的浓厚兴趣。随后他开始自学Java,想要开发能媲美《我的世界》的游戏。虽然发现安卓系统并不支持完整的Java功能,但他没有放弃,而是找到了名为CodeAssist的安卓开发应用,硬是把桌面端的Java教程移植到了手机上。
转折点出现在他第一次接触电脑后。他发现了备受赞誉的Rust语言,并被其完善的工具链深深吸引。与此同时,他注意到安卓平台上缺乏专业的Rust开发环境,一个大胆的想法就此诞生:为何不自己开发一个移动端的Rust集成开发环境呢?
说干就干!他使用谷歌推荐的Kotlin语言和Jetpack Compose框架,开始了Rustroid的创作之旅。这个过程充满技术挑战,首先要解决的就是如何在安卓系统上运行Rust编译器。原来,普通Linux二进制文件与安卓系统并不兼容,经过深入研究,他借鉴了Termux项目的方案,成功让Rust在安卓上安家落户。
接下来是打造代码编辑器的艰巨任务。他需要实现专业的文本缓冲系统,最初采用简单的行数组方案,但在了解到VS Code团队遇到的性能问题后,他毅然决定实现更先进的“片段树”文本缓冲区。这个决定让编辑器能够流畅处理大型文件,展现了少年对技术品质的执着追求。
语法高亮功能他直接移植了VS Code的TextMate实现,语言服务器协议部分则借助Kotlin的特性优雅地完成。终端模拟器是通过改编现有开源项目实现的。除此之外,还要处理文本测量、滚动控制、代码提示、错误诊断等无数细节,每一个功能都需要精心打磨。
经过一年多的艰苦开发,这个完全在手机上起步的项目终于成熟。面对如何发布的问题,少年做出了一个深思熟虑的决定:以7美元的亲民价格在谷歌商店上架。他坚信,这个价格能让更多没有电脑的编程爱好者受益。对于那些无法支付或所在地区无法购买的用户,他承诺免费提供,展现了他希望技术普惠的初心。
如今,这位年轻的开发者已经将应用升级为Compose Multiplatform版本,可以在电脑上直接开发。他更立下壮志,要基于这个IDE框架为所有编程语言开发移动端工具。