2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Mono 将不会具备 Metro UI

  • 2011-09-28
  • 本文字数:1156 字

    阅读完需:约 4 分钟

Miguel de Icaza 提及:Xamarin 将不会把 Metro 导入其他平台,这会是 Linux 在桌面上失败的原因之一。对开发跨平台应用感兴趣的.NET 开发人员将可以使用 Mono 编写业务代码,并为其他平台重写 UI 代码。

为了确保不会误解 Xamarin 对于 Mono 和 Windows Runtime(WinRT)UI(Metro)的计划,Miguel de Icaza 在博客上宣称:他们“不会为Linux 开发WinRT UI,而且也没有计划要这么做。”De Icaza 认为:有可能使用一些Moonlight 代码将Metro UI 带入Mono,但是他觉得这么费劲不值得,表示出他对于Linux 的怀疑,认为Linux 可能无法跟上“其他消费者环境的成长”。

同一时间,Tim Anderson 在博客中提到 de Icaza 的一些话,这是在 BUILD 2011 的私人谈话中发生的。Mono 的创始人表示了他对桌面 Linux 当前状态的担心,而且直接暗示了 Mono for Linux 的走向:

老实话,对于桌面 Linux,开源的好处一直在对抗它,因为我们一直在出问题。不只是 Red Hat、Ubuntu、Suse 之间的不兼容,甚至同样的发布版本都存在问题。Ubuntu 从这周起就不在于 9 个月之前的版本兼容。而且还有多个版本,KDE 版本、Gnome 版本,拥有新启动系统的版本。 如果你算一下在 Linux 上有多少出色的桌面应用,大概也就 10 个左右。你使劲儿想想,也许能说出 20 个。这一路上,我们在每一步都成功地激怒了开发人员,API 总是出问题。

我的心都碎了,这是底线啊……

我想 Linux 在桌面上面临着困难,而且桌面也已经开始不再那么重要了。

所以,现在很清楚:我们不会看到跨平台的 Metro UI 了。这与 Mono 的方式相同,Mono 不打算把 WPF 导入到其他平台,因为需要太多资金和工作量支持。但是,如果 Mono 打算跨平台,使用什么样的 UI 呢?De Icaza 提出如下建议:

  • Windows 平台:WinRT、 Winforms、WPF(替代品:GTK#、Silverlight)
  • MacOS 平台:MonoMac(替代品:Gtk#、Silverlight)
  • Linux:Gtk#
  • Android:MonoDroid API
  • iOS:MonoTouch
  • Windows Phone 7:Silverlight
  • XBOX 360:基于 XNA 的 UI

为了编写跨平台应用,针对这么多平台要使用这么多不同的 UI,让人怀疑 Mono 是否还具有吸引力。De Icaza 认为:在应用的业务代码和 UI 之间有明确分隔还是有价值的,而且 Mono 的业务代码可以在所有这些平台上运行,开发人员只需重写 UI 部分。这样更好,因为原生 UI 代码让应用看起来更好,使用跨平台 UI 的要差些。

但是 Web 开发框架在崛起,比如 jQuery jQuery UI jQuery Mobile PhoneGap Sencha ,整体上有向 HTML5 和 web 技术发展的趋势,Metro 和 Windows 8 也强调了这个方向,这些让人开始思考 Mono 的空间还有多大,还有多少开发人员会选择 Mono 作为自己的跨平台解决方案。对于投入.NET 的开发人员来说,开发跨平台应用 Mono 还有吸引力,但是这样就足够了吗?

查看英文原文: InfoQ: There Will Be No Metro UI for Mono

2011-09-28 01:522370
用户头像

发布了 479 篇内容, 共 180.5 次阅读, 收获喜欢 53 次。

关注

评论

发布
暂无评论
发现更多内容

波场链DAPP开发|波场链TRONCHAIN介绍

Geek_23f0c3

DAPP智能合约交易系统开发 波场链DAPP开发 tronchainDAPP

JS对象拷贝:深拷贝和浅拷贝

华为云开发者联盟

js 对象 对象拷贝 深拷贝 浅拷贝

AI 场景的存储优化之路

焱融科技

人工智能 云计算 AI 分布式 高性能

老用户运营从哪里切入?

boshi

运营 私域运营

Compose 中的文字

Changing Lin

8月日更

2分钟玩转中文接口测试工具-ApiPost

CodeNongXiaoW

项目管理 大前端 测试 后端

面试官:你说说一条更新SQL的执行过程?

艾小仙

有效管理数据安全性—— Pulsar Schema 管理

Apache Pulsar

Apache Pulsar StreamNative schema

Java筑基 - JNI到底是个啥

码农参上

Java jni 8月日更

低代码:时代的选择

华为云开发者联盟

云计算 软件开发 低代码 硬件 IT系统

如何请求一个需要登陆才能访问的接口(基于cookie)——apipost

Proud lion

大前端 后端 Postman Cookie 接口工

摄影利器一加9 Pro,让你轻松成为手机摄影师

Geek_8a195c

抖音快手短视频获客系统软件开发

手撸二叉树之单值二叉树

HelloWorld杰少

数据结构与算法 8月日更

Python代码阅读(第12篇):初始化二维数组

Felix

Python 编程 Code Programing 阅读代码

netty系列之:自定义编码和解码器要注意的问题

程序那些事

Java Netty 程序那些事

基于AOP和HashMap原理学习,开发Mysql分库分表路由组件!

小傅哥

小傅哥 hashmap 分库分表 aop 数据散列

JVM集合之类加载子系统

阿Q说代码

JVM 加载 类加载器 双亲委派 8月日更

前端,测试如何修改后端接口返回的响应数据

CodeNongXiaoW

项目管理 大前端 测试 后端 接口管理工具

【Flutter 专题】64 图解基本 TextField 文本输入框 (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

架构实战营第一期 -- 模块五作业

clay

架构实战营

接口测试--apipost如何自定义变量

与风逐梦

软件测试 接口测试

业内首发!腾讯位置服务推出移动端3D数据可视化图层

spring 大事务

Rubble

8月日更

vue入门:http客户端axios

小鲍侃java

8月日更

LT浏览器——响应式网站测试利器

FunTester

性能测试 自动化测试 web测试 兼容性测试 测试报告

Go 语言,一文彻底搞懂 slice 实现原理

微客鸟窝

Go 语言 8月日更

抖音快手短视频智能询盘获客系统软件开发介绍

【LeetCode】合并两个排序的链表Java题解

Albert

算法 LeetCode 8月日更

AI+云原生,把卫星遥感虐的死去活来

华为云开发者联盟

AI 容器 云原生 k8s 遥感影像

Apache HBase MTTR 优化实践:减少恢复时长

华为云开发者联盟

Apache hadoop zookeeper HBase MapReduce服务

Mono将不会具备Metro UI_.NET_Abel Avram_InfoQ精选文章