引言:
从swift一出来本人就在开始学习相关语法和新技术,随着一直到1.2知道2.0出来之前的变动,最后我放下了一段时间,当然也由于工作的原因,所以可以说也有一段时间没有摸他了。
记得今年6月份的时候,苹果放话说是将要开源swift,着对应iOS开发者,乃至所有程序员来说都是一件非常值得庆幸的事情(最终庆幸的还是苹果)。
发布于2014年的Swift,不仅具备编译语言的性能和效率,还兼有热门脚本语言的简洁和互动功能。
在2.0出来之后我也花了一段时间看了一下关于2.0的新特性,这一次的变化确实比较大,可以看出来苹果非常重视swift,将来有望替代Objective-C,但这都只是看到的未来,真正结果是什么苹果说了算(毕竟Cocoa是不会开源的)。
前段时间天swift源码被放出来了,苹果也遵守了最开始的承若,还有。。。。。。
乘着刚好项目不是很紧就认认真真的研究了一番,虽然本人英语不是很好,也有很多都是略过,但是还是学到了和那多东西,主要的是苹果的思想!
值得注意的是,除了Swift,苹果还开源了两个项目:Swfit核心库项目和全新的Swift包管理器项目。
这里就总结一下。。。。
Swift源码大致可以分为6块
- 物理节点的管理 : 主要包括物理节点的添加,删除,ring文件,builder文件生成,重平衡,核心算法与数据结构。
- 请求与处理 : 各种服务处理请求的模型,都使用线程池来处理并发请求,一致性的服务也使用了固定的daemon模型。
- 文件操作 :文件的操作,具体的逻辑。
- 文件管理 :account和container概念,类别与用户与文件夹的概念(但是不是这个概念)。
- 认证与鉴权 : 认证的程序依靠keystone中间件,而鉴权独立到swift中,真正的鉴权发生在具体操作之前。
- 服务管理 :同一启动服务,管理服务,manager功能。
开源带来了什么?
从技术角度来思考,Swift开源能带给我们什么?我觉得主要有以下几个方面:
- 除了苹果自家的平台,以后也能在Linux上用Swift开发应用了,这样可以吸收更多Linux平台上的Swift开发者;
- 基于Swift的应用会更加丰富,有了开发者对Swift的普遍热情,以后也许会出来各种Swift的Web框架或其他什么有趣、有用的应用;
- Windows平台虽然不在此列,而官方并不反对把Swift移至到其他平台,但需要有人做这件事。嗯,微软应该不会忽略Swift?总之,只要机会之门打开,一切皆有可能;
- 苹果的私房菜Cocoa并未开源,开源的是Swift编译器和标准库,要在非苹果官方平台开发iOS应用,暂时还不太可能;
- Swift开源后的成功,特别是在不同平台上的成功,很大程度上取决于生态的建立、有多少框架/第三方库的支持。同时,也直接受Swift最终采用何种开源许可的影响。
总而言之,Swift开源是大大前进了一步。而超越Swift开源本身,当今编程语言的发展趋势也值得我们认真思考。如果从完全理性的角度看待编程语言,那么编程语言无非就是一门编程语言:“选择好适合自己的编程语言就是了”。但问题就在于如何选择合适的编程语言呢?语言的魅力也许就像盲人摸象,你无法做到足够理性,或者这世界就没有银弹,编程语言的比较和纷争,将是一个永恒的话题,热度无限……
微信号:
clpaial10201119(Q Q:2211523682)
微博WB:
http://weibo.com/u/3288975567?is_hot=1