BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Sergio De Simone 关注 13 他的粉丝 ,译者 刘君 关注 0 他的粉丝 发布于 2015年3月16日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

近来,作为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的示例应用。

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

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

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

虽说如此,iOS和OS X开发者依然表现出需要某种面向双平台的统一API,很多第三方库曾尝试解决或试图缓和这一问题,比如IconFactory’s ChameleonTwitter 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)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT