写点什么

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

评论

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

VoneBaaS带来高效链改方案

旺链科技

区块链 产业区块链 世界互联网大会 VoneBaaS 企业号十月PK榜

VoneBaaS与兆芯完成产品兼容互认证

旺链科技

区块链 产业区块链 VoneBaaS 企业号十月PK榜

实现Promise的原型方法--前端面试能力提升

helloworld1024fd

JavaScript

前端一面必会手写面试题指南

helloworld1024fd

JavaScript

js手写题汇总(面试前必刷)

helloworld1024fd

JavaScript

前端常见vue面试题合集

bb_xiaxia1998

Vue

版本控制 | 想要成为硬件设计高手?最佳实践了解一下!

龙智—DevSecOps解决方案

版本控制 硬件设计 硬件电路

DevEco Device Tool 3.1 Beta1版本发布,产品化配置优化添加自定义烧录器

HarmonyOS开发者

HarmonyOS

List集合和其子类ArrayList、LinkedList

共饮一杯无

Java 集合 11月月更

2023年网络安全趋势

SEAL安全

网络安全 软件供应链安全

开发培训学习后工作好找吗?

小谷哥

代码质量与安全 | 嵌入式开发中不得不说的编码标准——Barr-C

龙智—DevSecOps解决方案

嵌入式 嵌入式系统

网易传媒基于 Arctic 的低成本准实时计算实践

网易数帆

实时计算 iceberg Arctic 湖仓一体 企业号十月 PK 榜

接口请求合并的3种技巧,性能直接爆表!

小小怪下士

Java 程序员 接口

每日一题之Vue数据劫持原理是什么?

bb_xiaxia1998

Vue

Java Web(一)Maven

浅辄

maven Java web 11月月更

什么样的vue面试题答案才是面试官满意的

bb_xiaxia1998

Vue

OpenHarmony社区运营报告(2022年10月)

OpenHarmony开发者

OpenHarmony

react源码分析:深度理解React.Context

flyzz177

React

react源码分析:babel如何解析jsx

flyzz177

React

线上直播 | 未来金融研究所——以应用为中心,重塑金融研发效率

CODING DevOps

云原生 金融

Java中的Collection集合

共饮一杯无

Java 集合 11月月更

Java中的集合实现赌神、赌圣、赌侠斗地主

共饮一杯无

Java 集合 11月月更

遗留代码处理技巧与案例演示

京东科技开发者

数据结构 重构 代码重构 遗留代码 耦合

react源码分析:实现react时间分片

flyzz177

React

几个常见的js手写题,你能写出来几道

helloworld1024fd

JavaScript

基于蓝鲸流程服务实现发布管理

PingCode研发中心

流程服务

计算机网络:随机访问介质访问控制之CSMA协议

timerring

11月月更 CSMA

云栖大会|未来,万物皆是计算机?

云布道师

云计算 阿里云 2022云栖大会

字节内部大佬私藏的数据结构与算法刷题笔记,熬夜刷上头,太顶了

程序知音

Java 数据结构 算法 数据结构与算法 后端技术

双线程技术为什么能让小程序用户体验量级提升

Onegun

小程序 线程 小程序化

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