關於燒燙燙的Calypso離線開發模式

就在上上週Dennis Snell發佈了Calypso離線開發模式的最後一個pull request,詳細使用說明請服用README,概念大概是這樣:

  1. 啟動API回應錄製
  2. 開始這樣那樣玩弄各種等一下離線開發會用到的功能
  3. 啟動API回應錄像回放

之後calypso就不會真的發送任何API requests,而是從之前的回應錄像中取用預存的回應,如果不存在,就會像是一般API request失敗那樣。我不太確定這種模式有沒有標準用語,不過我們目前是把這叫Priming。目前整體差不多是在MVP,步驟繁瑣,但咬著牙屁股一夾走完一趟,就可以開開心心離線閉關去。

在開發初期有跟Dennis稍微聊過他打算怎麼做這一塊,他說他希望能從redux middleware來處理。由於Calypso是個行之有年的專案了,要從這角度下去幹需要非常多的重構,我當下覺得找幾個人全職在做大概也要個半年吧 … 沒想到這傢伙兼職著做也是半年就做完了,實在佩服。

繼續閱讀 “關於燒燙燙的Calypso離線開發模式"

窮人Stack: github page + WordPress.com

前陣子因著自己的需要,做了這個『寶咖咖搜尋器』:

demo-bao.gif

如果你跟我一樣看房看了數年仍是無殼蝸牛,大概一眼就看懂這在做什麼了;如果看不懂,恭喜!你的人生還粉粉嫩嫩、閃閃動人。不過請放心,本篇跟這些黑漆抹烏的完全無關,只著墨在tech stack上。有興趣了解背後悶到出汗的故事者,可以參閱這篇ptt發布文

這個專案不大,但考量到平日龐大的工作量加上顧小孩,我能用的時間既零碎又少,能承受的維護成本非常低,所以最好不用自己host,也不需要我花太多力氣在null exception之類的蠢bug。最後的結論就是:

  • Backend: WordPress.com
  • Frontend host: Github page
  • Frontend development: elm

繼續閱讀 “窮人Stack: github page + WordPress.com"

從WordPress REST API到WordPress Compatible

去年底WordPress 4.7熱鬧登場,在諸多熱辣辣的新功能中,要算將WP REST API納入核心使得人人有REST API用,影響最為深遠了。這代表往後任何人只要實作了與此API溝通的app,自動就有像天上星星那麼多的WordPress網站是你的潛在用戶;討厭php嗎?理論上你可以用任何你喜歡的toolchain實作這個API,那些透過此API與WordPress網站溝通的app,自然而然就能用在你的網站上。(不過後者恐怕還要等使用者認證、授權等API穩定後才較實際)

其實這不是什麼新概念,所謂interface as contract的概念早在web前就有了,令人想哼起經典老歌:Everything Old is New Again:

之所以放在WordPress上好像鑲金了,主要還是『像星星這麼多』這件事,造成它不容忽視的影響力。看看那個知名的content injection漏洞吧!甫一露出就十幾萬網站爆炸呢 ^.<

繼續閱讀 “從WordPress REST API到WordPress Compatible"