使用Rust构建Web电子表格
在filtra.io发布的一篇采访中,Quadratic的CEO David Kircos讨论了他们使用Rust语言来开发一个基于Web的高性能、可编程的电子表格应用程序——Quadratic。David解释说,创建Quadratic并不像人们想象的那么复杂,因为他们使用了现成的代码编辑器Monaco(即支持Visual Studio Code的编辑器),这允许他们专注于构建一个面向数据分析的集成开发环境(IDE),而非从头开始开发一个新的编辑器。
在战略层面上,David被问及如何说服现有使用Microsoft Office或Google Workspace的用户购买另一个电子表格软件。他表示,Quadratic的独特之处在于它能够处理大数据集,并提供一种交互方式,允许用户从远处查看庞大的数据集,然后迅速缩小到细节部分。
从技术角度看,David提到了他们使用了Rust编译到WebAssembly(WASM)的优势,指出Rust因为其安全性和性能在WASM中占主导地位,尽管C++也被广泛使用,尤其是像Figma这样已经有大量C++图形应用程序的公司。
关于Quadratic的具体技术实现,David提到使用Axum和Tokio来构建Rust的服务端,这在过去几年中已经变得非常稳定。此外,Quadratic在浏览器中运行Python,这是通过Mozilla维护的CPython到WebAssembly的编译实现的,这种方法对于处理电子表格大小的工作负载速度更快。
Quadratic团队成员大多是全能型人才,能够编写TypeScript和Rust代码,并具备创造出色用户界面、高效率算法和健壮