Rails,一個能夠快速開發網站的 Web framwork,關於這個框架有太多的故事,伴隨者幾年前新創風潮而崛起,曾經是開發工具的當紅炸子雞,甚至有一段日子,知道 Rails 的人比知道 Ruby 的還多,雖然聲勢已經不比當年,「Rails 已死」的傳聞更是每年都可以聽見,但其實那顆紅寶石依然持續發亮著,對於許多新創公司來說,Rails 依然是開發工具的首選名單之一
這裡並不打算花太多篇幅來討論 Rails 到底值不值得學,在 Google 上打上關鍵字,就有許多內容精闢的討論串在網路上,更有許多優秀的轉職學員靠著 Rails 踏進程式開發的領域,但這個系列就像標題所說的,「復刻 - 向那些經典致敬」,才是我想做得事情,站在巨人的肩膀跟著前進,向優秀的作品學習,不只是適用在軟體開發上,更適用在各行各業,一個服務,一個框架,能夠受許多人喜愛,一定有他的原因存在,先從模仿開始,透過一步一步從零到有,從建立的過程中了解為什麼,站在天秤的另一端來思考,相信會是很特別的一件事情
身為一個網頁開發者,我們大多數時候是站在使用框架的角度去做開發,但如果是開發一個網頁框架,給其他開發者使用呢?透過這30天的建立的過程,學習 Ruby 技巧,學習換位思考,是我這個鐵人賽最大的目標
2005 年,David Heinemeier HanssonI(DHH) 用 Rails展示,只花 15 分鐘就建立好一個 blog
https://www.youtube.com/watch?v=Gzj723LkRJY&feature=youtu.be
依照現在的標準來說,或許覺得這不就是簡單的 CRUD?但就像影片底下鄉民的留言,的確放在現在是沒什麼,但別忘了這支影片的demo,可是在15年前,要知道那可是連 jQuery 都還沒有的年代
Rails 憑藉著快速開發,也被大家戲稱裡面包含了許多黑魔法,雖然只是個玩笑話,但也因為如此,才會讓人想要了解為什麼可以這樣做?另外今年也是我學習 Rails 的第一年,其實也就是一個 Rails 新手,在學習 Rails 的過程中,常常看到有許多的教學文章,教大家這麼用 Rails 復刻一個 Facebook 或是 Reddit 之類的網站,就是因為這些網站經典,所以才會嘗試復刻,就如同 Rails 一樣,透過復刻 Rails 的過程中來學習 Ruby 這個程式語言
接下來的系列文章,適合剛學 Rails 沒多久,也至少做出一個 project 的 Rails 開發人員,但其實自己是更歡迎資深 Rails 開發前輩留下意見,文章大部分都是靠網路和書籍,再加上自己一點點的經驗所寫出來,內容如果有什麼錯誤,還請留言告訴我
另外本篇系列文章並不會真的完全復刻出一模一樣的 Rails,畢竟一個框架可不是一個人單幹30天就可以生出來,對於已經發展數10年的 Rails 來說,是無數的開發者加上周邊的生態圈所建立起來,這個系列文章會以框架角度的觀念去實作,做出一個最小可行性的 MVC 框架,
在接下來的 30 天,我會同時身兼兩個角色,一個是框架的開發者,另一個是想利用框架來開發一個,擁有簡單 CRUD 的 Todo list 開發人員,透過不停的互換,來了解彼此的需求和想法,在過程中,我也會建立兩個專案,並且會在程式碼範例中標示清楚現在講的是框架,還是 Todo list 的網站
如果你對於 Rails 的框架有興趣,想一起揭開黑魔法的面紗,那接下來的30天,就跟我一起前進吧!