BPS 開發分享之 20:測試與覆蓋率
關於程式碼覆蓋率這件事,我一直都是只有聽過但是沒有自己落實過,一直到最近我在 BP Studio 上面引入了 Istanbul 來檢查並且陸續試圖推進覆蓋率、這才震撼地親身體會到這個指標有多麼重要。本... » 閱讀全文
關於程式碼覆蓋率這件事,我一直都是只有聽過但是沒有自己落實過,一直到最近我在 BP Studio 上面引入了 Istanbul 來檢查並且陸續試圖推進覆蓋率、這才震撼地親身體會到這個指標有多麼重要。本... » 閱讀全文
對於像 BP Studio 這種演算法很複雜的應用程式來說,即使在開發階段已經非常努力地試著抓出並修正所有的錯誤,還是很難免會遇到某些很難觸發的邊緣案例(edge case)是會導致意想不到的錯誤的。... » 閱讀全文
只要是應用程式,都有可能會被開啟了一個以上的實體,而當應用程式的設計當中包含了持久性資料(persistent data,即使應用程式關閉之後仍會保存的資料)的時候,我們就會需要去考慮有多個實體同時去... » 閱讀全文
經歷了一週多的瘋狂改造之後,開發中的新版 BP Studio 1 終於在 PageSpeed Insights 中刷出了行動裝置上的滿分成績了。這真的是有夠困難的一項挑戰,畢竟如果各位拿 Google... » 閱讀全文
本系列的上一篇文章當中,我用了不少篇幅在靠北別人的程式庫;平衡起見,我這篇打算反過來靠北一下自己過去的一大心血結晶,即我自己花了一年多的時間所開發的 Shrewd 框架。那曾經是我對 BPS 感到很自... » 閱讀全文
開發中的新版本 BPS 當中,其中一個相當大的變更是把圖形處理程式庫從 paper.js 遷移到 pixi.js 之上。本篇當中我想來分享一下這當中的歷程。 paper.js 在最最一開始我開發 BP... » 閱讀全文
兼顧瀏覽器相容性、一直以來都是做前端開發的一大挑戰。我自己從 IE 4 的年代就開始在寫網頁,那個時代根本等於沒有標準可言,瀏覽器各玩各的規格,要兼顧相容性是一件超級痛苦的事情;到了現代有了 ECMA... » 閱讀全文
上次在本系列的第十篇中介紹過了 File System Access API,而最近這一陣子 Chromium 系列瀏覽器又再次推出了極度讓人興奮的新功能:File Handling API(這個 A... » 閱讀全文
在網頁世界裡面一直存在著三個超古老的內建對話方塊:alert、confirm 和 prompt。這三個打從二十幾年前我剛上國中的時候就已經存在了,一直到現在也都還在。但是當然,原則上專業寫網頁的人一定... » 閱讀全文
很明顯地,BPS 最核心的程式都跟圖形界面區域裡面發生的事情有關。可想而知地,這個區域是用 <canvas> 元件畫出來的;該元件可以說是 HTML5 最強大的發明、沒有之一,因為正是這個... » 閱讀全文
前幾天我才剛寫完 BPS 開發分享之 7:檔案下載,我突然就發現原來之前眾人一直在敲碗的 File System Access API 最近已經可以在 Chromium 系列的瀏覽器以及其 PWA 當... » 閱讀全文
截至目前,BPS 一共內建了六種語言(英文、西班牙文、日文、越南文、簡體中文、正體中文)。考慮到「一直到現在 BPS 都是由我一個人獨自開發」這一點,能夠做到這種程度、我想應該是可以稍微感到自豪一下的... » 閱讀全文