Wechat: yu389741| Email: gisdqy@163.com

Shop:https://www.giserdqy.com/shop

拥抱 Swift 吧,筒子们!


为了提高开发者们的编程效率,将更多的开发者吸引入苹果的开发者阵营,在去年2014年的WWDC上,苹果推出了一套新的语言 Swift。在这一年中,Swift 经历了不下十次版本更新,开始成为一门相对成熟稳定的编程语言。也以其语法简洁、安全为广大开发者使用,在这一年中,国外的Swift iOS书籍、教程和培训,无一例外已全部采用 Swift 来编写。在国内,Swift 书籍、培训也正在兴起,公司也在接纳这门新的编程语言,比如优才学院还推出了iOS全栈工程师培训课程 。

如今一年过去,苹果又做出惊人之举。在今天的2015 WWDC 发布会上,除了发布 Swift 2,Swift 2.0增加的主要特性包括泛型、更快的调试模式、更快的编译、错误处理机制、C函数指针API、注释里Markdown格式等等。更重要的是,软件工程资深副总裁 Craig Federighi 正式宣布 Swift 将会变成开源。「我们认为 Swift 应该成为所有人都能使用的语言。」他在台上这么说道。 这让整个开发者社区为之点赞和欢呼。

其实Swift 语言开源,既在意料之外,又在情理之中。以苹果之强势,对核心产品开源看似不可以理解,这是意料之外。情理之中则在于:

1、Swift 出自开源大神 Chris Lattner之手。

Chris Lattner在编译器方面,为开源所做的贡献,可谓居功至伟。他是 LLVM 项目的主要发起人与作者之一,Clang 编译器的作者。简单做一个介绍,LLVM 编译器是一个雄心勃勃的项目,其目的是要建一个可重用的编译器组件系统,可用于构建各种工具,包括编译器、调试器、JIT系统、优化器、静态分析系统等 等。LLVM 常用作 C 和 C++ 的优化器,能生成用于多种不同架构的机器码。Clang 项目目前是业内领先的 C、Objective-C 和 C++ 编译器,广泛用于学术界和业界。在语言支持和其他特性方面,LLDB 调试器(LLDB Debugger)开创了先河。LLVM 正在多方面扩展和改进,以支持新优化、新目标、新领域和新特性。所以Swift不开源,Swift他爸爸不答应啊,是不是?

2、看看苹果推出 Swift 语言的背后商业目的。

以苹果之精明,不会纯粹为了开发社区贡献技术。更重要的是其商业原因,Objective-C 出现30多年来,其语法、冗长的写法,并不为大量的开发者所习惯,尤其是已经熟悉过像Java、PHP类似的开发者,想转到Objective-C,倒不说学习曲线,心理上的门槛就挺高的。而Swift 的出现,让这个转换的门槛成为历史,可以想见的是,Swift 语言的出现,再加上开源,更多的开发者将熟悉和使用 Swift 语言,意味着在苹果的视野之中,增强了大量的,数以百万计的开发者的支持。

那么,Swift 发展到今天并开源,对于我们开发者的选择,有什么影响呢?

1、Swift 开源意味着什么呢?

今天一早,在技术群里就有人讨论这个问题。个人的感觉是Swift 开源,必然导致众多开发者对其本身的深入参与,以Swift 目前的优良特性,会有牛人把它迁移至Linux、Windows甚至 Android等平台。届时,Swift 也许会成为一门真正全栈式的编程语言。有了更多开发者的参与,Swift 开发库不足的情况,会快速缓解,据笔者统计,过去一年中,在github上,有13357开源项目被创建。

2、那么Swift 会不会替换Objective-C呢?

这是一个特别多朋友都关注的问题。个人使用Swift 一年以来的感觉是:苹果官方目前没有说要用Swift 代替Objective-C,但是做iOS开发的默认语言就是Swift了。其次来讲,语言的选择是一个开发者用脚投票的过程,我想下面的这个趋势图,应该说明了这点。所以我的建议是,如果想了解Swift ,请尽早,新事物的窗口期就是那么长时间。

3、Swift 稳定成熟了吗?

在去年刚发布时,虽然已经可以兼容现有的库和支持Objective-C互操作,能真正开发出iOS产品,但是Swift 确实有很多的不足,比如最坑爹的就是编译速度很慢,最早时,有更新,所有文件要编译,这是工程上无法忍受的,但是到了今天,语法本身完善了,工程上的开发效率问题也得到了解决,就差库了。而对库的提供,这不正是开源社区所擅长的么?

转载请注明出处。GIS帝国网站报道中出现的商标及图像版权属于其合法持有人,只供传递信息之用,非商务用途。

Have any Question or Comment?

发表评论

您的电子邮箱地址不会被公开。

CAPTCHAis initialing...