HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

音视频实战(4)- 常见流媒体服务器方案对比分析

liuzhen007

签约计划第二季

斯诺克

Tiger

28天写作

Prometheus Exporter (十七)JMX Exporter

耳东@Erdong

JMX Prometheus 28天写作 exporter 12月日更

华为中国大学生ICT大赛2021实践赛网络赛道晋级赛试题解析(答案版)

小韩

华为 网络 ICT

Go并不需要Java风格的GC

Robert Lu

Go 垃圾回收

netty系列之:手持framecodec神器,创建多路复用http2客户端

程序那些事

Netty HTTP 程序那些事 http2 12月日更

架构实战营毕业总结

Geek_d18264

架构实战营

实用机器学习笔记四:数据标注

打工人!

机器学习 学习笔记 12月日更 实用机器学习

4.《重学 JAVA》—基础语法

杨鹏Geek

Java 25 周年 28天写作 12月日更

从一个乙方视角聊聊敏捷项目

Bruce Talk

Scrum 敏捷 随笔 Agile

从0到1普及前端知识 | 内容合集

你好bk

内容合集 签约计划第二季

idea-如何解决代码合并冲突?

Java个体户

IDEA

什么是QA

homber

QA 测试开发 职场新人 签约计划第二季

http协议

en

HTTP

搭建基本Jest测试框架,解读覆盖率实现原理

梁龙先森

签约计划第二季

音视频实战(2)- 如何在网页端给视频添加硬水印

liuzhen007

签约计划第二季

架构实战营模块九作业

Geek_d18264

架构实战营

音视频理论(2)- 音视频传输协议之 RTMP

liuzhen007

签约计划第二季

JavaScript 数据结构之 Set

devpoint

set ES6 内容合集 签约计划第二季

如何通过Kubernetes事件来报告错误

Robert Lu

#Kubernetes#

JavaScript数据结构实用集

devpoint

JavaScript 数据结构 内容合集 签约计划第二季

勿拖延

Nydia

JavaScript 数据结构之 Map

devpoint

set map ES6 内容合集 签约计划第二季

音视频实战(3)- Mac 系统 MediaInfo 多实例媒体信息分析

liuzhen007

签约计划第二季

.NET 6新东西--PeriodicTimer

喵叔

28天写作 12月日更

左耳听风,右手敲码

homber

成长 感悟 竞争力 签约计划第二季

JavaScript 数据结构之 Object

devpoint

ES6 Object 内容合集 签约计划第二季

架构实战营,第一周作业

Jude

架构实战营

关于研发效能推进提升的一点感受

homber

DevOps 研发效能 签约计划第二季

Camtasia添加光标效果教程

淋雨

Camtasia

JavaScript 数据结构之 Number

devpoint

ES6 math 内容合集 签约计划第二季

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