- 我最終的技術棧選擇。
終於定案了…… Expo——同時涵蓋網頁與行動端 雖然我原本想要享受開發純網頁應用程式的便利,再用 Capacitor 之類的工具(包括 Tarui)包裝起來,但我一直很難讓它在 Android 上順利運作,因為 webview 的運作方式與現代技術差異太大。 Tarui 可以專注於桌面端,這是個優點。然而,它充其量只是各平台的包裝層。它會受制於網頁技術的限制,包括手機上的拖曳手勢需要額外變通處理,以及離線儲存容量等問題。 總之,如果之後想要桌面應用程式,我也可以把 Expo React Native 專案包進 Electron 裡。 LegendState 號稱比 ...
- 這個部落格的未來?登入與留言系統?
為這個網站加上後端? 我希望網站上能有自己的留言系統和通知功能,讓讀者可以訂閱他們感興趣的主題。 而且,這個帳號會使用我 Intenca 專案的帳號。因為我大部分文章的讀者應該都是學習者(我猜?),我想建立一個學習或研讀套件的品牌。他們可以自由留言、訂閱標籤,或者,也許還能在這個網站上使用一些應用程式。 不過,無論如何,我應該先把这个套件建好。
- 新增了會讀取 JSON 檔案的 Projects 頁面。
從舊的個人網站搬遷到這個網站 我還沒把「Website」的 JSON 搬到這個網站。不過目前為止,「Apps」的部分成果還不錯。在處理行內 Javascript 時,Astro 不像 NextJS 那麼方便,但對於一些基本的用戶端渲染來說已經夠用了。 訪客似乎也變多了 從 WordPress 網站換成這個 Astro 網站後,我觀察到訪客變多了,如果我沒記錯的話。 還是比較喜歡網頁開發框架,勝過 WordPress 有趣的是,我原本以為只要用 WordPress 就能專心寫文章,不必太在意技術細節。但我發現自己還是更喜歡鑽研到極致,而 WordPress 實在太以寫作者為...
- 花了 2 天時間把這個網站調整好。
就快完成了! 我一直在嘗試用 Obsidian 當作 CMS,來供應這個網站的內容,包括部落格文章和訂閱來源。 我之所以從「個人網站和部落格分開」改成「全部整合在一起」,是因為這樣比較好管理。另外,我也想看看流向部落格的流量,能不能對我的副業應用程式和未來的生意有幫助。 所以,我比較像是在建立個人品牌,同時練習寫作能力。 我大可以去做社群媒體和影片,但我就是不是那種人。我寧願閉上嘴,把思緒整理清楚,然後用文字好好表達出來。 我想我可能會完全放棄社群媒體,專心學習和寫作……
- 打造這個網站,同時作為動態牆與部落格
想法 我的個人部落格和個人網站原本是分開的。因此,我想把它們整合到同一個網站,方便統一管理。 這樣一來,網站就能同時展示我的個人專案、動態牆,以及文章。 範本 我以 Astro-Yi 作為基礎,並依自己的喜好加以修改。我很感謝作者的心血。這個網站範本非常出色,完全符合我的需求。 幕後 不過有一點我做法不同。我使用 Obsidian 作為 CMS。這是因為我很喜歡 Obsidian,本來就一直用它寫筆記,所以我想在 Obsidian 裡寫文章也很合理。
- 已為本站新增雷達圖
新增了雷達圖與簡介。 我是有點想寫長一點,但還是簡短帶過吧。 我正在改版我的網站,讓它更符合我近來在做的事。因為我一直在認真學日文和西班牙文,所以想在網站上分享我的心得和學習方法。不過,我還在摸索該怎麼放、放在哪裡。
- 重新考慮下一個大技術堆疊……
Android 上的 Capacitor 實在太惱人了…… 舊版的 webview。沒辦法讓 tailwind 在上面運作。 就算我能套用樣式,Android 上的狀態不知為何就是不會反應式更新。 不然就是會出現導覽問題。 重新考慮搭配 Expo 的 React Native 依賴地獄是真的,但我下一個專案必須是離線優先、可本地安裝的應用程式。所以,行動端用 RN,再用 Electron 包裝起來,比用本地 React 包裝的應用程式更合理。 不過,我還是得看看 Appwrite + RxDB 跟 RN 搭配起來運作得好不好。如果不行的話,我就得自己打造同步機制,雖然不理想,...
- ZenTube 4.1 已提交,以及 Capacitor + Next.js 遇到的問題
ZenTube 4.1 - 等待審查中…… 今天為 4.1 修正了一些錯誤,並已提交至 App Store 審查。 一如往常,等待中…… 我需要在下次更新中實作深層連結。 在 React Native Web 與 Next.js Web App + Capacitor 之間掙扎 我試著將 Capacitor 與我的 Next.js Web App 搭配使用。不過,我發現了幾件事: 1. Android 上的 Capacitor <Link> 問題 iOS 運作良好,但 Android App 搭配 <Link> 時卻遇到重大障礙。我確定專案使用了靜態匯出,但 L...
- ZenTube 4.1(即將推出的功能)與在此日誌新增 Gicus 留言功能
新功能 - 可切換的選項(針對探索頁面): - 搜尋結果中的 Shorts - 搜尋紀錄文字 - 留言 - 直接從探索分頁加入稍後觀看 - 點擊搜尋列時隱藏搜尋建議 ## 日誌與心得 花了一整天在 ZenTube 上。雖然已經隔了一段時間,但我很高興自己這麼做了。 我也看到 ZenTube 又多了 2 則 1 星評論。我的直覺告訴我,這是因為我沒有像先前所說的那樣更新應用程式、開發那些功能?還是單純有些憤怒的使用者。我毫無頭緒,因為他們根本沒有留下任何評論內容。 總之,學到一課了。使用者不會在乎你的私人生活有多忙,因為他們也正忙著過自己的生活。留負評對他們...
- 終於讓 Appwrite 和 RxDB 的離線同步功能正常運作了
前言 這並不難,但我不會說它是隨插即用。我花了幾週時間才讓基礎架構正確運作,主要困難在於缺乏範例和教學。相較於 Powersync + Supabase 或直接使用 Firebase,這確實需要一些設定。 實作 有一篇官方部落格文章附帶 git 範例,說明如何實現 Appwrite + RxDB。然而,當我嘗試時,它有點問題,而且它不做即時同步。所以,我最後透過閱讀 Appwrite 和 RxDB 的文件,從頭開始建立自己的版本。 主要障礙 使用 RxDB 處理狀態管理 我使用 LegendState,有時候我會嘗試 .set() 我的 rxdb collecti...
- 為 ZenTube 後端新增功能
下班後我花了半天時間,只為了替我的 ZenTube 應用程式新增一個 API 端點。從 JSON 回傳的內容在瀏覽器裡顯示成亂碼,但用 curl 測試卻完全正常。所以我知道問題不是出在來源,而是 API 處理或回傳回應的方式。 我花了幾個小時後確實找到了修正方法,你可以閱讀相關說明。 我會繼續開發 ZenTube,兌現我對使用者的承諾。不過我其實很想玩玩看 Svelte!
- 將開發日誌時間軸更新為產生靜態獨立頁面
將我的時間軸開發日誌擴充為獨立頁面 在做完這個網站之後花了幾個小時。 我知道你是個極客。我的網站建構在自架的本地 Directus 之上,靜態輸出則使用 NextJS。 為什麼 Directus 很棒 我用 Directus 作為 CMS 打造了這個時間軸。我之前就有把玩過它的經驗,所以這次做起來很自然。 優點 - 非常靈活多變 - 當然是自架的 - 可以當作我為自己打造的一切的後端 缺點 - 沒有 :) 接下來 1. 我想我會把 GitHub 留言加到我的開發日誌裡。 2. 首頁日誌的分頁功能。 3. 為這個網站加上 PageFind?還是 Agolia...
- 我下一個重大專案的最終技術棧決定 - Appwrite + Capacitor + RxDB
我一直試著弄清楚該怎麼全部自行架設,好讓我能夠逃離資本主義,而這一直都很難。 規模經濟與資本主義是相伴而生的。公司越大,他們能提供的服務就越便宜、越好。為了向這些壟斷企業說不,我必須做出一些犧牲。 我把時間花在學習和東拼西湊上,真的很希望這一切值得。 過去幾週,我試過許多技術棧,想達成跨平台、本地優先的同步。這包括原生平台、RN Expo、LegendState、Flutter、RxDB、Powersync、Appwrite、MongoDB、Realm 和 Supabase。也研究過 Brick、WatermelonDB、IndexDB 等等。同時也去理解這些解決方案之間的差異,以及我該...
- 學會了自架 Supabase + LegendState 來實現離線同步
又花了一天想找出終極技術組合。我還在試 Appwrite,但從來沒能讓它 100% 正常運作。看來 Supabase + LegendState 這個組合開箱即用就夠好了。下一個專案我就用它。 下一步會是微調實例,加上郵件支援等等。這樣我就準備好打造下一個大作啦,哈哈。 明天會著手處理 ZenTube。
- ZenTube 4.0 發布;正在學習並在 LegendState、Appwrite 與 Supabase 之間做選擇。
ZenTube 自從新版本發布以來,我沒收到任何客訴信件,所以我想它運作得還不錯! 既然最重大的工程(資料庫遷移)已經完成,接下來我會繼續修 bug 並新增功能。我心裡想到的有: 1. 新增觀看時間戳記 2. 分類計時器——讓你可以用圖表回顧自己在各個分類上花了多少時間,甚至可以為它設定時間上限。 學習 Appwrite 與 LegendState 基本上就是在 Appwrite 和 Supabase 之間做選擇,因為我可以使用支援離線優先同步的 LegendState。我前不久才認識 LegendState,它很有意思,也符合我的需求。但它的文件寫得不是很好,尤其是 App...
- 已提交 ZenTube 4.0.3 更新送審;繼續處理我弟弟的網站。
- 已將 ZenTube 4.0.3 提交給 Apple 審核。希望一切順利!(祈禱) - 繼續處理我弟弟的網站,也就是其他頁面。不過這比我想像中花更久,因為我想要像原版那樣有令人驚豔的動畫,讓投影片進出。但那些要花很長時間才能完成。我只好先跳過一些令人驚嘆的元素,先把第一版完成,讓他能先用。
- 提交至 App Store 前對 ZenTube 的進一步測試
終於完成 的同步功能。我把應用程式邏輯從使用 GRDB 改寫為 CoreData,花了我不少時間。它能協助使用者更有效率地同步,不必再為所有裝置手動上傳與下載。
- 建立這個時間軸來記錄我的進度
在這天之前,我已經完成了很多事。 其中包括我自學程式設計兩到三年的歷程。一路上,我打造了一些應用程式和網站。 我決定開始在自己的網站上記錄我的進度,主要是因為我不想依賴大型科技公司或任何第三方來保存我的成果。 我想,這算是我以某種形式對資本主義說不的方式吧。