Ruby 項目所需的 15 大工具

已發表: 2020-05-21

Ruby 開發人員可以比其他開發人員更快地編寫代碼。 為什麼? 寶石。 這些是現成的、可訪問的工具,可以在任何項目中使用和重用,並提供特定的功能。 使用它們意味著開發人員不必從頭開始編寫功能代碼。 相反,他們可以使用現有的 gem 並在最短的時間內創建最好的 MVP。

因此,大量可用的 gem 對任何使用 Ruby 的人來說都是好消息。 那是因為您可能想到的任何功能都可能有一個寶石。 當然,這將我們引向一個問題:如何為您的項目選擇合適的寶石? 為了做出正確的選擇,您應該問自己一些事情,包括:

  • 您的需求:需求可分為功能性和非功能性。 選擇正確的工具意味著了解您的需求,即您希望更多地關注什麼。 例如,如果您要專注於功能需求,請選擇一個能夠更好地處理主要職責的工具。
  • 期望:您的項目期望是您希望通過該工具實現的結果。 了解這一點將幫助您制定更好的策略,並且您可以明智地衡量結果。 您也可以為此使用您對功能和非功能需求的了解。 此外,請確保期望是現實的。
  • 該工具的社會觀點:有多少人使用過它? 他們留下評論了嗎? 它實際上是在解決人們的問題嗎? 如果用戶提交了一個錯誤,它會很快得到修復,還是人們必須等待很長時間才能更新?

此外,請檢查該工具是否包含在受信任的軟件開發公司(例如BairesDev )的最常用列表中 如果是這樣,您可以毫不猶豫地使用該工具。

  • 集成:工具/gem 是否可以輕鬆地從您的應用程序中集成? 與該工具相關的 gem 是否已在您的應用程序中使用? 證明文件的質量如何?

一旦你知道了這些事情,你就可以做出明智的決定。 現在,市場上有許多不同的工具可用於不同的類別。 這是按類別列出的最受歡迎的列表。

代碼質量

Rubocop:它是一個代碼分析器和格式化程序。 它可以與所有 Ruby 實現一起運行,並具有多種結果格式和命令行樣式格式等功能。 它可以輕鬆配置,並具有四個子分析器,稱為 Metrics、Style Rails 和 Lint。

Rubycritic:該工具通過使用 Rek 和 Flay 等其他 gem 來提供代碼質量報告。 它創建 HTML 文件並將其評級為 A 到 F。它是最方便的代碼報告工具之一。

調試

更好的錯誤:這是一個在靜態頁面上顯示錯誤的 gem。 它也可以用作 Rack 中間件。 它具有許多功能,例如堆棧跟踪、變量檢查、源代碼檢查以及直接鏈接到錯誤行。 人們通常更喜歡在開發模塊而不是生產模塊中使用這個 gem。

Pry Byebug :它將 Byebug 的功能與 Pry 的功能(如堆棧導航和步驟調試)相結合。 它使用 pry REPL 來獲得額外的功能。 你也可以通過這個設置斷點。 它可以選擇使用 IRB 或 Rails 控制台進行調試。

驗證

設計:它是 Ruby on Rails 的身份驗證解決方案。 它基於 Rails MVC 堆棧,允許用戶通過電子郵件、密碼、推薦系統等不同模式登錄。 它具有用於不同任務的不同模塊,包括:

  • 數據庫身份驗證:在數據庫中存儲和管理密碼,可通過 HTTP 身份驗證或發布請求訪問。
  • Omniauth 支持:驗證用戶
  • 恢復和記憶模塊:用於密碼管理
  • 跟踪:時間戳、跟踪和 IP 地址管理。
  • 鎖定:在特定數量的登錄後鎖定用戶

CanCanCan :這是一個授權庫,它限制任何用戶可以使用的資源數量。 授權被分成文件並遠離標準視圖和控制器。 它有兩個主要部分,授權庫(定義規則的地方)和鐵路助手(執行模型的加載和檢查)

Rolify :這個 gem 定義了用戶身份驗證的角色規範。 通過將用戶定義為角色,它結合了用戶管理和用戶安全。 用戶分為管理員、特權用戶或標準用戶,並適當分配資源。

測試

RSpec :它是一個使用 BDD 環境的測試框架。 你可以用可讀的 DSL 編寫測試,所以很容易理解。 它包括 RSpec 核心、RSpec 期望和 RSpec 模擬等組件,僅舉幾例。

Capybara :它是一個驗收測試框架。 它模擬實際用戶如何使用該應用程序。 您可以檢查點擊率、表單填寫和可用性等內容。

Capybara 屏幕截圖:您可以將其與 Capybara 一起使用。 它會看到用戶源並為失敗的水豚測試截取屏幕截圖。 它還將存儲 HTML 頁面,然後可用於進一步的 RCA。

上傳文件

CarrieWave :您可以使用此工具進行文件上傳和圖像處理。 它還緩存文件,以便您可以使用預先上傳的文件並節省時間。 它有一個測試選項,並將所有數據保存到分配用於上傳的不同文件中,以免移動生產代碼。

Minimagick :此工具提供Rmagick的功能,同時節省您的 RAM 資源。 它允許通過使用命令行來使用 Imagemagick 的功能。

全球位置

Geocoder :此工具具有反向和正向地理編碼、地理編碼 IP 地址以及連接到其他 API 的能力等功能。 除此之外,它還具有額外的功能,例如用於性能增強的緩存。

全球化:這個工具可以將應用程序翻譯成不同的語言,並將翻譯添加到 ActiveRecord。 該工具還避免了內容重複並保持代碼簡單。

付款寶石

Stripe :此工具提供對 Stripe API 的訪問。 此 API 為所有不同類型的設備(手機和筆記本電腦)提供可定制的支付流程。 它還具有 Apple Pay 和 Amex 結帳功能。 該 gem 可用作強大且有效的電子商務支付解決方案。

Paypal Express:此 gem 允許通過使用 PayPal API 進行定期付款和單筆轉賬。 轉賬是即時完成的,這個寶石也可以用於數字商品。

結論

以下是您在使用 Ruby 應用程序時最需要的 15 個工具/寶石。 Ruby 開發人員使用許多不同的 gem 來解決複雜的問題,而易於集成的 gem 有助於避免編寫複雜的代碼和從頭開始創建解決方案。 當然,當您有這麼多選擇時,您必須了解使用哪些和不使用哪些。 您有責任了解您的要求並相應地使用正確的 gem。

對此有什麼想法嗎? 在下面的評論中讓我們知道,或者將討論帶到我們的 Twitter 或 Facebook。

編輯推薦:

  • 在 Ruby 開發人員中尋找的技能
  • 2020 年最需要哪些技術技能?
  • 3 種推送通知類型可增加應用收入
  • 這個非常有用的學習編碼包現在只需 29 美元