Ruff 和 Raspberry Pi 的区别是什么?

简而言之,Ruff 是一套软件,树莓派是一个硬件,只不过,Ruff 是为了开发硬件应用而设计的。编程

从设计初衷谈起框架

  • Ruff 是为了开发应用而设计,因此,其目标用户是开发者。工具

  • 树莓派最初是为了教学目的提供的小电脑,其目标用户是初接触电脑的使用者。性能

正是设计目的的差别,Ruff 的工做都是为了改善开发者体验,好比,其提供的软件包管理、自动化测试框架、命令行工具等等。而树莓派须要使用者像拿到一台新电脑同样,配置操做系统,安装软件等等。学习

两者之因此会被放在一块儿比较,主要是由于有一些开发者在尝试用树莓派作硬件应用,这些人一般是软件极客,因此,他们也是 Ruff 的目标用户。测试

抛开把树莓派当作电脑的用途,这里只谈硬件应用开发的部分。操作系统

开发对比命令行

若是要用树莓派作开发,你要作的是寻找相应的软件开发包,而后,学习硬件编程的概念,好比:GPIO、I2C 等等,还要阅读数据手册,学习编写驱动,而后,才有可能开始本身的应用开发。设计

用 Ruff 作开发,你要作的是找到本身要用的外设,在命令行里添加外设,编写本身的应用。对象

你已经看出了其中的差别,若是你是一个没有硬件背景的人,显然,Ruff 上手更快,这是由于 Ruff 提供了一层软件抽象。软件开发者都会知道一个好的抽象对于生产力的提高。正是由于抽象,才有了从机器码到汇编、到 C 语言、到面向对象等一系列进步。

此外,Ruff 还提供了一系列配套工具,好比,前面提到的软件包管理、自动化测试框架、命令行工具等方面,让你能够作一个正式的开发,而不单单作一个玩具。

硬件对比

其实,Ruff 不是一个硬件,但 Ruff 有一个开发套件,用以下降开发人员上手的门槛。

从硬件配置上说,树莓派是有绝对优点的,Ruff 开发套件要弱一些。两者的差别刚好回应了设计初衷的差别。树莓派要作电脑,若是太弱了,不少功能作不了,而 Ruff 开发套件是为了作硬件应用,太强了反而不能体现真实的场景。

Ruff 的设计就有一个重要目标:进军生产。众所周知,在真正的硬件开发中,成本是一个重要的因素,而硬件配置和成本密切相关。

Ruff 开发套件若是性能太强,它就不会在真实场景落地。举个例子,若是采用树莓派作为起点,有可能 JavaScript 运行时会选择 Node.js,而 Node.js 是很难向更小的硬件上移植的。具体分析以下:

Duktape 和 V8有什么区别,为何作的这么小? - 郑晔的回答

目前,Ruff 的研发正在朝着生产环境前进,好比,基于 MCU 的版本,这个版本的芯片和内存将更小,但这也更贴近真实的环境。

最后,若是你有树莓派,保留好,Ruff 很快就可以运行在树莓派上。由于 Ruff 是一套软件,树莓派是一个硬件,而 Ruff 是为了开发硬件应用而设计的。

相关文章
相关标签/搜索