Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~
在本系列文因為工作上的產品應用需求,進而探索到很多層面的點滴事。透過每篇 EP 的分享把這些點滴整理,看起來或許像是個獨立的小品抒發文、也或許是一系列技術研究文!?
總之,就當作的隨手雜記文吧!
本篇是 莫名其妙就跟世界等級的 OpenSource 專案攪和了!? 系列文的 EP06。
有了合適的系統後,開發團隊開始要移植原本在 Windows 上跑得頭好壯壯的產品程式。
順帶一題,該產品的設計是會有 UI 的面向,給終端使用者操作的。
當然這終端使用者還可以進一步的分群為:
所以,遙想 1x 年前,在 Windows 上要滿足這樣的 UI 框架,當然只有 WPF (Windows Presentation Foundation) 可以擔任這個角色。
請問...
那 Windows Forms 呢?
1x 年前我在哪我都不知道了,我怎會知道當初不選 Windows Forms 的理由。
但依照上述提到的終端使用者的概念來看,大概是當時的開發團隊為了滿足 1. 的使用族群,雖然 Windows Forms 能良好的對應各種生態系,對開發團隊來說會是比較簡單的選擇,但長遠來看 WPF 確實會是個比較好的選項(...應該)。
要到 Linux 上跑呢?
那 WPF 肯定是不行的,所以要選能跨平台的 UI Framework ...處理 UI。
總而言之...言而總之~~~
就是選了 Avalonia UI🙂
WPF 本身多數設計與開發概念,大多都能順利的平移到 Avalonia UI 上。
對,大多...
一但講下去,又會牽扯到很多 Avalonia UI 的開發細節上的問題,這邊也就不多先談了。
但能夠順利地透過 Yocto 建置出的客製化 Linux 上跑起來,也要歸功於 Avalonia UI 的開發團隊,對於 Linux 平台支援度真的有一定水準的一套 UI Framework。
順帶一提,該客製化 Linux 是無視窗框架在系統中,而 Avalonia UI 也能不仰賴 Linux 的視窗框架,透過 DRM (Direct Rendering Manager)模式顯示並有輸入互動(Running on Raspberry Pi with Raspbian Lite)。
但真正的核心問題來了...
原本在 WPF 上使用的影片播放嵌入整合在應用當中的畫面處理,該怎辦?
扯了這麼多,終於可以回到 EP01 的 Gstreamer。