写点什么

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

评论

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

【跨国数仓迁移最佳实践3】资源消耗减少50%!解析跨国数仓迁移至MaxCompute背后的性能优化技术

阿里云大数据AI技术

人工智能 云计算 大数据 数据分析 数据迁移

社区版 2025.7 | CQ-Mate V1.3发布啦!

BinTools图尔兹

数据库管理工具 数据库审计 社区版 流量分析系统 免费软件下载

使用 Databend Cloud 归档 OceanBase 数据数据库

Databend

2025 杭州测试沙龙 Topic 火热征集中

杭州群核科技质量效能

测试 质量保障 AI+ 论坛

机器学习赋能计算机嗅觉革命:Osmo的气味图谱突破

qife122

机器学习 数字嗅觉

【苍狮技术团队】速看!Linux离线安装Docker、Docker-Compose竟如此简单?

苍狮技术团队

亚马逊机器人如何用多模态识别技术取代条形码

qife122

机器人技术 自动化识别

技术文章

qife122

人工智能 openai

智源研究院发布数据魔方,以智能化自定义方式重构模型训练数据供给范式

智源研究院

Java中什么是类加载?类加载的过程?

量贩潮汐·WholesaleTide

Java

DIFC 2025年上半年业绩助推迪拜经济愿景

财见

国际标准组织共聚,智源推动全球AI开源与国际标准双轮驱动人工智能普惠化发展

智源研究院

WPS 灵犀语音助手:AI 对话处理文档;通义 Qwen3-MT:支持 92+语言互译的 AI 翻译引擎丨日报

RTE开发者社区

舆情监测和舆情管理的区别与协同价值

沃观Wovision

舆情监测 海外舆情监控 沃观Wovision 舆情监测系统

千万级的大表如何新增字段?

电子尖叫食人鱼

大数据

火山引擎 MCP 安全架构与实践

Lily

Hologres V3.1版本发布,Serverless型实例从零开始构建OLAP系统

阿里云大数据AI技术

人工智能 机器学习 大数据 数据分析 hologres

javax.security.auth.login.LoginException: No CallbackHandler available to garner authentication info

刘大猫

人工智能 数据挖掘 算法 数据分析 LoginException

烟草行政处罚案卷制作平台入选“AI Solutions for SME”全球案例

中烟创新

Kafka 不难,只是你用得不对

巴辉特

kafka

Maven中的这些坑,99%的人不知道!

不在线第一只蜗牛

Java 开发

接口设计的原则:构建优雅API的完整指南

量贩潮汐·WholesaleTide

接口 API

智慧工地实践案例:用数智应用破解土石方工程效率与成本难题

袋鼠云数栈

AI 数字化转型 云计算, 数字化解决方案 大数据计算

基于 Nacos + Higress 的 MCP 开发新范式,手把手教程来了!

阿里巴巴云原生

阿里云 云原生 Higress

5000字谈普通人如何用AI扩大影响力

阿星AI工作室

AI 产品经理 AIGC 超级个体

舆情监测和舆情管理的区别与协同价值

沃观Wovision

海外舆情监控 舆情监测系统

亚马逊AI模型评估产品评论中的实用建议有效性

qife122

自然语言处理 事实核查

ElasticSearch 质量保障体系介绍

杭州群核科技质量效能

测试 ES 质量保障

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