写点什么

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:041752

评论

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

anyRTC Flutter SDK :全面实现跨平台音视频互动

anyRTC开发者

音视频 WebRTC RTC sdk 安卓

TCP性能分析与调优策略

程序员 计算机网络 网络协议

Redis基础—了解Redis是如何做数据持久化的

数据库 redis 编程 计算机

当代开发者的六大真实现状,你被哪一个场景“戳中”了?

华为云开发者联盟

开发者 调研 报告

《迅雷链精品课》第二课:区块链核心技术框架

迅雷链

区块链

可以解除程序员中年危机的职业规划

Java架构师迁哥

把最新JAVA面试真题(阿里/字节跳动/美团)整理出来,却被自己菜哭了,赶紧去刷题了

Java架构追梦

Java 阿里巴巴 架构 面试

涨薪神作!华为内部操作系统与网络协议笔记爆火,Java程序员有福了

Java架构之路

Java 程序员 面试 编程语言

Java垃圾回收GC概览

Java JVM GC

马士兵老师首推Java七条自学路线,自学到底能不能行?自学也能拿到40W年薪?

Java架构追梦

Java 架构 面试 马士兵 项目实战

数字人民币都来了 黄金还有什么用?

CECBC

数字货币

简要分析近几年商业软件开发平台的现状

Philips

敏捷开发 快速开发 企业应用

【算法题目解析】杨氏矩阵数字查找

程序员架构进阶

算法 二分查找 杨氏矩阵

Java程序员必备,Github上星标55.9k的微服务神级笔记简直太香了,学完感觉自己又行了!

Java架构之路

Java 程序员 架构 面试 编程语言

从零到千万用户,我是如何一步步优化MySQL数据库的?

冰河

数据库 架构 性能优化 分布式数据库 分布式存储

「Java并发编程」从源码分析几道必问线程池的面试题?

Java架构师迁哥

阿里云视频云实时字幕技术,助力英雄联盟S10全球总决赛

阿里云CloudImagine

游戏开发 直播 语音识别 字幕

完美!阿里P8都赞不绝口的世界独一份489页SQL优化笔记

Java~~~

Java 数据库 程序员 架构师 SQL优化

5G为数字化转型插上翅膀

CECBC

5G网络安全

京东技术中台Flutter实践之路(二)

京东科技开发者

开源 中台 大前端 Web UI

IPFS云算力挖矿系统开发技术

薇電13242772558

区块链 IPFS

非线性声学回声如何破解?华为云硬核技术为你解决

华为云开发者联盟

算法 音视频

Pulsar Summit Asia 2020 中文专场议题出炉!

Apache Pulsar

大数据 开源 Apache Pulsar

从一场“众盟科技云滇之播”,我们发现了美食直播的商业与公益价值

人称T客

LeetCode题解:剑指 Offer 22. 链表中倒数第k个节点,使用数组,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

cglib入门后篇

Rayjun

Java cglib

区块链产业,怎样“链”住未来?

CECBC

区块链

JVM真香系列:轻松掌握JVM运行时数据区

田维常

JVM

Docker

云计算简史(完整版)

明道云

【T1543.003】利用 ACL 隐藏恶意 Windows 服务

比伯

Java 大数据 编程 架构 计算机

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