2015 年 Ruby 大盤點

2015 年 Ruby 圈發生了不少有趣的事,讓咱們跟隨 Glenn Goodrich 來回顧一下 15 年 Ruby 的年度標誌性事件。javascript

2015 年 Ruby 大盤點

2015 將要結束,這一年對於 Ruby 來講很是重要。若是回顧一下本年度的標誌性事件及其相關故事,必定會妙不可言。有點相似敏捷型開發流程的回顧,筆者將把 2015 年分爲一系列的短跑衝刺,從中查看咱們的收穫。html

爲順利完成這一構想,首先須要定義什麼是「標誌性事件」。其實,幾乎每一年,Ruby 都在如下主要領域/標誌性事件中要求社區有所突破,從而在該衝刺階段/年份取得成果:前端

  • 改善語言
  • 壯大用戶社區
  • 緊跟編程界的步伐

以上即是筆者定義的「標誌性事件」。爲了衡量 Ruby 社區的成果,筆者將再次瀏覽涉及以上主題的博客、文章以及視頻。確定會有遺漏,但若是十全十美,那還要評論作什麼呢?java

最後,要寫出一篇真正有價值的回顧,也須要探討一下不足,所以本文也會涉及這一點,力臻完美。不過估計一些機敏的讀者會想補充更多內容。react

改善語言

Ruby

Ruby 2.2早在一年前就已發佈,不過本文會將其劃爲本年度的積壓任務。該版本添加了許多新內容,具體以下:git

  • 加入超級方法元數據使得調試過程更加簡單。
  • Symbol GC 大大改善了 Ruby 垃圾收集器的性能,多是多年以來該語言得到的最佳改進。
  • 對了,GC 的另一項改進是遞增GC,這有助於在垃圾收集時保持穩健的性能。
  • 還有一些不得不提的小變化

Ruby 2.3.0 於聖誕節發佈,其中包括如下「好禮」:github

有時,改善語言意味着告別舊版本。所以Ruby中止支持1.9.3 版本了。晚安,1.9.3,咱們會記住你的。web

Ruby解釋器中最受期待的同時也是最大改進的是JRuby 9000:spring

  • 這兒是版本發佈公告,其中列舉了一些主要的變化。
  • JRuby EU主題視頻十分值得一看,從中能瞭解到 JRuby 9000 有多強大。給 Charles Nutter 和這個團隊點贊。

另外一個改善語言的方法就是,多多學習新鮮且有用的東西。好比下面這些:docker

關於這一點,2015 年對於 Ruby 來講,充滿了有關性能提高的深度好文:

  • Richard Scheeman (今年的 Ruby 博主 MVP 非他莫屬)寫了兩篇很是好的堆轉儲系列文章。這是第一篇第二篇
  • 這篇文章關於如何運用 Ruby調試內存泄漏
  • 有沒有折騰過 Ruby 垃圾回收器的設置?筆者也沒有,或許能夠試試

年度大戰

最後,若是一種語言向其使用者提供多種選項,那麼它就上升了一個臺階。RSpec 與 Minitest 的競爭即是絕好的例證。

好吧,或許「年度大戰」的說法有點誇張,但筆者確實認爲本年度 Minitest 和 RSpec 的對決頗有看點。

Rails

和 Ruby 2.2 相同,Rails 4.2 也是在去年12月底左右發佈的。筆者也將其劃爲 2015 年的積壓任務,由於直到今年,才收到針對該版本的反饋。如下是該版本的新變化:

  • 固然,要想了解其變化,最好的方法是參閱發佈說明,你會看到 ActiveJob、異步郵件和充分記錄等內容。
  • ActiveJob 很是好用,大大簡化了隊列系統的使用。
  • 發送異步郵件這一常見任務變得更加易於測試和實現

隨着後端 Web 佈局的變化,Rails 也隨之變化。下面幾篇文章可以使變化過程變得更易理解:

安全一直都是致使 Rails 出現問題的主要因素。對此,也有一些改進:

  • 這篇文章闡述瞭如何確保安全配置 Rails
  • 瞭解最多見的攻擊形式,好比 CSRF 和 Rails,可以大大提高工做效率。
  • 固然,4.2 有數次修正發佈,大多都是關於安全和漏洞修補的。欲知詳情,請參閱各個版本

固然,還有大量與Rails性能相關的文章:

  • Collective Idea 博客中有關優化 Rails 內存使用的 4 篇系列文章。
  • 不過,在此以前,最好瞭解一下你的 Rails 性能
  • 對性能有所瞭解以後,能夠參閱 ActiveRecord 優化,這兩篇文章出自另外一位 MVP 候選人,Justin Weiss。

Ruby 的主要變化並未出如今 Rails 4.2.x 中,但筆者認爲,5.0 在 4.2 的基礎上會有很是明顯的變化。

Rails 以外

