50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

UXKit:提供类 UIKit API 的新框架惊现 OS X 10.10.3

  • 2015-03-15
  • 本文字数:1009 字

    阅读完需:约 3 分钟

近来,作为 OS X 10.10.3 测试版中所发现的新框架,UXKit 引发了热议。有趣之处在于,其API 与iOS 中UIKit 的API 十分相似,这让很多开发者相信两大平台会因UXKit 而彼此更加相近。

波兰开发者 Michał Kałużny 在 GitHub 上托管了一个仓。该仓库中含有一个从OS X 10.10.3 Photos.app 中所提取的UXKit.framework 的微小改动版本:该版本中既有展示了与UIKit 相似度的头文件,又有采用了UXTableView 和UXCollectionViewController 的示例应用。

UIKit AppKit 两大框架,虽然分别隶属于 iOS 和 OS X SDK,但针对的是同一通用需求:为开发者提供高层 API,从而能够方便其创建高级用户界面。不幸的是,最终发布的 API 接口在诸如事件处理、视图控制器缺省行为、基于 NSCell 的控件,和很多其他基础领域方面很是不同

Apple 宣称,这些不同是“OS X 应用和 iOS 用户界面在应用结构及实现方面差异化”的直接体现。更确切地说,这种差异可以细分为三个因素:

  • 移动设备的局限性,诸如更小的显示屏、单视窗 UI 模型、CPU 性能和电池等方面的考虑。
  • 触屏手势作为 iOS 的主要交互方式,多少会影响到 UI 对象的使用。
  • iOS 中,用户是不能直接访问文件系统的。

虽说如此,iOS 和 OS X 开发者依然表现出需要某种面向双平台的统一API,很多第三方库曾尝试解决或试图缓和这一问题,比如 IconFactory’s Chameleon Twitter TwUI 以及 UMEKit 。不幸的是,三个项目的积极开发已在数年前终止。

综上,对 UXKit 的发现激起了很多人的兴趣,但并非所有人都相信苹果会对外发布 UXKit。即使对外发布,这对改善苹果 iOS 和 OS X 开发来说也是不够的。作为像 OmniFocus 和 Vesper 等很多苹果平台知名应用的开发者 Brent Simmons 对“在苹果公司之外推行该框架,从而将其作为 AppKit 的替代品是否可行”提出了质疑。致力于SoundCloud 和Artsy 等iPhone 应用的iOS 自由开发者Robb Böhnke 进一步表示,且不说UXKit“作为框架会不会公开,即便真的公开,也未必够用。” Böhnke 声明其负面评价主要针对于UIKit 重绘代码的单线程特性,同时也暗指了新的可选方式,比如近期发布的React Native

参考英文原文: New UXKit Framework Spotted in OS X 10.10.3 Provides UIKit-like API


感谢赵震一对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2015-03-15 06:423050

评论

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

HTTP超时处理

JavaEdge

12月日更

细节的问题

将军-技术演讲力教练

详解PON基础知识:OLT、ONU、ONT和ODN,建议收藏

Ethereal

pon 光纤 弱电工程师

47 K8S之 Ingress资源

穿过生命散发芬芳

k8s 28天写作 12月日更

【LeetCode】换酒问题Java题解

Albert

算法 LeetCode 12月日更

吹水的6大坏习惯

搬砖的周狮傅

沟通艺术

16.  《重学JAVA》--1.8新日期类

杨鹏Geek

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

[Pulsar] Producer 流控

Zike Yang

Apache Pulsar 12月日更

如何在 Debian 11 上使用 Nginx 安装 HTTP Git 服务器

Ethereal

nginx git HTTP Debian 11

模块二作业

whoami

「架构实战营」

抬头看天

xujiangniao

知识梳理

Go+ URL 解析教程(5.6)

liuzhen007

28天写作 12月日更

面向WEB开发人员的Docker(七):使用 Docker 开发Node应用程序

devpoint

node.js Docker 12月日更

不太推荐 《沟通的方法》(17/28)

赵新龙

28天写作

存量经营

张老蔫

.NET 6新东西--高性能日志

喵叔

28天写作 12月日更

Dubbo框架学习笔记五

风翱

dubbo 12月日更

演绎法、归纳法、辩证法

mtfelix

28天写作

读《思辨与立场》-05批判性思维发展的四个层级

wood

28天写作 批判性思维 思辨与立场

如何在 CentOS 8 服务器上安装 ISP Config 3.2?

Ethereal

服务器 ISP CentOS 8

文本编辑器GNU Nano 6.0 发布!

Ethereal

Nano

反射

Nydia

走进Java接口测试之简单解决写接口脏数据问题

zuozewei

Java 自动化测试 测试开发 接口自动化 12月日更

20强诞生!2021 OceanBase 数据库大赛决赛酣战在即!

OceanBase 数据库

开源 oceanbase 高校 OceanBase 数据库大赛

学生管理系统架构文档

drizzle

「架构实战营」

性能工具之linux三剑客awk、grep、sed详解

zuozewei

Linux 性能测试 12月日更

Turbine

李子捌

微服务 28天写作 12月日更

分布式锁及其实现

xcbeyond

分布式锁 28天写作 12月日更

架构实战营 4 期第二模块作业

jialuooooo

架构实战营

TCP报文发送的那些事

程序员历小冰

网络 TCP/IP 28天写作 12月日更

保护自己电脑绝对不做黑客肉鸡

喀拉峻

网络安全 安全

UXKit:提供类UIKit API的新框架惊现OS X 10.10.3_Android/iOS_Sergio De Simone_InfoQ精选文章