-
一丶 语言特性以及发布历史
- 特性:Swift 语法内容混合了OC,JS,Python,语法简单,使用方便,并可与OC混合使用。相比于Objective-C(简称OC)来说更简洁,更轻量级,更安全,性能更好。
- 发布历史:
- 2014.06.02 - swift 1.0 版本
- 2015.06.09 - swift 2.0 版本
说明: 目前最新的swift版本为 swift2.2 v , 预计今年9 -10月份发布swift3.0 版本,swift每一次的更新都是相关的语法更新.每一个大版本的更新会带来swift语言特性的重大变更,例如
swift 1.0 - > swift 2.0
-
二丶统计
** 根据一位知名iOS开发者的公众号调查问卷统计,大家对swift的看法各不相同: **
- 目前有不到 ***不到20% *** 的iOS开发者正在使用swift进行项目开发
- 有 大约30% 的iOS开发者考虑在今年下半年(2016年 9 -10月份)swift3.0发布之后开始转向swift开发
- *** 剩余的50%左右 ***暂时不做将项目转向swift语言的打算,处于观望状态
-
三丶swift优势和劣势
介绍: 大多数开发者之所以在swift出现这么长时间之后才有打算转向或者仍然处于观望状态,纠其原因是目前的swift版本依然存在问题以及劣势的影响(这也是我当初没有信心转向swift开发的主导原因)
-
先介绍下目前swift存在的问题以及劣势:
- swift每一次更新都面临着语法的更新,尤其是大版本之间的过渡会出现重大的改变。会导致大量的问题以及时间成本的浪费,而且不可避免。举个例子:项目是用swift1.0版本开发的,但是swift2.0发布之后,项目就无法运行甚至运行时出现大量的error,纠其原因就是swift2.0语法以及语言特性的重大改变,并且不向低版本语言兼容以及过渡,而且苹果官方无法提供一键升级替换新语法的功能,这就需要打包不同版本的二进制app可执行文件来兼容,提升了维护以及开发成本。这是劣势
- swift的这种不断更新以及不兼容,也是由于swift语言本身的不完善,无法让第三方SDK生产商提供更好的服务,造就了很多第三方SDK厂商对于swift的支持很不友好,比如说 用swift1.0写的组件/SDK/库在swift2.0中是无法运行的。
- swift3.0的即将发布,又是一项极为重大的更新改变,此版本不仅仅是改变了语法格式,还有swift系统的函数,方法等等方面的重新命名,但是swift3.0版本之后会趋于逐渐稳定状态,并且更为安全,高效,稳定。从swift2.2版本迁移为swift3.0版本会比较容易很多,apple已经解决了 二进制包的兼容问题。 就比如说: 你用swift2.2写组件/SDK依然可以在swift3.0的项目来使用。,也许仅仅是花费几个小时或者几天时间来修改和替换项目中swift所更新的内容,但是对于iOS开发者来说,也是很痛苦的过程 。
-
优势
- swift比OC效率高,在Apple的生态圈,目前已经比OC还强大,比OC更多的资源支持,包括IBM公司对swift的重大投入等等。所以完全可以使用swift进行开发。
- swift 还有其他语言的生态圈,比如在服务端编写运行程序,在安卓端编写运行程序等等,这些都在日趋成熟,apple的最终目标也是希望swift语言可以跨平台。目前为主推语言。swift3.0发布之后,使程序变得更加健壮,安全。
swift语言已经于2015.12月在github开放源代码。这意味着swift将获得更好的发展,获得更好的支持。我个人认为swift的成熟化基本上是定了的。
最后:主讲人(图拉鼎的)建议是, 对于正在打算在今年入手swift的开发者来说,从swift2.2版本开始入手,是最佳时机。当然也可以等待半年之后swift3.0发布再进行入手。
个人认为 swift的优势要远远的大于劣势,是一种值得投入的很有潜力的开发语言。可以从swift2.2版本入手。