什麼是 File System Access API? 透過這個 File System Access API 就能透過程式操作本機上的檔案,舉例來說像是開啟或...
PWA 的重點就是這個 Service Worker 了,可以做到離線還能使用,主要都是靠它在幫忙。這個 Service Worker 到底有什麼厲害的呢? 雖...
PWA 就是一個很像 Native App 的 Web App,而其中瀏覽器的支援也佔了很大的一部分。 目前最新的瀏覽器開始支援 Service Worker...
原生(Native)應用程式和 Web 應用程式已經要怎麼選,這個議題已經好幾年了。或許 Hybrid App(用 Web 打包的應用程式)是個好選擇,但怎麼都...
接續昨天的進度,我們已經pre-cache app.js這個檔案了,但是我們監聽fetch event時還時直接回應從網路fetch回來的結果,沒有從cache...
什麼是網站推播通知 推播通知不管對 App 或是網站來說都是一種重新吸引用戶來使用 App 的方法,所以目標是即使網站、App 關閉時也要能在背景接收推播。推播...
繼續昨天「針對不同的URL來路由(Routing)到對應的cache策略」,這裡我要將兩種不同的URL分別存入獨立的sub-cache中。第一個為materia...
目前我的整個漸進式網站(PWA)是使用「http-server」這個node package來運行的,不過這也僅在開發階段可行而已。之後為了讓其他用戶也能使用,...
來開始實作Dynamic Caching吧 到目前為止,我們已經在在install階段中實現了pre-cache靜態資源,現在讓我們也來實作Dynamic C...
到今天應該已經可以順利寫出一個 PWA 了。不過為了避免釋出後使用者無法安裝的窘境,可以用 Lighthouse 來檢查是否達到 PWA 的標準。 Lighth...
[Day 16] APP開發 – PWA (2/2)4.2:Progress Web APPs (PWA) 開發 (40min)-- 背景 : SPA, Of...
PWA 既然要在各種裝置上使用,又要在沒有網路也能用,肯定是要經過各種環境測試的。不過你不需要拿出手機或一直切網路,不管你是用 Chromebook 還是桌上型...
PWA 要在跨裝置上都能有好的體驗,除了該有的介面 RWD,讓不同裝置都不會跑版以外,還有什麼是需要注意的呢? 昨天談到 PWA 的 P 代表 Progress...
Cache then Network Strategies 這個策略算是目前應用場景最為廣泛的。主要目的就是能「從cache中盡快的獲得用戶所需要的資源」,並且...
漸進式網頁(PWA)的其中一個目標就是讓網頁「感覺起來」像是手機原生的APP。所以在網頁的設計上必須得適應不同的手機裝置,這種設計方式我們就把它稱之為「響應式網...
Web App 的 manifest 是一個 JSON 形式的配置檔,瀏覽器透過配置檔就會知道 Progressive Web App 該怎麼去安裝在用戶的電腦...
[Day 15] APP開發 – PWA (1/2)4.0: APP 經濟 (13min)-- APP 現實-- APP 困境 : 技術出路4.1:「原生AP...
昨天介紹 Service Workers 後我們知道它是 PWA 的要素之一,且也是讓 Web App 實現離線瀏覽的關鍵技術。今天我們將延伸昨天的知識,介紹...
如果今天用戶沒有拜訪過某個頁面(舉例來說我的PWA中help.html),那麼在網路離線時,我們之前所做的dynamic caching是無法fetch到這個資...
什麼是背景同步(Background Sync) 簡單來說,就是當用戶沒有網路連線時,背景同步就會將數據發送到server。 這裡有一點非常重要,在servi...
推播通知行為 推播通知行為主要分成視覺、後續事件兩大部分,前幾天的文章開箱了: 通知選項視覺 後端推播伺服器實作 處理推播事件 這篇文章主要會更...
終於要來開始實作存取「裝置的媒體」和「地理位置」的功能。 當用戶要發佈貼文時,應該要開啟裝置的攝像鏡頭並將畫面顯示在PWA的表單中,當用戶按下拍照鍵時即完成影像...
回顧一下昨天,我根據不同的request類型而使用不同的cache strategies: "https://httpbin.org/get&quo...
先來為我的PWA建立一個後台資料庫吧 我目前對於用戶的貼文,是先去request一個假的Restful API Endpoint,再用createCard()...
PWA 啟動 要怎麼知道 Web App 是在 PWA 已經被安裝情況下被開啟的,靠 CSS 中有個 display-mode,不管透過 tab 或是安裝的情況...
終於要開始實作「獲取用戶地理位置」的功能了 要獲取地理位置必須使用「Geolocation API」這個Web API。先來看一下這個API的瀏覽器支援程度:整...
什麼是 Idle Detection API Idle Detection API 的設計是當 App 被用戶閒置超過設定的時間時觸發,目前這個 API 還在提...
昨天已經成功地將firebase裡的dynamic data儲存至indexedDB了,接下來因為我目前使用的cache strategies是「cache t...
昨天已經將video stream添加到video元素中,今天要來繼續實作當用戶按下「拍照鈕」後,會將最新的「video stream snapshot」傳送到...
從昨天的流程圖可以發現,我們還必須將用戶要發佈的貼文資訊儲存到indexedDB中才行R。那我就接續昨天在feed.js中增加的code: if('servic...