写点什么

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

评论

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

Java 操作 Office:POI word 之表格格式

程序员架构进阶

Java Apache POI 9月日更 word文档

maven-dependency中作用域scope含义

一个大红包

9月日更

深入理解rtmp(一)之开发环境搭建

轻口味

android 音视频 直播 9月日更

网络攻防学习笔记 Day131

穿过生命散发芬芳

网络安全 9月日更

统一区块链应用接口,加速新场景落地

CECBC

五行兼备:联想TruScale服务的太极之道

脑极体

垃圾分类与AI的反碎片之旅

百度大脑

人工智能 EasyDL

ServiceWorker工作原理、生命周期和使用场景

devpoint

Service Worker 9月日更

Python顺序结构选择结构

在即

9月日更

为什么 Golang 正在接管软件行业

云原生

云计算 Kubernetes 云原生 编程语言 Go 语言

总结下ThinkPHP的代码审计方法

网络安全学海

php 网络安全 信息安全 WEB安全 代码审计

性能测试中异步展示测试进度

FunTester

性能测试 接口测试 测试框架 进度条 FunTester

全网最新最全面Java程序员面试清单(12专题5000解析)

Java 架构 面试 程序人生 程序

低代码开发:实现传统系统信息化的3种方案!

优秀

低代码 低代码开发

新鲜出炉!腾讯3轮面试,拿53k*15offer全仰仗这份Java面试神技

Java 编程 架构 面试 程序人生

数字技术重构产业链供应链比较优势

CECBC

云南推进“区块链+数据中心”融合发展

CECBC

开源之夏项目分享:图数据库 Nebula Graph 支持 JDBC 协议

NebulaGraph

ULP Fec与 Flex FEC 概述

webrtc developer

WebRTC fec

Vue进阶(幺零四):elementUI 应用 $notify 提示信息中换行问题

No Silver Bullet

Vue 9月日更

MimeType文件格式速查表

入门小站

工具

谁在制造“完美男性”?

脑极体

Frida笔记 - Android 篇 (一)

GrowingIO技术专栏

android Frida

每个人都在谈数据治理,每个人都治理不好

奔向架构师

数据仓库 数据治理 9月日更

防沉迷系统的bug,技术如何查漏补缺?

脑极体

我怀疑,你对996的力量一无所知!

艾小仙

程序员 996

Java中对千万级数据量的表进行插入操作(MYSQL)

张音乐

Java MySQL JDBC 9月日更

【SpringCloud技术专题】「Eureka源码分析」从源码层面让你认识Eureka工作流程和运作机制(上)

洛神灬殇

源码分析 Eureka spring-cloud 9月日更

linux之type命令

入门小站

Linux

前端独立交付需求背景下的Mock数据多方案解读

爱数技术范儿

JavaScript 大前端 Mock

HTML进阶

Augus

html 9月日更

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