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:522364
用户头像

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

关注

评论

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

移动端网络监控实践

轻口味

android 大前端 网络协议 引航计划 10月月更

云原生训练营20210915-作业1

笑春风

在线base64加密解密工具

入门小站

工具

【Spring源码分析】带你正视一下Spring祖容器之BeanFactory的原理与功能分析(1)

码界西柚

spring 容器 spring源码 BeanFactory 10月月更

点击量破百万!阿里内产微服务进阶讲义,简直是Java开发者的福音

Java 编程 架构 面试 程序人生

【LeetCode】窥探迭代器Java题解

Albert

算法 LeetCode 10月月更

【Flutter 专题】37 图解 Flutter 基本动画 (二)

阿策小和尚

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

Jupyter Notebook从入门到精通,TensorFlow一个计算机视觉示例 易筋 ARTS 打卡 Week 68

John(易筋)

ARTS 打卡计划

golang--进程,线程,协程调度

en

Go 语言

果然爆发!!!央行数字货币要在这“特殊”的一天正式推出?

CECBC

【Vuex 源码学习】第七篇 - Vuex 的模块安装

Brave

源码 vuex 10月月更

Netflix实用API设计(上)

俞凡

架构 netflix API 大厂实践 10月月更

Netflix实用API设计(下)

俞凡

架构 netflix API 大厂实践 10月月更

【初恋系列】那年的试卷我们再肝一遍(试卷存储详细设计)

人工智能~~~

存储 详细设计 那年的试卷我们再肝一遍 试题

0 基础架构入门 - 5(微博评论的高性能高可用计算架构)

felix

架构实战营 0 基础架构入门

回忆录:「技术主管」练成记

蔡建斌

管理 引航计划 内容合集

项目开发过程中,成员提离职,怎么办?

石云升

项目管理 管理 引航计划 内容合集 10月月更

【LeetCode】 第三大的数Java题解

Albert

算法 LeetCode 10月月更

Ember Data 之记录查询

devpoint

store ember.js 10月月更

架构实战营 - 模块九作业

Julian Chu

架构实战营

架构实战营模块9作业

喻高咏        

架构实战营

一种基于Kotlin DSL的静态代码分析AST规则扩展实现

maijun

Java dsl 静态代码分析 结构化规则 规则扩展

linux之man命令

入门小站

Linux

新技术|基于信号特征的语音编码器Lyra Android实践

轻口味

android 音视频 引航计划 10月月更

区块链技术可以在哪些方面颠覆石油和天然气行业?

CECBC

5. 再次接触装饰器,增加一种数据结构代替 if_else 的写法

梦想橡皮擦

10月月更

架构实战营 模块九(毕业设计) 作业

一雄

作业 架构实战营 毕业设计 模块九

代码要写注释了吗?

HelloWorld杰少

领航计划

008云原生之Serverless架构

穿过生命散发芬芳

云原生 10月月更

Python代码阅读(第32篇):随机返回列表中的一个元素

Felix

Python 编程 Code Programing 阅读代码

容器 & 服务:Helm Charts(三)K8s集群信息

程序员架构进阶

架构 Kubernetes 容器 Helm Charts 10月月更

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