鐵人賽最後一天了,也是我這系列的最後一篇文章。
在我的號召之下,公司其他兩位同事也一起參加鐵人賽,順便PO上他們的文章:
-
美術篇: http://ithelp.ithome.com.tw/users/20103836/ironman/1216
-
工程師篇:http://ithelp.ithome.com.tw/users/20103833/ironman/1205
挺有意思的,心境上的轉換大概是:
- 5天(我不知道要打什麼)
- 15天(好累喔 好想放棄喔)
- 20天(啊?打了20天了喔)
- 25天(我發現我打不完,還有好多要打)
- 30天(結束了好爽!!!)
一起參加這種活動真的滿好玩的。
這系列文章,包含了Ruby on Rails, ReactJS, Redux。 至於為什麼想寫這系列,主要還是因為網路上很多文件都是分開設計,分開設計也沒錯其實,只是切得太開對rails 要傳遞的object不好處理。用官方推出的React-rails套件也可以,但是對asset precompile很不好施力。所以最後我選擇react_on_rails這個gem下去實作。
這系列文章裡,這個部分講了基礎的CRUD、Route、還有API設計。 主要是處理後端的MVC,跟Database溝通等等,讓前端reactJS跟Redux有東西可以吃。
這個子系列,先介紹了我要用的gem react_on_rails,然後大略的講了ReactJS幾個重點,然後講了npm跟webpack這些前端的模組化工具,好讓我把前端的東西好好整理在一起。最後,做一個假的ToDo List -- ReadingList,並規畫他的前後端架構
這邊就是介紹三個Redux主要的功能Store, Reducers, Action,並且解釋一下State要放哪裡的疑慮。最後再把前面Reading list的APP加入Redux,並且deploy上heroku。
很多的Gem確實都有包含一些Rails的東西在裡面,但仔細想想他又應該只屬於前端的東西。 我只是想把前後端完整分離,讓後端專門跟database溝通,然後透過API告訴前端他該得到的資訊。 把前端的東西就用NPM整理再一起,要minify、要分割,就用webpack的模組化套件去處理。 這樣做完以後,對我而言,確實要改的方向簡單很多,也比較好分工。
希望這系列的文章有幫到需要的人,至少打完以後讓我自己不清楚的地方更加明瞭,也很感動我能連續打完30天的鐵人賽。