Ruff 和樹莓派的區別是什麼?

一直在關注 Ruff 中,但是這個和樹莓派有什麼區別呢?


簡而言之,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 是為了開發硬體應用而設計的。


樹莓派和Ruff,就好像計算機和計算器的區別。

樹莓派是一台完整的計算機,只是性能差一些。連接上滑鼠鍵盤,插上顯示器,基本上你可以做任何事情。

而Ruff特長是讀取硬體數據,操控硬體,所以簡化了介面(沒有滑鼠,鍵盤介面,沒有HDMI輸出)。你寫好程序上傳到Ruff中,Ruff就自動開始跑你的程序了。


用樹莓派或者任意能裝linux的板子,敲個腳本解釋器就可以了


感覺比較小眾,核心晶元是 RT5350F,貌似。。。。


樹莓派是電腦,ruff是開發板,儘管看起來都是一塊電路板

用樹莓派來學寫程序啊,一般腳本語言都沒啥問題。關於物聯網方面的應用,也有很多語言很多包很多庫可以選擇。

用ruff,使用js,可以寫出可讀性非常好的代碼來控制一些硬體。上手更加容易。


推薦閱讀:

用手機如何遠程控制樹莓派?
Windows 10 IoT 上面可以安裝一般的windows軟體嗎?
如何評價AxiDraw畫圖機器?
在樹莓派3上用hostapd開wifi熱點時奇怪的問題?

TAG:樹莓派RaspberryPi | Ruff |