【开源访谈】独立开发者图拉鼎谈 Swift 的诞生与未来

孔小菜 发布于 2015/05/25 23:55
阅读 5K+
收藏 18

【嘉宾介绍】

@图拉鼎 ,独立开发者,热衷开发小而美的 App,作品 Manico,为 OS X 设计的快速 App 启动及切换工具。


【正文 】

1.请简单地介绍一下你自己(技术背景、学习经历、工作经历)。

我叫图拉鼎,目前是一个 iOS/Mac 开发者,在两个平台分别有一个独立作品,在 iOS 是,奇点微博客户端。在 Mac 平台是 Manico 效率启动工具。

在成为 Apple 生态圈的开发者之前,我在 Linux 开源世界折腾了五六年,我玩 Linux 系统,写 Ubuntu Tweak 开源软件,开发 Web 应用…也因此在 Ubuntu 背后的 Canonical 公司工作过两年。
现在进入 Apple 生态圈主要是自己是重度用户,也想到一个新鲜和热门的平台来看看。于是就转型为 iOS/Mac 开发者了。


2.在你所了解的 Swift 的开发历史中,有哪些好玩的事情?

接触 Swift 的这段时间来,应该是折腾与好玩都有吧。

记得在去年 WWDC 14 时首次揭晓 Swift 时,大家非常激动,因为事先完全不知道 Apple 会发布一门新语言,于是决定立刻开始学习,但是很快就发现这是一条很折腾的路。因为 Swift 是一门快速发展的语言,它的每个版本都与上个版本不兼容,即使 1.0 版本以后,1.1 和 1.2 版本的发布还是会导致旧有代码无法编译通过,因此在学习和应用 Swift 的过程没有坚强的内心是不行的。

好玩的事情主要来自新鲜,每天都能看到这个平台不断的发展,看到这个社区分享的新东西,不会枯燥,自然就会觉得好玩了。


3.Swift 是2014年增长速度最快的编程语言,是什么原因让 Swift 的发展如此迅速?

我觉得 Swift 发展快的根本原因是因为 iOS 开发者们的创造力被 Swift 释放了。因为 Objective-C 是一门和 C++ 一样古老的语言,尽管在过去几年也在不断进化拥有了一些高级语言特性,但是依然缺少很多特性。

Swift 的出现一下子让 Apple 生态圈有了一门足够现代的语言,无论是 Functional programming, Generic, Optional, Pattern match,都是不落后于当前主流编程语言的。更关键的是,Apple 将工具和开发环境做到了无缝地与 Objective-C 整合,这使得开发者可以立即在当前已有的项目采用 Swift,渐进式的采用 Swift。于是 Swift 在几乎没其他阻碍的情况下就这么迅速地发展起来了。


4.有人说Swift最终会取代 Objective-C,对此你是怎样认为的?

我认为 Swift 取代 Objective-C 是肯定的,这只是时间问题。不过这个过程可能会比较长,也许要五年或者十年。但是这取决于你如何理解「取代」,像我已经完全用 Swift 写出了奇点这个 App,在我这边可以说已经取代 Objective-C 了。另外我也知道国内外已经有不少新 App 是用 Swift 写的,老的 App 正在用 Swift 编写相关组件。对于一个正式发布不到一年的语言来说,这个趋势已经很不容易了。据说 Apple 会在明年用 Swift 重写 iOS 和 OS X 上的一些内置应用,如果这个过程顺利的话,这也是快速推动 Swift 取代 Objective-C 的一个积极信号。

总的来说,整个 Apple 生态圈 Swift 已经相当活跃了,已经有了大量的基于 Swift 的第三方库,甚至民间上已经有了几次 Swift 的相关会议了。也许不需要五年,用 Swift 写的新旧项目就会比 Objective-C 多了。


5.对于 iOS 开发的初学者,你有什么建议给他们?

我的建议也是我的亲身经历。不瞒大家,我本人也是间间断断学了三次 iOS 才真正入了门,前两次每次都是学了一点点就不知道接下去做什么了。后来真正上手也就是做奇点微博客户端的时候。所以我最大的建议就是以实际项目去操练 iOS 开发,不要为了学习而去学习,做到真正「学以致用」,那么入门及掌握一项技能是自然而然的事情。


6.作为一位独立开发者,你是怎样管理日常开发工作的?

独立开发者在时间和项目的安排上比较自由,想怎么管理就看给自己定什么目标。我当前的目标就是每个月都要发布一个新版本,带来新功能以及对旧有功能的改善和修复。

我用 OmniFocus 来管理项目,我会把自己的计划、用户的需求和反馈先统一整理到「奇点 Next」这个项目中,然后再从中选中优先级比较高的放进具体的版本项目里,如「奇点 1.4」,然后就开始有节奏的去完成里面的任务。开发的过程中我会每天或每隔几天就给内测用户发一个版本,他们会给我汇报问题,以便我尽早解决问题。过了 每月中旬时,这个时候如果我还没完成新特性的话,我就会推到下一个版本去做,而只修复问题和提升稳定性,到了下旬的时候我会提交这个版本给 Apple 审核,一般都会比较顺利,最后月底的时候就能发出一个新版本。

