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 是爲了開發硬件應用而設計的。

相關文章
相關標籤/搜索