在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

专访趣拼周楷雯:文艺程序员眼中的 Swift

  • 2015-10-29
  • 本文字数:1425 字

    阅读完需:约 5 分钟

2016 年 1 月 10 日,第一次由国内社区主办的 iOS 开发盛会 Swift 开发者大会将在北京举行,本次大会旨在推动 Swift 语言在国内的发展,不但邀请了国外资深专家,社区的传奇人物,还邀请了拥有 Swift 实践经验的国内专家,为你在实际项目中使用 Swift 扫清障碍。

其中一位讲师周楷雯( @周楷雯 Kevin ),来自广州,拥有多年 iOS 开发经验,在 Github 上拥有超过 5000 star 的开源项目 PNChart ,但同时他还自学设计,钢琴,撰写并出版了横跨编程、设计、营销的电子书《 Producter 》,还为女友录制了给女朋友的iOS 开发视频教程,他还创立了自己的公司,电子书和视频课程是他在创业工作之余写出来的。InfoQ 记者对他进行了采访,了解这位文艺程序员是如何看待Swift 的。

InfoQ:您学习 Swift 花费了多长时间,和您了解的其它语言相比,它的语法是否足够“美”?

周楷雯:从 Swift 诞生开始我就在学习这门语言,一直以来我觉得写起来最优雅的是 Python,直到 Swift 诞生。如果不是因为目前的 Xcode 写起 Swift 来很慢,我最爱的语言就是 Swift 了。Swift 严谨、优雅、现代,写起来着实是一种享受,函数编程、协议编程都是很爽的地方。我也很期待这次大会关于开源部分的 Topic,只是不知道那时候起不起得来。

InfoQ:前阵子看到您在微博上招募 Swift 开发人员,请问你们团队已经在用 Swift 开发应用吗?

周楷雯:我们现在所有的 App 都是用 Swift 开发,而且也会坚定 Swift 的路线,毕竟团队里的人已经都忘记怎么写 Objective-C 了。

InfoQ:前段时间您完成了一本使用 Swift 进行 iOS 开发的电子书《Producter》,Swift 作为教学语言写起来流畅吗?是否遇到过坑?

周楷雯:Swift 作为教学语言没有了 Objective-C 的那些令人困惑的特性,上手其实容易得多,Producter 近期也使用 Swift 2.1 进行一次内容更新,Swift 确实让编程变得更加愉快了。

InfoQ:这次 Swift 大会您会分享性能优化方面的一些话题,Swift 调试起来和 Objective-C 相比如何?

周楷雯:就调试而言,Swift 制造的麻烦可能更多一些,毕竟是一门年轻的语言,但是 Xcode 7.1 后表现要好了很多,深感欣慰。因为底层都是用的 Objective-C 的 runtime,所以其实调试的差别不大。

InfoQ:Xcode 在编写和调试 Swift 上面有哪些坑?如果您能对负责 Xcode 的苹果工程师说句话,您会说什么?

周楷雯:和 Objective-C 时代相比,慢,Xcode 特别慢,浪费时间是最主要的坑。我说一句别人说的话吧:“Engineers in Apple never test their product. Everything is confirmed by QA team with hand!”

InfoQ:Swift 编写的应用压榨性能起来和传统 Objective-C 写的有什么不同吗?能否透露一下有什么奇技淫巧?

周楷雯:两者性能差异并不大,但是从写代码的角度来说的话,Swift 敏捷,快速,可以极大的提高生产力,奇技淫巧就谈不上啦,主要是语言层面上的一些用法,像万能的 enum,extension 等,写起来更安全,但是 Objective-C 更有想象力,掌控力是要超过 Swift 的,Objective-C 中的 runtime 的奇技淫巧才是近乎无所不能。两个比起来,Swift 是凌波微步, Objective-C 是如来神掌。

InfoQ:如今有越来越多的资深开发者走上了技术管理岗位,我比较好奇您是创业公司 CEO,为何还能抽出时间关注并学习新技术,还写出一本书,您是如何平衡技术学习和管理的?

