写点什么

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

评论

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

关于架构的几件小事:架构概述(1)

北风

架构 架构设计 架构师 架构设计原则

Newbe.Claptrap 框架中为什么用 Claptrap 和 Minion 两个词?

newbe36524

Docker .net core netcore ASP.NET Core

修炼我们的智慧之眼

J.Smile

认知提升

SpringBoot 入门:02 - 实现 MVC

封不羁

Java spring springboot

大话设计模式 | 4. 装饰模式

Puran

C# 设计模式

基础篇:JAVA基本类型

csc

Java Java 25 周年

【计算机网络】网络层——路由器与路由选择协议

烫烫烫个喵啊

计算机网络 网络层

“新基建”来了!云南三年投资3776亿!

CECBC

SpringBoot2.x入门:应用打包与启动

Throwable

springboot

玛雅密码社区不忘初心 共筑未来通证新经济

Geek_116789

云原生实践系列:概述

孤岛旭日

Serverless 微服务 Service Mesh 服务架构

架构师训练营第六周总结

烟雨濛濛

11个提高产品经理工作效率的必备工具,果断收藏

马踏飞机747

大数据 设计 产品经理

Vagrant 快速入门

FeiLong

vagrant

百万级别数据Excel导出优化

Throwable

架构设计 springboot

不会有人还不知道全文检索工具Lucene怎么用吧?文字长文教程

给你买橘子

Java 搜索引擎 lucene 程序员 开发工具

北京区块链规划重点发展海淀朝阳通州等区,加大对代币监管力度

CECBC

北京行动计划 四个高地 需求导向 为政务服务

谈谈对分布式事务的一点理解和解决方案

Throwable

分布式 分布式事务 架构设计

list vs tupple

Leetao

Python 数据结构 Python基础知识

iOS - CollectionViewCell对应不同flow layout的实例

teoking

ios

架构师训练营第六周总结

陈靓-哲露

架构师训练营第六周作业

烟雨濛濛

基础篇:Object对象

csc

Java Java 25 周年

3W字干货深入分析基于Micrometer和Prometheus实现度量和监控的方案

Throwable

Java 监控 Grafana Prometheus springboot

DolphinScheduler-1.3.0-dev功能体验

Eights

大数据 hadoop

数据分析之AB testing实战(附Python代码)

JackTian

Python 编程 程序员 数据分析 AB testing实战

架构师训练营第六周作业

Melo

并行流ParallelStream中隐藏的陷阱

Throwable

Java

看动画学算法之:排序-冒泡排序

程序那些事

算法 动画 排序算法 轻松学

如何搭建Hive 环境

Rayjun

大数据 hive

ARST Week7

时之虫

ARTS 打卡计划

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