title |
---|
實現與介紹
**前端 Frontend**
方案一:\
Nuxt3:
|
Nuxt3 是一個基於Vue3 的開元框架,支援
SSR(Server Side Rendering)以及SSG (Static Side Generation)
兩種網頁運行模式,而我們則使用SSG
關於SSG的補充:
優點:
瀏覽網站時,就可以拿到完整的HTML檔案,利於SEO
可以讓HTML被cache在CDN上
缺點:
須考量到頁面資料更新頻率的問題
應用越大,打包時間越長
Capacitor:
Capacitor 是由ionic 團隊開發的跨平台框架
我們透過Capacitor將Nuxt3打包成軟體(支援IOS、Android、Web)
主要特點:
-
跨平台開發
-
無前端框架限制
-
Native API 訪問(充分發揮本機平台的功能)
-
Capacitor CLI (提高開發效率)
-
插件生態系統(大多問題能在插件市場中找到相應的解決方案)
方案二:
React Native(RN):
一個由 Facebook 開發的開源框架
允許開發者使用 JavaScript 和 React 的語法,同時在 iOS 和 Android 上建立原生級別的應用程式。RN的核心思想是「一次編寫,到處執行」,這使得開發者最大限度地共用程式碼,同時保留了在不同平台上提供優良用戶體驗的能力。
主要特點:
-
跨平台開發
-
原生性能
-
簡潔的語法
-
豐富的生態系統
-
模組化架構
-
強大的開發者工具
後端 Backend
FastAPI:
FastAPI 是一個現代、快速且基於 Python 的 Web 框架,設計用於構建高性能的API,它結合了許多最新的Python特性,使開發者能夠以簡單、快速且安全的方式構建Web API。
主要特點:
- 基於標準Python類型提示
代碼更易讀、更易理解,還使得 FastAPI 能夠自動生成交互式文檔
- 自動生成交互式文檔 (集成Swagger UI和ReDoc )
能夠輕鬆了解 API 的結構、端點、參數和輸出、測試
- 使用 Pydantic 進行數據驗證 (用於數據驗證和序列化的庫)
防止無效或不安全的數據進入應用程式
-
內建OAuth和JWT支援 (使得實現身份驗證和授權變得輕鬆)
-
內建的依賴注入系統 (方便管理、注入應用程式的依賴關係)
-
性能卓越 (基於Starlette框架,以及對異步編程的充分支援)
巴士Bus (虛擬化Virtualization)
為何選擇虛擬化方案?
因為這方面涉及生科,成員對此領域不熟悉,選擇相較保險方案
選擇引擎:
我們選擇Unity,它是一個強大且廣泛使用的跨平台遊戲開發引擎,用於創建高品質的3D和2D遊戲、模擬應用程式、可擴展現實(XR)應用程式和其他互動內容
主要特點:
-
跨平台開發 (支援iOS、Android、Windows、macOS、Linux)
-
3D和2D遊戲 (優秀的渲染引擎、物理引擎和動畫系統,有助於創建引人入勝的視覺效果)
-
簡明的編輯器
支援所見即所得(WYSIWYG)編輯,使開發者能夠輕鬆設計場景、操控遊戲物件和調整屬性
-
程式語言多樣性 (支援C#、JavaScript、Boo)
-
社群和資源 (有龐大的開發者社群,可以輕鬆獲取教學、腳本、模型和其他資源)
-
擴展性 (可以通過插件和擴展,以滿足不同專案的需求,提升工作流程和功能)