< 返回版块

ChaosBot 发表于 2018-07-27 09:37

Tags:rustnews

js-sys发布 0.2

js-sys是配合wasm-bindgen 使用的库,它绑定了ECMAScript标准中存在的JavaScript所有全局API,方便调用

当然js-sys还没有覆盖100%的JS API,还需要你的帮忙:issues-275

这是个体力活

原文

另外wasm-bindgen也包括了Web API的绑定,对应于web-sys库

web-sys库也需要帮助


Rust+WebAssembly构建同构的Web App

实现了一个虚拟dom,可以根据服务端的HTML字符串渲染到浏览器的dom,完全同构,纯Rust+Wasm

percy


硬件钱包也开始用Rust了

作者在Ledger加密狗上尝试使用Rust,并且最终使用Rust替代了所有的C SDK依赖。

原文

源码


Toshi,基于Tantivy的全文搜索引擎

作者的目标是让Toshi成为ElasticSearch

toshi


Cargo中的版本选择

在这篇文章里,Aturon解释了为什么Cargo在解决依赖关系时通常会选择最新版本。

Aturon认为「依赖地狱」出现的原因是以下四点目标没有做好:

  • 重复性。在不同的机器上进行构建都会得到相同的结果
  • 控制。用户可以控制何时以及如何升级依赖
  • 兼容性。
  • 可维护性。

因此,包管理的作用就是提供机制、默认值和最佳实践,以便促使生态系统在这些目标之间达成平衡。目前并没有出现一个最佳的解决办法。

最大版本解析的基本原理:

  • 大多数包管理器都使用最大(最新)版本,只有vgo使用了最小版本
  • 选择最大版本,需要lockfile文件的帮助来实现重现机制,而最小版本则不需要
  • 选择最大版本,是促进生态系统一致性的协议:版本之间彼此测试兼容性要以最新版本为准;而选择最小版本,则不会达到生态系统一致的目的。
  • 选择最大版本,有利于下游用户获得最新的错误修正,也可以促使生态系统中的库倾向于维护最新版本。
  • Cargo团队认为,选最大版本是对整个生态系统有好处的。主要的成本在于lockfile的复杂性。

文章里也有关于工具链的更多讨论:

原文


Ada和Spark中的安全动态内存管理

从Rust内存管理机制获得灵感,通过Ada扩展提供指针类型来改进安全的自动内存管理

PDF


在Travis-CI中使用自动部署构建多目标Rust

一个小型构建脚本(包括对代码的解释),可以为i86 32和64位计算机以及带有Travis-CI的Raspberry Pi(ARM)自动编译和创建Rust二进制文件。

原文


有没有让你困扰的Rust 2018特性?

可以到这个帖子里写下具体的代码片段

原文


评论区

写评论

还没有评论

1 共 0 条评论, 1 页