在过去的三个月里,我已经按这个节奏发布了 1.1,1.2,1.3 版本,很快 1.4 版本也要审核通过了。由于每个人给自己定的目标、能力和效率都不一样,此时最重要的就是找对节奏。节奏对了,产品就会有条不稳地良好发展下去。节奏不对的 话,要么战线拖太久导致难产,要么为了追求速度牺牲了产品质量或者自己的健康导致产品无法持续发展,这些都是我自己亲历过的事情。幸运的是我觉得我现在找 到自己的节奏了。


7.你能否向我们介绍一下你的作品?

说到我的作品,我的 OS X 作品是一款叫 Manico 的桌面应用。我于 2012 年开发了这款工具,它是一个可以用快捷键来非常快速地启动和切换 OS X 应用的一个工具,非常合适键盘党,可以大大增强日常电脑使用效率。

另外一个就是 iOS 上的奇点微博客户端,它与一般微博客户端不同的是,它有一个独特的「订阅」模式,它能把微博变成像微信上的公众帐号功能一样,需要频频去刷新,会在后台默 默收取最新的微博,然后只要在闲时想看微博时拿出来看看就可以了。能很好的把用户从「刷微博」这个状态中解放出来。


8.你能否谈一下你对开源的理解?你认为国内开源现状如何?

我对开源的理解也经历了从非常狭隘到开放多元的这么一个过程。记得当时刚刚玩 Linux 那会,接触并了解了自由软件运动,一度觉得世界上就应该只有开源软件这个自由并且伟大的东西,闭源都是邪恶的!

后来接触的东西越来越多,了解到开源只是推动软件向前发展的其中一种方式。很少软件只用一种的方式,更多的是混合的模式。比如 Apple,它从来就不是一个以「开源」为主旨的公司,但它系统的内核却是开源的,浏览器的核心 WebKit 也是开源的。WebKit 本身深刻的影响了整个软件世界还有移动互联网。再追溯上去的话,WebKit 本身又是脱胎于 KDE 桌面的 KHTML,这就是一个丰富多元且联系的世界。开源和闭源都在让这个世界变得更好。

对国内的开源现状,我觉得近几年是越来越好了。现在国内有不少有影响力的公司都有运营着自己的开源组件和背后的社区,让我们有机会直接接触到大公司内部第一手的开源软件。同时在国际上的参与度也越来越高。

我们在现在这个丰富的时代应该不是找不找到的好项目学习的问题了,而是找哪个好项目学习的问题了。


9.你对开源中国有何意见和建议?

对开源中国的建议是,可以考虑做一些有关开源项目背后的开发者的专题报道,很多不错的开源项目背后可能就一个开发者,他一定有不少围绕这个项目的故事可以述 说,不防以开发者为中心做一些专题,采访并报道开发者,通过生动的故事,相信不仅能更好的传播这个开发者和他的项目,也能让更多的人对开源产生兴趣和了解 并且参与进来。


10.请聊聊任何你想谈的话题。

还是聊聊开源中国吧。

开源中国给我最深刻的印象就是「源创会」了,这可能是国内民间举办的次数最多、覆盖城市最多、积累参与人数最多、话题最丰富,同时气氛也是最好的系列活动了。

我在两届开源中国的源创会上做过分享,每次都感觉非常好,听众非常多,每次会场都坐不下,而且交流和提问也很热烈,而不是仅仅是单方向的演讲而已。当然每次也都认识了不少新朋友。

我觉得开源中国真正把一个社区活动给做好了,希望能把这个继续不断做好做下去。


关于开源访谈

开源访谈是开源中国推出的一系列针对国内开源技术发展的访谈,以文字的方式记录并传播。我们希望开源访谈能全面的展现国内开源软件、开源软件作者的现状,着实推动国内开源软件的推广与应用。

加载中
1
struct
struct
      Swift 是一门快速发展的语言,它的每个版本都与上个版本不兼容,即使 1.0 版本以后,1.1 和 1.2 版本的发布还是会导致旧有代码无法编译通过,因此在学习和应用 Swift 的过程没有坚强的内心是不行的。
0
水涵
水涵
ob-c 要三次才学进去~~真是鸡
0
百世经纶之傲笑红尘
百世经纶之傲笑红尘
楼上的你有本事自己工作了之后两三次IOS编程了之后写几个中型APP看,别净妒忌
0
Zoker
Zoker
独立开发者
0
开源中国匿名会员
开源中国匿名会员
二楼的真是语文水平插到爆。
0
googlespot
googlespot
差点以为是swift 的作者呢
0
nzchris
nzchris
楼主很棒啊!支持!!
0
动弹
动弹
来围观主席~
0
张
关键还在于自己动手做
0
iMeteOra
iMeteOra

现在也是各种语言,应该说各种针对互联网的开发语言。

返回顶部
顶部