Swift 3 将不包含稳定的 ABI
近日,苹果公司Swift语言创始人Chris Lattner,在Swift官方邮件组服务上声明,Swift 3原计划的目标之一—— ABI的稳定性,将会推迟发布。
Lattner的原话:
刚开始的时候我们不适宜发布这些远大的目标——包括一些重要的为了锁定标准库ABI的泛型功能。
因此,Swift Evolution Git 仓库的ReadMe文件中已经去掉了ABI的稳定性。
由于原来的ReadMe文件中有相关说明,ABI的稳定性将允许将来Swift版本开发的应用程序和编译库可以在二进制层次上与 Swift 3.0 版本的应用程序和编译库相互调用。这样,ABI的稳定性将保证一定程度的二进制兼容性,即使源语言发生了变化,并且第三方更容易发布二进制库。另外,ABI的稳定性将允许删除需要的Swift标准库和二进制文件,就像目前情况下通过Xcode创建的iOS和OS X应用程序一样。
Lattner还解释说,大约会在2016年8月份左右开始这一特性的讨论并且会讨论什么时候把它纳入Swift语言中。目前尚不清楚ABI的稳定性是否会纳入Swift 3.1 或 4.0 版本,但是Lattner期望它是一个优先级最高的功能。
Lattner的声明引起了一些不满, 主要是关于Swift 3原计划的大多数目标是如何被取消的。其他的一些评论强调,Swift刚开源的时候是如何定义Swift 3的初始范围的,是否是社区的提议驱使Swift在ABI稳定之前专注于更需要明确的其它方面的开发,苹果工程师Greg Parker回复说,ABI一旦定义了,就很难去改变,就如OS X和iOS的历史架构转换演示一样。特别地,他提到,Objective C ABI在极少数情况下存在的有意或无意的缺陷主要是由于时间的压力,如用BOOL代替正确的布尔字符,或者由于使用传统的GCC而使用setjmp-longjmp异常处理机制而不是“零成本”异常处理,等等。所有的一切,他总结:
如果我们在Swift 3就试图冲破ABI稳定性的大门,我们肯定会以有意或无意的缺陷而结束[…]。能够花时间去做正确的事情是弥足珍贵的。
文章转载自 开源中国社区[http://www.oschina.net]

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
使用 React Native 一年后的感受
当我在面试Discord的时候,技术主管Stanislav跟我说: React Native代表着未来。等它一发布,我们就会用它从零构建iOS应用。 作为一名原生iOS开发者,基于先前使用PhoneGap的经验,我非常怀疑使用Web技术构建移动应用的这种方式。但是当我学习并使用React Native一段时间之后,我非常庆幸我们做了这个决定。 开发效率 虽然iOS“团队”只有我自己一个人,但是iOS应用开发依然可以赶上Web和桌面应用开发闪电般的速度。Apple公司已经允许开发者使用JavaScriptCore进行应用的升级,而无需等待App Store的审核流程。这对于那些缺乏专业的iOS QA(质量保障)团队的小公司来说是非常便利的,因为iOS团队可以在发布新功能之后进行热更新。 使用React Native一年之后,我们的iOS开发周期明显变快了,这得益于很高的开发效率。比如: 基于现有的前端架构,我们在两周之内就发布了V1.0的版本。 相比于Auto Layout,基于Flexbox的样式可以节省一半的代码,并且更容易理解。 使用Flux设计模式,iOS和Web应用共享了sto...
- 下一篇
Chrome 成桌面浏览器市场霸主 火狐东山再起希望渺茫
据andreasgal北京时间5月26日报道,Mozilla两天前发表一篇博文,强调了其使桌面版火狐浏览器再次具有竞争力的努力。我过去曾密切关注浏览器市场,但已经有数年没有再关注这一市场。我认为现在是分享一些数据的时候了: 包含所有设备的浏览器市场份额 上述图表显示了过去6年四种主流浏览器在所有设备上的市场份额。这些数据来自市场研究公司StatCounter,用户可以认为数据在多个不同方面存在偏差,但在宏观层面上,认为Chrome浏览器在不断蚕食市场份额是正确的,除Safari之外的其他浏览器正在被逐步忘记。 趋势 我曾经尝试两种不同方法,试图画一条趋势线和一条指数拟合曲线,精确反映各浏览器的市场份额。浏览器市场份额的变化,非常符合与创新爆炸性扩散,传统技术缓慢走下坡路的理论。根据近6年的趋势,IE将在未来2或3年消亡;令人遗憾的是,火狐浏览器的命运也好不到哪里去,市场份额将只剩下2%-3%。对于IE和火狐来说,市场份额低会加速它们的衰落,因为Web开发人员不会针对市场份额如此低的浏览器测试他们的代码。不能正确地渲染内容会促使用户更换浏览器,这会引发更多用户流失。这是一个恶性循环。 C...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 设置Eclipse缩进为4个空格,增强代码规范
- Red5直播服务器,属于Java语言的直播服务器
- 2048小游戏-低调大师作品
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装