15 个版本

使用旧的 Rust 2015

0.7.5 2018年6月4日
0.7.3 2018年3月6日
0.7.2 2017年10月10日
0.6.1 2017年5月18日

#helix 中排名第 12

Download history 104/week @ 2024-03-11 62/week @ 2024-03-18 102/week @ 2024-03-25 137/week @ 2024-04-01 26/week @ 2024-04-08 64/week @ 2024-04-15 55/week @ 2024-04-22 33/week @ 2024-04-29 100/week @ 2024-05-06 95/week @ 2024-05-13 96/week @ 2024-05-20 32/week @ 2024-05-27 112/week @ 2024-06-03 39/week @ 2024-06-10 46/week @ 2024-06-17 116/week @ 2024-06-24

每月下载 318
用于 2 crates

ISC 许可证

110KB
273

包含 (静态库,49KB) helix-runtime-0-7-5.x86_64.lib,(静态库,49KB) helix-runtime-0-7-5.i386.lib

Travis Build Status AppVeyor Build Status

Helix

⚠️ 已废弃 ⚠️

遗憾的是,我们决定废弃这个项目。虽然我们曾希望将项目启动起来,使其作为一个社区项目繁荣发展,但不幸的是,我们在旅途中遇到了许多障碍,同时还需要进行重大架构改进。虽然这些问题在技术层面上可以解决,但正确地解决这些问题需要比我们能够提供的更多资源,进展已经停滞。

我们的一个目标也是将我们自己的 Skylight 代理与 Helix 集成,使公司的优先事项与项目保持一致。虽然 Skylight 代理仍然是用 Rust 编写的,并且有一层薄的 C 绑定层(这是 Helix 将要替换的部分),但我们无法将项目推进到我们可以在客户服务器上运行它的程度。我们没有确定任何会阻止我们这样做的具体障碍,但最终,我们没有必要的时间和资源来实现这一点。

由于我们是一个小团队,我们不太可能在可预见的未来能够为项目投入必要的资金来实现我们的雄心。在这个时候,我们认为正式废弃项目,准确反映其实际状态,符合大家的最大利益。同时,Ruby 和 Rust 社区中的其他人继续在相邻的研究领域进行探索。其中一些人取得了很大的进步,并带来了新的想法和创新。我们期待看到这些新想法的实现,填补我们留下的空白。

Helix 允许你在 Rust 中编写 Ruby 类,而无需自己编写粘合代码。

ruby! {
    class Console {
        def log(string: String) {
            println!("LOG: {}", string);
        }
    }
}
$ rake build
$ bundle exec irb
>> require "console"
>> Console.log("I'm in your Rust")
LOG: I'm in your Rust
 => nil

为什么选择 Helix?

阅读 介绍 Helix 博客文章,快速了解这个项目!

入门

https://usehelix.com/getting_started

演示

https://usehelix.com/demos

路线图

https://usehelix.com/roadmap

兼容性

Helix 已与以下内容进行了测试,尽管其他组合也可能工作。

  • cargo 0.18.0 (fe7b0cdcf 2017-04-24)
  • rustc 1.17.0 (56124baa9 2017-04-24)
  • ruby 2.4.1p111 (2017-03-22 修订版 58053) [x86_64-darwin16]
  • 包管理器版本 1.14.6

贡献

如果您想尝试Helix,可以从本仓库中的示例开始。

克隆并下载Helix仓库

$ git clone https://github.com/tildeio/helix
$ cd helix

导航到控制台示例文件夹并捆绑您的 Gemfile

$ cd examples/console
$ bundle install

运行 rake irb 来构建并启动irb

$ bundle exec rake irb

尝试运行 examples/console/src/lib.rs 中定义的一些方法

> c = Console.new
Console { helix: VALUE(0x7fdacc19a6a0) }
 =>
> c.hello
hello
 => nil
> c.loglog('hello', 'world')
hello world
 => nil

依赖项

~43KB