原文:Cairo gets high marks from Starknet devs. Here’s why.
翻译及校对:Starknet 中文社区
📑 转载请注明出处 🕹️
在过去一年中,Starknet 开发者体验发生了显著变化,其标志是从 Cairo Zero 转向更先进的、类 Rust 的 Cairo。这一演变不仅提升了安全性和可用性,还获得了社区的正向反馈。最近对 92 名 Starknet 开发者发起的调查显示,这些变化受到了广泛欢迎。
几项值得关注的统计数据:
开发者概况:61% 的 Starknet 开发者拥有至少 3-5 年的开发经验。
Cairo > Cairo Zero:74% 的开发者更喜欢使用 Cairo 而不是旧版的 Cairo Zero。
Cairo Zero 死忠粉:6% 仍是 Cairo Zero 的忠实拥趸。
更好的开发体验:62% 的开发者表示,过去一年内 Starknet 开发体验有了显著提升。
Cairo 与其他语言的比较:超过 70% 的开发者偏好 Cairo 或对 Cairo 的喜爱程度不亚于他们使用的其他语言。
未来工具展望:开发者希望在 Starknet 上看到的未来工具:
Starknet 在线调试器和性能分析器
Cairo 注册中心(类似 crates.io)
Starknet 文档生成和注册中心
在深入了解更广泛的调查结果之前,还应该提及过去一年中开发体验的其他变化,以便提供背景信息:为了支持新的 Cairo 和 Starknet 基础架构向 Rust 的整体转变,许多工具都是用 Rust 重新开发或完全重写的。这些进步为更强大、更高效的开发环境奠定了基础。
其中值得一提的有
Starkli:用于与 Starknet 交互的全新超快 CLI
Scarb:用于 Cairo 编译和依赖管理
Starknet Foundry:开发 Starknet 智能合约的首选套件
Devnet-rs:用 Rust 重写,取代 Pythonic devnet
感谢所有调查参与者。调查中提供的见解将帮助我们构建功能规划、新工具和 Cairo 新功能的路线图。
首先,我们总结了调查参与者的各种情况,包括他们的编程经验以及使用 Cairo 和 Starknet 的经验。
大多数参与者表示,他们有 3-5 年的编程经验。
最大的调查参与者群体是智能合约开发者,占受访者的 45%。这一重要比例突显了开发者对于使用 Cairo 构建安全高效智能合约的兴趣和依赖日益增长。工具开发者和研究者则构成了调查的第二大群体,凸显了 Cairo 的多功能性及其在区块链开发各个层面的吸引力。
绝大多数参与者(73%)正在使用 Cairo 在 Starknet 上开发智能合约。调查还强调了 Cairo 的多样化应用,一些开发者使用这种语言来通过 SHARP 或 Stone 证明程序,或者用于应用链的开发工作。
我们的调查显示,29% 的参与者主要依靠《Cairo Book》来学习 Cairo。紧随其后的是 Starknet 文档和 Core Stars Telegram 群组,这些资源在开发者的学习过程中也发挥了重要作用
开发者调查还揭示了 Cairo 开发者最常使用的是哪些工具,为开发生态系统和 Cairo 开发者的工作流程提供了宝贵信息。这些内容不仅有助于识别社区内的趋势,还能指导工具的未来改进和创新,为各位开发者的工作提供更好的支持。
调查结果揭示了 Cairo 开发者最青睐的 CLI 工具 为 Starkli,46.7% 的开发者表示这是他们的首选。尽管技术不断进步,但仍有一些开发者还在使用已经过时的 starknet-cli 工具。这种持续使用表明开发者对老工具有一定的熟悉感和舒适度,但同时也突显了继续教育和过渡支持的必要性,以确保所有开发者都能受益于工具的最新改进功能。
大多数开发者结合使用 Scarb 和 Starknet Foundry 作为他们的开发框架,而 23% 的开发者仅依赖 Scarb 进行构建和测试。
Forking 和 Fuzzing 是 Starknet Foundry 测试中最常用的功能。Starknet Cast 脚本则不常用。
不出所料,Starknet.js 是开发者最常用的 SDK,其次是 starknet-rs。(在过去一年中,大多数 Starknet 技术栈已从 Python 转移到 Rust 代码库。)
Katana 和 starknet-devnet-rs 均有开发者使用,其中使用 Katana 的开发者更多。
绝大多数开发者使用 VSCode 作为开发 IDE,也有一些人使用 Vim 或 Starknet Remix 插件。
我们想了解,与使用开发者熟悉的其他智能合约语言编写相比,使用 Cairo 编写智能合约会有何不同。我们的调查显示,大多数开发者(54%)在工作中除了使用 Cairo 外,还使用 Solidity。这种显著的重叠表明,虽然 Cairo 正在获得越来越多的关注,Solidity 仍然是开发者工具箱中的基石。比较这些语言有助于我们评估每种语言的学习曲线、效率和独特优势。
不过,超过 70% 的开发者表示喜欢 Cairo,无论是专门使用还是在使用其他语言的同时使用。这种强烈的偏好彰显了 Cairo 在开发者社区中日益增长的受欢迎程度和受到的好评。这表明开发者非常欣赏 Cairo 的特性和功能,认为其是对他们技能组合的宝贵补充。随着越来越多的开发者认识到 Cairo 的优势,并将其集成到自己的项目中,甚至取代其他语言,这种偏好也凸显了 Cairo 成为智能合约开发领域主流语言的潜力。
让我们把焦点转向在 Starknet 上的一般开发体验,大多数参与者认为其开发体验高于平均水平。在从 1 到 7 的回答选项中,86% 的受访者位于量表的高分位置,表明了开发者们持有的积极情绪。这种有正向评价反映了 Starknet 生态系统的稳健性和对开发者的友好性。
大多数参与者认为 Starknet 的开发体验在过去一年中得到了显著改善。我们希望这一趋势能够持续下去,推动进一步的提升,使开发过程更加精简且愉悦,不仅吸引更多的开发者加入社区,还将促进更多创新和用例。
与 Cairo Zero 相比,绝大多数开发者更喜欢 Cairo,但也有一些守旧的爱好者仍然坚持使用 Cairo Zero。
当被问及下一步应该开发哪些工具时,回答者在给定选项中的分布非常均匀。这种缺乏强烈偏好的情况表明,开发者看到了各种潜在工具的价值,反映了社区内的不同需求和优先事项。随着我们不断发展进步,我们鼓励大家关注这一领域,我们将致力于满足这些多样化的需求,并继续提升 Cairo 开发者的工具箱。
参与者强烈希望为 Cairo 开发更多高级调试功能,以便进行更高效、有效的故障排除。此外,对代码覆盖率工具的需求也非常明显。这种工具可以提供有价值的洞察,帮助开发者了解代码库的哪些部分正在接受测试,从而确保智能合约的稳健性和可靠性。
对代码覆盖率的需求也是 Starknet Foundry 中需求最高的功能,凸显了其在整个开发生态系统中的重要性。满足这些需求对于支持社区、提升 Cairo 和 Starknet 的整体开发体验至关重要。
在过去一年中,Starknet 开发者技术栈的许多组件都发生了巨大的变化。首当其冲的当然是 Cairo 本身,从 Cairo Zero 迁移到 Cairo。与 Cairo Zero 相比,Cairo 的表现力更强、更高级,编写起来也更安全,为寻求利用有效性证明的开发者带来了无限可能。除了从 Rust 获取大量灵感的 Cairo 之外,许多工具也从 Python 迁移到了 Rust 实现。这些工具包括:Protostar(将被 Starknet Foundry 取代)、前 Pythonic devnet(将被 devnet-rs 取代)、starkli CLI 以及其他工具。很高兴看到许多开发者认为 Starknet 的开发体验在过去一年中有所改善。当然,我们并没有止步不前,还有很多工作要做。在即将到来的一年中,我们希望在以下值得注意的方面有所改进:
文档和示例:许多开发者指出,尽管工具本身通常能满足他们的需求,但要为所有功能找到好的示例和文档并非易事。我们希望重点改进 Cairo 本身以及 Cairo 和 Starknet 工具的文档和示例。
Cairo 语言服务器:超过 70% 的参与者使用 VSCode 作为他们的 Cairo IDE,并依赖 Cairo 语言服务器提供语法高亮、智能代码补全等功能。作为开发者最常使用的工具之一,它在许多情况下代表了语言本身。许多开发者指出,Cairo 语言服务器目前存在一些漏洞,并且性能也不够好。我们将在接下来的一年中专注于改进语言服务器。
新的实用程序和功能。要使 Cairo 更安全并改善开发体验,仍存在一些必要的实用程序缺失。其中一个例子就是 Starknet Foundry 中的代码覆盖。本次调查中提出的代码覆盖范围和其他功能需求将有助于我们安排明年的优先事项。
我们要感谢所有致力于构建 Starknet 工具和改善开发者体验的优秀团队:
以及所有为 Cairo 工具的开发和改进做出贡献的人
点击查看 Starknet 开发工具和资源:https://www.starknet.io/developers/tools-and-resources/