写点什么

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

评论

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

SAP UI5 自动化测试工具的 qunit-redirect.js

汪子熙

JavaScript 前端开发 SAP Fiori 5月月更

什么是哈希?趣投哈希幸运哈希竞猜游戏开发方案策划

开发微hkkf5566

在线下划线转驼峰,驼峰转下划线工具

入门小站

工具

2.5TinkerPop3 升级指南

Geek_古藤模根

图数据库实战

模块二 微信朋友圈高性能架构分析

挖了蘑菇哩斯

作业 架构实战营

Docker镜像制作实战:设置时区和系统编码

程序员欣宸

Docker 5月月更

国密在车联网安全认证场景中的应用|车联网系列专题07

EMQ映云科技

车联网 物联网 国密 emqx 5月月更

架构实战营模块2-微信朋友圈分析

Geek_e8bfe4

分析一下微信朋友圈的高性能复杂度

Geek_7a789a

架构实战营-模块二作业

Roy

架构实战营

架构实战营 7 期「模块二」如何抓住架构设计关键点

Steve_bot

英特尔加速创新,唤醒网络及边缘原力

科技之家

web前端培训如何解决模块依赖复杂度太高的问题

@零度

前端开发

善事利器 - 我是如何在药师帮掌店易项目落地 Zadig 的

Zadig

DevOps 云原生 CI/CD

继StepN后,新的链游之光

BlockChain先知

【愚公系列】2022年05月 二十三种设计模式(十八)-备忘录模式(Memento Pattern)

愚公搬代码

5月月更

CopyOnWriteArrayList 源码分析-基础和新增

zarmnosaj

5月月更

理“ Druid 元数据”之乱

vivo互联网技术

大数据 存储 Druid Apache Druid

直播预告丨 Hello HarmonyOS 进阶课程第五课——原子化服务

HarmonyOS开发者

HarmonyOS

在线HTML转ASP工具

入门小站

工具

聊聊 Kafka:Kafka 如何保证可靠性

老周聊架构

kafka 5月月更

通过集成腾讯IM来浅尝一下.net 6的MINI API

为自己带盐

.net core 5月月更 mini api

[模块二作业]

wuli洋

网站建设导致网站失败的十个原因

源字节1号

微信小程序 前端开发 后端开发 网站开发

前端食堂技术周刊第 39 期:TypeScript 4.7、Layouts RFC、Lerna 复活后的大版本 v5.0.0 、TypeScript 错误翻译器

童欧巴

JavaScript typescript 前端

Kafka到底有多高可靠?(RNG NB)

敖丙

kafka Java EE 程序员‘

面试突击52:什么是三范式?它有什么用?

王磊

Java 面试

架构实战营|模块2

KDA

#架构实战营

要自信的对客户说 “NO”

源字节1号

【架构训练营】模块二作业

知北游

作业

企业知识管理难题,现在有了一个好的解决方案

小炮

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