上篇介紹 MUI 基本安裝與使用方法,但我們不太可能用 MUI 完成整個網站的切版對吧?所以此篇將聚焦:
- MUI 與 Tailwind 協作
- 元件與主題客製化
這篇文章會更貼近實務應用情境作介紹

上篇介紹 MUI 基本安裝與使用方法,但我們不太可能用 MUI 完成整個網站的切版對吧?所以此篇將聚焦:

使用 UI 庫能節省大量視覺設計和操作流程的前置設定,縮短開發時間,更重要的是在後續維護中也仍能保持一致性。想想不用自己刻頁碼省略邏輯,做 OTP 也會自動焦點下一個欄位,是不是很開心?😉
這是【套件筆記】開出的新系列 React UI 庫,我想針對幾項常見的 UI 庫做介紹與比較。結尾也會附上 Page 讓大家感受在電腦網頁與手機操作的差異。

這篇文章將完成把 Android 裝置註冊到 Azure 通知中樞的程式碼。
在這篇文章中,你需要事先準備
Pagintaion 套件 + Axios API 請求範例
Swiper.js 是一個功能齊全的輪播套件,除了輪播外,也可以客製化導航按鈕和頁碼等細項。目前支持 JS、React、Vue。我的 Vue3 專題中也有使用這套套件呈現,但因為 Swiper.js Vue 版是由 Composition API 寫成,但我當時只會 Options API,花了很多時間了解撰寫方式。今天目標就是介紹 Swiper.js 在 Vue3 Options API 的用法和元件化小撇步。
以下流程是針對 Android 推播通知設定,請在 windows 電腦上執行!
這次的主題是 Expo 串接 Firebase 和 Azure,Azure 運行流程、編譯 App 和除錯會放在之後的文章。
在這篇文章中,你需要事先準備
npx create-expo-app@latestnpx expo prebuild 生成 android 資料夾android package 名稱在 Firebase 建立一個新專案後,新增 Android 應用程式
在進入與 Firebase 和 Azure 串聯之前,這篇文章會先做知識前導。
Expo 本身就存有自己的推播通知模組 Expo Notifications,但我們也可以串聯其他具推播功能的平台。兩種做法也關乎我們要使用哪一種 Workflow,關於 Workflow 可以閱讀文章 「React Native / Expo Workflow」。
| 功能 / 能力 | Managed Workflow (EAS + Expo Notifications) |
Bare Workflow (原生整合 FCM / APNs) |
|---|---|---|
| 工具 | Expo API 內建支援 不須再分 FCM / APNs |
自行串接 SDK,例如 Firebase |
| 工具運作方式 | 使用 ExponentPushToken |
第三方 SDK 產生的 Device Token |
| 基本推播通知 (標題、內文、點擊導頁) |
支援 | 支援 |
| 富通知 (圖片、大圖、互動按鈕) |
支援有限 | 支援 |
| 靜默通知 (Silent / Background Data) |
部分支援 | 支援 |
| 整合第三方服務 (Azure / OneSignal) |
不支援 | 可串接 REST API / SDK |
| 原生推播設定控制 (頻道、分類、優先級) |
部分支援,依 JS 設定 | 支援 |
| 整合與開發難度 | 最簡單、快速 | 較高,需原生知識 |
本篇主題是 React Native 小介紹。
因為先前在測試 Ionic + PWA 開發,對相機功能實在太失望,結果現在我開始用 React Native / Expo 了。
如果還不清楚 Ionic 和 Reac Native 能做不同種類的 App,可以先閱讀 App 種類概述 。
1 | npx create-expo-app@latest |
此篇作為 此部落格 App 技術文 的前導介紹,概述 App 種類差異。
開發 App 的軟體有很多種,例如 Ionic、React Native、Flutter…。
不過我們在決定要使用哪一套工具前,可以先了解 App 要使用多少手機原生功能、人力技術、效能等資訊。
| 項目 | Native | Cross-platform | Hybrid | Web App / PWA |
|---|---|---|---|---|
| 使用技術 | 原生語言 | JS/Dart + 框架 | Web 技術 + WebView | 純 Web 技術 |
| 使用框架/平台 | Xcode、 Android Studio |
React Native、 Flutter、Xamarin |
Ionic、Cordova、Capacitor | Vue.js、React.js、Angular 以上搭配 PWA 支援 |
| 原生功能支援 | 完整 | 高 | 有限 | 有限 |
| 安裝方式 | App Store、 Google Play |
App Store、 Google Play |
App Store、 Google Play |
免安裝,直接開啟 |
| 效能 | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐ |
| 推播通知支援 | 支援 | 支援 | 需設定 plugin | 限支援 PWA 瀏覽器 |
| 離線功能 | 支援 | 支援 | 視 plugin 支援 | 僅部分瀏覽器支援 |
| 學習曲線 | 高 | 中 | 相對低 | 低 |
關於 PWA 對原生功能支援的「有限」程度,請閱讀 PWA介紹 (Progressive Web App),優、缺點及範例介紹。
因為我是 Web 開發者,最近才開始接觸 App 開發,知識認知上還是有限度。
附上更深入比較的文章提供參考。
更多關於我的研究,可藉由 tag: App 主題閱讀。