iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Software Development

JUCE 入門 @ 跨平台應用程式開發使用 C++ 系列

JUCE 音同 Juice(果汁),不是字拼錯,其名來自設計者 Jules Storer,是 Jules Utility Class Extension 的縮寫。JUCE 在音樂類型的軟體界為人熟知,在那之外,較少人知道這套與 Qt 屬性相同的跨平台開發框架。支援 Windows, macOS, Linux, Android, iOS 等主流平台。

JUCE 第一版於 2004 年釋出,我在那之後十年才遇上她。此系列為 JUCE 入門,說明 JUCE 原理,可以做,以及做不到的事,並介紹幾個開發 GUI 應用程式常用的組件。

參賽天數 29 天 | 共 29 篇文章 | 6 人訂閱 訂閱系列文 RSS系列文
DAY 21

Day 20:非 GUI 類工具之 juce::Analytics

為簡化使用者行為採集,JUCE 提供了 juce::Analytics 以及相關介面,讓開發者依需求收集使用者行為,收集到的資料儲存於本機或者傳送到遠端伺服器。...

DAY 22

Day 21:非 GUI 類工具之三

JUCE 提供 juce::var 類別,可用來儲存多種資料型別,如 int, int64, float, double, String, etc. JUCE...

DAY 23

Day 22:多國語言

JUCE 處理多國語言的機制,關鍵在 juce::LocalisedStrings 類別。 為支援多國語言,呈現在 UI 上的文字以 juce::transl...

DAY 24

Day 23:優與劣

遇見 JUCE 是個意外。原本對象是 Qt,但因客戶硬體限制作罷,開始尋找其他方案。2014 那年,C++ 跨平台開發框架我只認識 Qt、wxWidgets,前...

DAY 25

Day 24:程式「動」起來

Projucer 支援另一類型的專案——Animated。與一般的 GUI 專案不同處之一是,MainComponent 不再繼承 Component,改繼承...

DAY 26

Day 25:獨立販售的音樂類軟體外掛

不諱言,C++ 初學者面對 JUCE 這個坑,以主流軟體開發趨勢(Web stack)來看,要找到跳下去的理由,很難。 JUCE 是為了「簡化」Audio/Mu...

DAY 27

Day 26:擴充性

談到擴充性,JUCE 以 Modules 為基礎,開發者可提供自制 Module,供其他人使用。如下圖,使用 Projucer 建立專案時,可以指定 User...

DAY 28

Day 27:Design Pattern in JUCE

細看 JUCE 框架的設計,可以看到一些 Design Pattern 實例。本文列出幾個。 Singleton Singleton 帶來的副作用,理論上能不用...

DAY 29

Day 28:無法盡善盡美

這篇再談談 JUCE 的缺點。JUCE 論壇有一串討論,談到 LookAndFeel 的架構問題,JUCE 創作者也回應,並道出 LookAndFeel 因為一...

大山姆的機機車車的收藏
大山姆的機機車車的追蹤
大山姆的機機車車的Like
大山姆的機機車車的紀錄