iT邦幫忙

0

微軟的決策讓 Mac 開發者陷入困境:Xamarin 支援終止後的挑戰

  • 分享至 

  • xImage
  •  

這篇文章在 2025 上半年擬稿,因為我的拖延症直到 2026 才發表。😂

去年上半年公司要接手維護某個 App,都是用 Xamarin 這個淘汰的框架寫的,這篇用來紀錄當時我遇到了哪些問題與啟發。

  1. 微軟官方已經停止 Xamarin 的支援,取得代之的是 .NET MAUI。
  2. 官方的 Visual Studio for Mac IDE 除了訂閱帳號已經下載不到,雖然似乎可以用 Visual Studio Code,但似乎要做許多配置,網路上資源又更少了。
  3. 比較好的解法是用 JetBrains Rider IDE 或想辦法載到別人留存的 Visual Studio dmg 安裝檔。然而 JetBrains Rider 開發 Xamarin 的教學資源較少,所以我繼續使用 Visual Studio for Mac (想辦法載到的),卻出現找不到 iOS 模擬器的問題。
    再看看這篇的討論,找不到 iOS 模擬器基本上只能等待微軟解決 Visual Studio for Mac 對 Xcode 的支援,但是 Visual Studio for Mac 已經棄用,所以,你懂的。😏
  4. 官方建議把 Xamarin 專案升級至 .NET MAUI,重點是你不讓除了訂閱用戶的 Mac 開發者下載 Visual Studio for Mac,,舊專案是要怎麼升級,變魔法?
  5. 開發 .NET MAUI 一樣需要 Visual Studio,但一個標榜跨平台的框架,結果 Mac 不能用,只能用 VS Code 搭配擴充元件,開發體驗就不如 Windows,除非你使用 JetBrains Rider IDE。

這種讓開發者不知所措的行為,又怎麼可能讓開發者對 .NET MAUI 抱以期待?雖然我沒碰過 .NET MAUI(希望以後也不要碰),但我認為 Xamarin 的現在 = .NET MAUI 的未來,這完全是根據微軟的行為得出的結論。

順便給大家看一下我在安裝 Visual Studio for Mac 看到的笑話:

https://ithelp.ithome.com.tw/upload/images/20250213/20129680fyTR0osjo9.png

哇,好期待。

https://ithelp.ithome.com.tw/upload/images/20250213/20129680xYgxha3aMv.png

哈,笑死。

順便讓 gpt-4o 來評論我的說法。

https://ithelp.ithome.com.tw/upload/images/20250213/20129680BG9UGHn5t4.png

後續折騰了一陣子,把開發者憑證處理好之後,準備使用 macOS sequoia 15.1.1、Visual Studio for Mac 與 Xcode 16.1 把專案燒到真機測試(因為模擬器偵測不到),然後又出現了一個狀況:

https://ithelp.ithome.com.tw/upload/images/20250218/20129680SPsCfr8u4k.png

搜尋了一下又是 Visual Studio for Mac 的問題,如果你是開發 MAUI 的,官方一開始也是建議你不要升級,這就是跨平台框架的通病。

這個 IDEDistribution 框架載入的問題,在 Rider IDE 上也會發生:

https://ithelp.ithome.com.tw/upload/images/20250218/201296805c8a2in1AU.png

這裡也有相關討論。

所以可行的解法是把 Xcode 降回 15.4 以下的版本,但是我的 macOS 不支援該版本的 Xcode,只能裝新版本的,難道要我把 macOS 降級?請加錢。😛

後來我真的降 macOS 用 Xcode 15 就可以成功把專案 build 到實機與模擬器了,但最後因為蘋果要求使用 Xcode 16 打包上架,所以一切努力都白費。🥲

在 Mobile 的世界裡,原生開發才能讓專案走的久遠,跨平台這種第三方框架會有一定的風險需要承擔,例如 React Native 版本升級難度過高,導致重寫比升級還更有回報。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言