在本文中,程序員會介紹一些可以在下一個Ruby on Rails項目中使用的開源工具和擴展。
開發(fā)人員已經(jīng)將Ruby視為世界上最受歡迎和最受歡迎的編程語言之一。雖然它不再是熱門的新語言,但它繼續(xù)為Twitch,SoundCloud和Hulu等知名應用程序以及項目管理工具Basecamp,開源存儲庫GitHub以及酒店市場Airbnb提供支持。
從本質(zhì)上講,Ruby的價值在于它允許開發(fā)人員編寫更少的代碼,同時完成比其他語言和框架更多的代碼。面臨的挑戰(zhàn)是Ruby on Rails(Ruby語言的主要框架)是“固執(zhí)的軟件”。它假設存在“最好的做事方式”,并鼓勵用戶設計這種方式(在某些情況下阻止替代方案)。
如果你專注并投入時間學習如何使用Ruby進行開發(fā),你會發(fā)現(xiàn)它很容易變得舒適和高效?!癛ails Way”導致生產(chǎn)力大幅提升。但是,如果您嘗試將其他語言的舊習慣帶入Rails開發(fā)中,您可能會遇到更具挑戰(zhàn)性的體驗。
幸運的是,有很多工具可以幫助Ruby開發(fā)人員在構(gòu)建應用程序時直接進入并保持高效。但首先,讓我們看看Ruby on Rails。
什么是Ruby on Rails?
Rails哲學基于兩個主要指導原則:
- 不要重復自己(DRY):軟件開發(fā)的DRY原則指出,“每一段知識都必須在系統(tǒng)中具有單一,明確,權(quán)威的表示?!?這是Ruby開發(fā)人員開始的假設之一。通過不必反復編寫相同的信息,您的代碼更易于維護,更易于擴展,并且更不容易出現(xiàn)錯誤。
- 約定優(yōu)于配置: Ruby on Rails支持它認為是構(gòu)建Web應用程序的最佳方式。使用Ruby時,開發(fā)人員需要將這些實踐作為一組默認約定。這使您可以更快地部署應用程序,而不是讓團隊花時間無休止地配置文件。
按類別劃分的頂級Ruby工具
通用工具
要從Ruby開始,開發(fā)人員應該熟悉API庫,其中包含一組模型 – 視圖 – 控制器(MVC),可以輕松地在應用程序的不同層上構(gòu)建。
1. Four Days On Rails 這個工具包是Ruby on Rails的精簡指南,旨在為開發(fā)人員提供他們需要知道的一切,以便在短短四天內(nèi)開始構(gòu)建應用程序。對于希望了解Ruby核心的基本理念和“最佳實踐”假設的開發(fā)人員來說,它可以是一個很好的資源。
驗證用戶
有多種Ruby工具可用于向您的應用添加用戶身份驗證。下面的三個工具是完全免費和開源的。訪問他們的GitHub頁面以了解如何實施。
2. Devise: Devise使您能夠構(gòu)建輕松驗證用戶身份的應用程序。來自多個用戶會話的電子郵件確認,密碼恢復和處理請求的所有內(nèi)容。
3. Clearance: 這是與上面提到的Devise類似的工具,但更簡單。清除僅適用于基本的電子郵件/密碼驗證設置。
4. CanCanCan: CanCanCan允許您向用戶授予有關其數(shù)據(jù)的訪問規(guī)則。它還通過在應用程序的控制器中執(zhí)行加載和檢查權(quán)限,使控制器助手能夠簡化Rails控制器中的代碼。
全球定位
為世界舞臺構(gòu)建應用程序?查看Ruby的以下位置工具。同樣,這些工具是免費的,開源的,并且可以在GitHub上使用。
5. Geocoder: Geocoder允許您處理可能需要特定地理位置的建筑應用程序。它提供了與多個地理編碼API的輕松集成,并且可以輕松集成到Rails中。
6. Globalize: 使用Globalize,您可以將翻譯存儲到您想要的任何區(qū)域設置的數(shù)據(jù)中,并自動從物理或云數(shù)據(jù)庫中提取數(shù)據(jù)。
前端格式
Ruby on Rails可用于前端和后端開發(fā)。如果你使用Ruby作為前端,你需要額外的工具來獲得你想要的外觀。查看這些格式工具以獲取幫助:
7. Bootstrap: Bootstrap本質(zhì)上是一個組件庫,對于企業(yè)級軟件團隊以及希望構(gòu)建具有響應式格式和樣式元素的應用程序的早期初創(chuàng)企業(yè)來說,這是一個很好的資源。
8. Autoprefixer: 對于在多個瀏覽器上導航網(wǎng)站的現(xiàn)代網(wǎng)絡用戶來說,這是一個必不可少的工具。添加到您的應用程序后,您可以確定它在每個瀏覽器上看起來都很棒。
9. Formtastic: Formtastic是一種向應用添加響應式表單的快捷方式。您可以根據(jù)需要靈活地設計樣式,并以相同的形式支持多個模型,它是適用于任何Web應用程序的絕佳工具。
數(shù)據(jù)
如果您的應用程序包含數(shù)據(jù)收集或使用數(shù)據(jù)庫,您將需要使用以下開源工具之一。
10. PaperTrail: 一個簡單的工具,可以讓您跟蹤應用數(shù)據(jù)的所有變化。簡單有效。
11. Audited: 與PaperTrail一樣簡單,但您可以更靈活地收集哪些數(shù)據(jù)。
12. Paperclip: 此工具構(gòu)建了用于在應用中保存文件的集成。對于簡單的應用程序而言,它是有效的,但對于希望擴展的企業(yè)級應用程序而言可能不夠強大。
測試
Ruby社區(qū)開發(fā)了有用的測試工具來幫助您優(yōu)化應用程序。這些工具可以發(fā)現(xiàn)錯誤,安全漏洞,并通過模擬測試場景節(jié)省您的時間??纯催@些開源工具:
13. RSpec: RSpec仍然是一種經(jīng)典的測試工具,因為它與所有其他與測試相關的工具兼容。RSpec還通過提供比其他測試工具更多的文檔和Web示例,使開發(fā)人員具有更高的可讀性。
14. Faker: 該工具為您的應用程序生成隨機測試數(shù)據(jù)。這可以節(jié)省大量時間,因為您不需要浪費時間編寫虛假數(shù)據(jù)。由于faker隨機生成數(shù)據(jù),您的團隊可以輕松地嘗試使用多個變量來測試應用的性能。
15. RuboCop: 這是一個跨Ruby社區(qū)的流行代碼測試工具。通過為Ruby項目定義規(guī)則列表或“Cops”,您可以檢查特定樣式,指標和控制器問題的代碼。此工具還可以檢查自動修復并在部署之前報告它們,目的是節(jié)省團隊時間。
16. Brakeman: 這個測試工具可以幫助開發(fā)人員發(fā)現(xiàn)安全漏洞,對于處理事務數(shù)據(jù)的初創(chuàng)公司和企業(yè)來說尤其有用。輕松發(fā)現(xiàn)SQL注入和不安全重定向問題,這些重定向可能是應用程序中的缺陷。
潛入Ruby
Ruby on Rails似乎是一個深奧的編程框架,但是大型Web應用程序和初創(chuàng)公司都可以從其專注的快速構(gòu)建方法中受益。開發(fā)人員可以通過整合來自不斷增長的Ruby開發(fā)社區(qū)的各種工具API,專注于構(gòu)建靈活的Web應用程序。
它看起來像是一個陡峭的學習曲線,但從長遠來看,Ruby為開發(fā)人員提供了節(jié)省時間的技術(shù),所有這些都基于簡單約定的簡單原則。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。