周楷雯:白天工作,晚上写书,日拱一卒嘛,那本书写了一年之久,也是慢慢积累出来的,其实很多事情都是这样,只要开始做了,不在乎每天做多少,坚持下来的意义比尽早做完更大。

2015-10-29 20:416368
用户头像

发布了 164 篇内容, 共 118.8 次阅读, 收获喜欢 392 次。

关注

评论

发布
暂无评论
发现更多内容

镕铭微电子加入龙蜥社区,推动开源 OS 在音视频产业的应用

OpenAnolis小助手

操作系统 芯片 数据存储 龙蜥社区 镕铭微电子

拿到8000元的火焰杯比赛奖金,感谢霍格沃兹测试开发学社

测吧(北京)科技有限公司

软件测试比赛

Serverless Devs 重大更新,基于 Serverless 架构的 CI/CD 框架:Serverless-cd

Serverless Devs

Serverless Serverless Devs

【python小脚本】监听日志文件异常数据发送告警短信

山河已无恙

12月月更

裸辞不慌!入职蚂蚁金服P6,掌握并发编程我是这样吊打面试官的

钟奕礼

Java java面试 java编程 程序员‘

OpenMLDB Meetup No.7 回顾 | OpenMLDB+AutoX:整合自动特征工程,拥抱高效机器学习

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

非结构化数据暴增,企业如何稳定高效的支撑日均百亿级访问

秃头也爱科技

Ansible最佳实践之 AWX 创建管理项目的一些笔记

山河已无恙

12月月更

Ansible最佳实践之 AWX 构建高级作业工作流的创建和调度

山河已无恙

12月月更

Ansible最佳实践之 AWX 启用facts缓存和模板问卷调查

山河已无恙

12月月更

互联网医疗领域月度观察——数字乡村建设加快,“互联网+医疗健康”带动乡村高质量发展

易观分析

数字化 互联网医疗

MySQL从入门到实战讲解,京东T5大牛学习笔记分享,看完我哭了!

钟奕礼

Java 程序员 java面试 java编程

降价背后,函数计算规格自主选配功能揭秘

Serverless Devs

Serverless 前端 函数计算FC

Ansible之Ansible Tower使用User和Team管理访问权限的笔记

山河已无恙

12月月更

react源码分析:babel如何解析jsx

flyzz177

React

SAP MM 为UB类型的STO执行VL10B,报错-没有项目类别表存在(表T184L NL 0002 V)-之对策

SAP虾客

SAP MM UB类型STO VL10B T184L

Ansible最佳实践之 AWX 作业创建和启动

山河已无恙

12月月更

关于 Git 重写历史的一些笔记

山河已无恙

12月月更

react源码中的协调与调度

flyzz177

React

Redis之String类型和Hash类型的介绍和案例应用

C++后台开发

redis 数据结构 hash 后端开发 C++开发

Ansible最佳实践之 AWX 使用 Ansible 与 API 通信tags

山河已无恙

12月月更

Ansible之 AWX 管理清单和凭据的一些笔记

山河已无恙

12月月更

Ansible最佳实践之AWK VS Anssible Tower 界面介绍

山河已无恙

12月月更

Java jar 如何防止被反编译?代码写的太烂,害怕被人发现

小小怪下士

Java 程序员 反编译

多引擎可视化数据流实现方案

元年技术洞察

数据中台 数字化转型 专利解析 方舟企业数字化 PaaS 平台 #方舟平台

预告|2022 星策 Summit MLOps 分论坛议程公布!

星策开源社区

人工智能 机器学习 开源 AI MLOps

react源码中的生命周期和事件系统

flyzz177

React

广西移动圆满完成区运会通信保障任务

极客天地

教你用JavaScript实现乘法游戏

小院里的霍大侠

JavaScript 前端开发 编程实战 实战案例 初学者

Ansible最佳实践之Playbook高级循环任务如何操作

山河已无恙

12月月更

PGL图学习项目合集&数据集分享&技术归纳业务落地技巧[系列十]

汀丶人工智能

神经网络 图神经网络 12月日更 11月月更 12月月更

专访趣拼周楷雯:文艺程序员眼中的Swift_移动_徐川_InfoQ精选文章