Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~
在本系列文因為工作上的產品應用需求,進而探索到很多層面的點滴事。透過每篇 EP 的分享把這些點滴整理,看起來或許像是個獨立的小品抒發文、也或許是一系列技術研究文!?
總之,就當作的隨手雜記文吧!
本篇是 莫名其妙就跟世界等級的 OpenSource 專案攪和了!? 系列文的 EP02。
首先,先來稍微列舉一下公司產品會用到的主要開發技術:
不要問為什麼還在 .NET 6 !?
無論是當前台灣引以為傲的 "高科技" 晶片業的公司們,或是到一般資訊產業的公司們。
其使用的 Client 端的應用,開發上很大一部分都還被綁在 Windows 並跑在 .NET Framework 3.x ~ 4.x.x 下,處於一個無法跟進微軟的 .NET 技術發展的局面。
公司產品的運作卻已能完全從 .NET Framework 環境剝離出來,完全進展到使用 .NET 6 環境運作,並穩定發揮 .NET 技術帶來的優秀運作與跨平台能力。
這是整個產品的開發團隊的花了極大的心血進行改造,並在當前也已完成營運產線的機台部屬上線,極少有使用者感受到有改版(這是讚許)。
應可說是 .NET 開發在裝置端的應用上,一次難得的創舉(或甚至可說是一種世界級的成就...吧?)。
當然,最大的問題還是因為在營運產線上的機台有一大部分還是 Windows 7 的 OS 系統,而 .NET 6 是最後一版有支援 Windows 7 的 .NET,所以只好繼續使用 .NET 6。
(開發團隊也想直接升級到 .NET 10 阿...咦?!)
為什麼用 Avalonia UI ?!
簡單一句話就是要跨平台,要將產品的運作系統從 Windows 轉換到 Linux 上,且產品需要 UI 介面與用戶互動,所以必須選擇一套能跨平台的 UI Framework。
雖然在評估要用使用哪套跨平台的 UI Framework 時,其他可以選擇的還有 Flutter、.NET MAUI、React Native、Uno Platform...等;但以目前的適用性與發展性來看,當初選用 Avalonia UI 確實是個很正確的抉擇。
因為公司產品需要整合多媒體影片與圖片的播放使用,所以這就是必要選項。
雖然類似的也還有 FFmpeg 可以選,而在技術團隊要使用 Avalonia UI 時,該 UI Framework 並沒有類似的能力可以穩定的實踐此功能。
透過開發團隊的持續研究與整合,讓 Gstreamer 成功的與 Avalonia UI 整合,~~選都選了,~~就不斷持續努力的精進使其穩定運作。
下回,來談談整個產品運作時所橫跨的 Windows 作業系統。
我也是要用 Avalonia + VLCSharp 播放器
直接對 RTSP 串流播放
也是想要做跨平台,又不想用 webrtc