写点什么

MonoMac 为 Cocoa 开发提供了.NET 风格的 API

  • 2011-03-31
  • 本文字数:621 字

    阅读完需:约 2 分钟

MonoMac ,为 C#在 OS X 上创建 GUI 工具包的最新尝试,已经发布 1.0 版本了。MonoMac 的设计会更多地和其它.NET/Mono 类库保持一致。这是通过为 Cocoa API 提供一层遵循.NET Framework Design Guidelines 的厚的包装做到的。

早期的类库,比如 MonObjc 和已经废弃的 CocoaSharp 使用了瘦的,通常在 Cocoa API 上机械生成的交互层。这要求使用 selector ,这是一种 Objective-C 使用的 OOP 消息传递方式。这些类库没有把 selector 映射到 C#的基于方法的面向对象编程方式,而是简单地提供了一系列 objc_msgSend 函数。而所需的 objc_msgSender 的版本则依赖于参数和返回值类型,有时候还依赖于 CPU 架构体系。

使用包装原生代码的类库之外的一个选择是使用跨平台工具包。这里提供的选择都是熟悉的。Gtk#和已经废弃的 Windows.Forms 都简单易用,但不能创建原生用户界面的应用程序。此外还有 Silverlight,它鼓励你重新定制应用程序的用户界面风格而不是试图模仿原生应用程序。

正如前面提到的,MonoMac 的设计理念是按照.NET 的规范尽可能多地提供 Cocoa 的特性。这意味着你可以安全地创建 Objective-C 类的子类,重写基类的方法以及调用基类的构造函数。客户端代码可以通过 Objective-C 风格的委托和.NET 风格的事件监听事件通知。.NET 里的委托、lambda 和闭包可以映射到 Objective-C 代码块

MonoMac 包含了发布到 Mac App Store 的支持。应用程序是通过 Mono 包装器打包给应用商店的,它包含了 Mono 运行时的副本,这样用户就无需另外下载了。

2011-03-31 06:041592

评论

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

如何在 Mac 下用 Clion 调试 MySQL 源码

AI乔治

Java MySQL 架构 调优

CentOS共享windows文件夹

风翱

centos windows 磁盘挂载 4月日更

架構實戰營 - 模塊 1 作業

Frank Yang

阿里内部资料:并发编程知识点总结

Java架构师迁哥

架构实战营 作业1

solider

刚火了的中台转头就拆,一大波公司放不下又拿不起来!

小傅哥

Java 架构 中台 小傅哥 海盗奇兵

架构实战营模块1第1课-学习总结

吴建中

架构实战营

​程序员的二十多个防猝死指南小妙招

Java架构师迁哥

微信业务架构图&学生管理系统

刘敏

遭GitHub连夜封杀下架?被泄露的阿里内部Java面试手册到底有多强?

Java架构师迁哥

架构实战营模块 1 作业

Lukefang

架构实战营

抖音春晚幕后 | 支撑 12 亿红包雨的云原生基础设施

数据库 分布式 云原生 边缘计算

HW Y7 2018

无名

一个计算机专业上岸的学长心得体会

🌍

4月日更 专升本

微信业务架构和学生管理系统

thewangzl

test

大肚皮狒狒

通过调试 Nginx 源码来定位有趣 Nginx 转发合并斜杠和编码问题

AI乔治

Java nginx 架构

再聊 TCP backlog

AI乔治

Java 架构 TCP TCP/IP

Visual Studio Code 插件之 - Git History

HoneyMoose

2021金三银四程序员面试必问总结

Java架构师迁哥

看我如何在面试官前吹牛P

yes

面试

Flink程序结构与数据流

大数据技术指南

flink 4月日更

架构实战营模块 1 作业

夏日

架构实战营

【学习总结】模块1:为何架构设计能力难以提升?

小李

架构实战营

架构实战营模块一作业

梦寐凯旋

架构实战营模块一 作业

我叫大法师

由 JVM Attach API 看跨进程通信中的信号和 Unix 域套接字

AI乔治

Java 架构 jdk JVM

第一周作业

Damon

# 模块1作业

灯火阑珊

企业与员工的三种共同体关系

石云升

28天写作 职场经验 管理经验 4月日更

MonoMac为Cocoa开发提供了.NET风格的API_.NET_Jonathan Allen_InfoQ精选文章