Tag Archives: WWDC 2014

iOS 8开放浏览器引擎限制

WWDC 2014上发布的 iOS 8 给人的感觉是更加开放,除了开放第三方输入法、Touch ID 指纹识别传感器,还有一个重要的信息是开放了浏览器引擎限制。这样第三方的浏览器就能够使用苹果公司最新的 WebKit 编程接口,使用 Nitro Javascript 等技术,最终第三方浏览器将可能和 Safari 一样快。

过去,iPhone 浏览器应用需要使用独立于移动版 Safari 浏览器且速度较慢的引擎。就 Chrome for iOS 来说,没有使用自有的引擎,而是 iOS 的 UIWebView,而 Safari 使用的是更快速的 Nitro 引擎。这也是众多第三方浏览器的无奈之举,因为苹果不允许第三方浏览器使用 Nitro 引擎。

Opera Coast 项目负责人休布·克莱豪特(Huib Kleinhout)表示,对 Javascript 的改进只会在浏览大量使用这种技术的网站时才会被人注意到,其他调整将对稳定性的改善起到广泛影响,而且不必继续使用之前的一些变通方式。

这一重大的浏览器开放政策,对 Chrome 和 Opera 等与 Safari 竞争的浏览器来说,都是一件意义重大的事,或许以后 iOS 设备上的 Chrome 和 Safari 的速度将不相上下。你的 iOS 设备上选择什么浏览器呢?

Hello Swift! 你好Swift语言

这个夏天,让我们和雨燕Swift语言一起享受冰爽。

Let’s rock with Swift Language.

Swift is an innovative new programming language for Cocoa and Cocoa Touch. Writing code is interactive and fun, the syntax is concise yet expressive, and apps run lightning-fast. Swift is ready for your next iOS and OS X project — or for addition into your current app — because Swift code works side-by-side with Objective-C.

在刚刚过去的苹果 WWDC 2014 上,除了备受关注的 OS X 10.10 和 iOS 8 之外,苹果还发布了一款全新的编程语言 Swfit。对苹果遍及全球的开发者来说,Swift 无疑是 WWDC 2014 的一大爆点,但对于那些跟电脑编程没有太大关系的普通人来说,Swift 至多是苹果发布的一款不明觉厉的新东西。不过,当惊奇的在社交网络上看到这样:“实现我码农的梦想,就靠你了, Swift ! ” 的话之后,他们又觉得 Swift 这个 logo 为橙黄色俯冲雨燕的新东西离自己又没有那么远。

但和开发者们聊了一下会发现,事情没这么简单。

1. 比现在的编程语言要高级

作为 iOS 系统内部的开发语言,Swift 其实是现在正在使用的编程语言Objective-C (objc)的替代品。我们如今在 iPhone 中所使用的 app 都是用这个编程语言一行行代码敲出来的。这个编程语言在 1980 年代初由 Stepstone 公司发明,之后作为 iOS 操作系统的编程语言,随后者流行至今。

从级别上来看,objc 与 C语言/ C++ 同属较低级,而新晋的 Swift 要比这些都高级,属于跟微软的开发语言 C# 和安卓的开发语言 Java 看齐的开发语言。

2. 也更加高效

由于 objc 与同级别的 C语言/ C++ 同属较低的系统级,所以相对的开发效率、工程化程度也自然比较低,Swift 一出生就代表着更新换代升级,自然也是更高效,比如编程的语法更加简洁、语言的类型安全更加实现,以及引入了许多动态语言特征等,而在运行速度上,它更是比objc 快了 3 倍。“打个比方,objc 就像传统木工的锯、斧、刨等手工工具,而 Swift 就像是一体化的木工车床。它属于创作工具的升级。”科泰华捷科技有限公司 CTO 牛靖宇这样告诉《好奇心日报》。

3. 所见即所得,会让初学者更有存在感

在演示 Swift 的过程中,

特地展示了实时代码效果预览功能(Swift Playground)。程序员可以在左侧输入代码的同时就在右侧实现代码执行演示。对于,资深程序员来说,这可能是一个检查 bug 提高效率的好办法,对于初学者来说,这个功能俨然就是一个鼓励机制,敲几行代码就会出现相应的图案,简直充满了即视感!

4. 学 Swift,英语不好没关系

在发布 Swift 官方开发者指南不到12 小时的时间里,Swiftchina.org 雨燕中文网就已上线,该网站在全网发出网络众包翻译的邀请,这样看来,网络众包翻译的模式将有可能在尽可能短的时间内帮你扫清学习 Swift 的语言障碍。

5. 先别忙着学别人做评论

现在,各大社交网络,程序员社区都在忙不迭的评论 Swift 的性能,这些基于专业人士对于新产品敏锐洞察力下的判断当然无可厚非。但作为一个编程知识薄弱的初学者,就先别忙着看评论,然后学几句看似内行对 Swift 功能的喜恶评价。或者应该抱着学习的心态,感受一下 Ourcoders 站长,资深 iOS 开发者 tinyfool 的话:“评价 Swift 的好坏不应该是从一个抽象的概念上来,去判断它是好还是坏。我们应该看的是,它是否符合它们使用的具体场景,是否可以给(特定的)用户带来便利和幸福感,”

6. “从 Swift 开始,我们终于站在了同一条起跑线上!” 别天真了。

对于一个学习过 objc 编程语言的人来说,他们学 Swift 肯定比零基础的人容易的多。原因大概是平台和框架没变,只是语法变了。tinyfool 对《好奇心日报》这样解释这一点:“就好像是我说普通话,你说上海话,CPU 还是 CPU,电脑还是电脑,只是语音语调变了,但是主要的名词和世界观没变。”

7. 什么叫做学会了一门语言

学会编程语言,会用编程语言到了解语言背后的 API 是一个循序渐进的过程。基本上可以分为“三个段位”,第一段位是知道它的语法到底是怎么样的,这是一个死记硬背的阶段,相当于你在英语考试的选择题上可以全部做对,但是还不懂得怎么去用。第二段位是知道了怎么去用,从纸上谈兵到了真正跟人交流的过程,这个时候你知道写什么程序适合用哪种语言。第三段位,就是你能把你的思维完全转换成编程思维,这跟学一门外国语言也很类似。对 ALCOL 语言做出过重大贡献的 Alan J. Perlis 曾经说过:“一种不改变你编程的思维方式的语言,不值得去学。”所以长路漫漫,你得一点一点来。

8. 编程难度降低,然后呢?

“编程门槛虽然降低了,但生产力的门槛不会降低。 有越来越多的垃圾会被更容易的生产出来”,“开发门槛降低并不是一件坏事,因为新的人会进入到编程体系里来,带来更多全新的思路。”这是现在人们对除 Swift 功能之外另一个探讨的两大主流观点,这个类似于上升到技术与世界关系的伦理学问题是我们被“编程改变世界”或者“编程无用”冲昏了头脑时,应该思考的!

不管怎么说,这是一门相当有意思的新语言(其实不新,出来好久了),特别是被苹果纳入xcode开发环境中,这个夏天,一起冰爽。放心我们的雨燕飞翔之梦。