理所固然的是,全新的基於 Ruby 的非 Rails 開發框架和代碼庫可以改善 Ruby語言。如下是 2015 年出現的一些新內容:

  • 這一年對 Lotus 來講很是重要,若是想嘗試 Rails 之外的面向對象的優秀 Web 開發框架,能夠試試 Lotus。
  • Opal 也是 2015 年中成績斐然的一個庫,做爲從 Ruby 到 Javascript 的編譯器,很是受歡迎。
  • Volt 或許是站在 Opal 肩膀上的 Web 開發框架,其利用 Opal 幫助開發者編寫前端和後端的 Ruby 程序。
  • 另一個新的 Web 開發框架 Pakyow 致力於使實時應用更加好用,固然也值得參考。

###壯大用戶社區

任何一門想要發展壯大的語言都須要使愈來愈多的人知道這門語言。聽起來很難吧?下面的文章可幫助那些不瞭解 Ruby 的人入門:

技術多樣性已然成爲很是熱門的話題,這也合情合理。Rails Girls RailsBridge 都專一於鼓勵 Ruby 多樣性。本年度圍繞多樣性的故事有:

  • Stephanie Burns 描繪了她在 Ruby 代碼營(code camp)中的經歷。代碼營愈來愈多,其形式也愈加符合 Ruby 社區的需求。
  • 相似於 Makers 學院的組織爲其女性學員提供獎學金。
  • 筆者以爲 Hello Ruby 很是棒,這是一本兒童書,能引發小孩子對寫代碼的興趣。真的,能夠考慮買一本送給小朋友。

總之,Ruby 的多樣性發展在 2015 年可謂可圈可點。但願這一主題在 2016 年能得到更多積極的支持。

###跟上科技新寵的步伐

任何一門語言要想在當前形勢中保持活躍,都必須跟隨語言以外的技術不斷變化,甚至實現整合。從根本上來講,Ruby 知足這一點,由於它默認將兩個大的解釋程序(MRI和JRuby)接入外部運行。如下爲 2015 年一些重要的科技話題,並就 Ruby 如何融入技術進行了解釋。

Docker

集裝箱化在2015年底風行一時,如下是有關 Ruby 和 Docker 的一些文章:

  • 閱讀來自 Travis Reeder 的這篇文章,可爲 Ruby 應用建立最小的 Docker 鏡像。
  • 使用 Docker 測試 Rails 會很是簡單,Marko Locker 的這篇文章寫得很清楚。
  • Nick Gauthier 闡述瞭如何使用 Docker 並行開展 Rails 測試

真的,在2015年,一不留神就能看見10篇關於Docker的文章。若是尚未學習 Docker,那就趕忙學吧,它名副其實。

####Slack

你在使用 Slack 嗎?固然!由於每一個人都在用。Slack 很好用,其價值能趕得上大多數發達國家的 GDP。Ruby 和 Slack 相結合很是好用,看看下面的文章就知道:

####其餘語言

Ruby 開發者總在尋找能夠利用或學習的其餘語言,以期讓開發過程變得更加愉悅。下面是一些關於尋找編程架構的小故事:

  • Parse 從 Ruby 轉爲 Go ,變得更加健全了。
  • 今年有關 Rust 的報道可謂不可勝數,Robert Qualls 的這篇文章展現瞭如何經過 Ruby 使用 Rust。
  • 不過,Ruby 開發者的新歡必定是 Elixir。閱讀本文,看看爲何有人堅信 Elixir 是將來之星。

最後,其餘引發躁動的 Ruby 相關文章:

  • React 是目前的 javascript 開發框架。經過這篇文章學習如何經過 Rails 使用它吧。
  • 若是你用 Ruby 寫 Web 應用程序,又不是 David Heinemeier Hansson(Ruby on Rails 創始人),那麼微服務對你而言就是全新的概念。這篇文章闡述瞭如何將 Rails 應用設計打造爲微服務。

###缺點

每篇回顧都應花一點篇幅講講不足。作一個消極者是很是容易的,因此這一部分本能夠很長,不過筆者只會列出如下幾條:

  • 人們對於 Rails 開發工做流中 Spring 的加入譭譽參半。許多人和這位做者想的同樣,徹底放棄了 Spring。
  • Adam Hawkins 提到了 Ruby 須要改進的大量問題,而且展現了一幅高要求的產品規劃圖。
  • 筆者以前也提到過微服務,它受到了大量的反對。Nick Sutterer(許多超棒的程序和Trailblazer 開發框架的開發者)寫的這篇文章就說明了如何在被微服務折騰以前作好設計工做。
  • 最後,Refinements 怎麼樣了?有人用嗎?MVP 候選人 Starr Horne 就會用,可是筆者並不以爲不少人在用 Refinements。咱們應該用嗎?
  • 2015 年,咱們瞭解到,宕機簡直是噩夢。的確,宕機真的是太恐怖了。

本文確定遺漏了 Ruby 領域中比較不起眼的一些內容,請在評論區告知。

原文地址:http://www.sitepoint.com/a-retrospective-on-ruby-in-2015/

Cloud Insight 集監控、管理、計算、協做、可視化於一身,幫助全部 IT 公司,減小在系統監控上的人力和時間成本投入,讓運維工做更加高效、簡單。 本文系國內 ITOM 行業領軍企業 OneAPM 工程師編譯整理。想閱讀更多技術文章,請訪問 OneAPM 官方技術博客

本文轉自 OneAPM 官方博客

相關文章
相關標籤/搜索