一套可以让 UWP 开发者延续经验的跨平台框架
前一阵子某个朋友在脸书贴了一个关于 Uno Platform (以下简称 Uno) 的连结,好奇点进去看了一下,觉得非常有意思,这是一套可以让 UWP 开发者快速上手的跨平台 (UWP / iOS / Android /WebAssembly) 框架。
根据官网上的说明,Uno 在界面的开发上面几乎和 UWP 的 xaml 是相同的,这是很有意思的地方。以前在写 Xamarin Forms 总有一些尴尬之处,虽然 Xamarin Forms 也用 xaml,但和原来所习惯的 UWP 的 xaml 语法还是有些距离,有时想要套用一些原来在 UWP 或 WPF 上的技巧是不太可能实现。Uno 带来了全套的 UWP xaml,这改变会让原来 UWP 的开发者要进入跨平台开发的门槛进一步降低。
Uno 并非完全替代 Xamarin,它所替换的位置是 Xamarin Forms 这一块 xaml UI 的部分,使用 Uno 开发跨平台应用程序 (Android / iOS) 还是需要 Xamarin 作为基底的。Uno 官网上的架构图如下:
图片来源:https://platform.uno/#Architecture
在 Visual Studio 上要使用 Uno 其实是相当容易的,不过你得先安装 Xamarin 的开发环境,接着只要安装 Uno Platform Solution Templates 的扩充功能就可以使用了。
接着,就可以直接使用 Uno Plateform 的项目范本建立跨平台项目:
建立完成后的方案总管会呈现几个项目,主要设计 xaml UI 的部分就在 App1.Shared。
开启 MainPage.xaml ,看起来简直就是标准的 UWP xaml 设计划面,不过比较困扰的一点是 Intellisense 似乎没有作用,不晓得是本来就这样,还是我的 Visual Studio 已经被我瞎搞弄乱了。
关于更多 Uno Platform,请参阅参考数据:
官网 https://platform.uno/
官方博客 https://medium.com/@unoplatform