阅读更多

2顶
0踩

编程语言

苹果公司于6月3日凌晨在美国旧金山召 开2014年全球开发者大会,在所有为开发者提供的服务中,最新的编程语言Swift成为该会的最大亮点,其可与Objective-C共同运行于iOS 和Mac OS平台,用于搭建基于苹果平台的应用程序。时隔近三月之久,Swift在慢慢成长着,仅发布1月,Swift就进了TIOBE 2014年7 月编程语言排行榜Top 20,获得了广大程序员的青睐。

 

三月来,伴随Swift诞生,业内也上演着一个又一个传奇,《Swift中文版》 翻译组在GitHub上进行协同翻译。此项目开始不到一周就获得了1067个Star。令人吃惊的是,该项目的发起人是北航的大三学生。此外,全球第一本 关于Swift语言的技术书籍《Swift开发指南》也由我国关东升、赵志荣共同完成出版,该书在苹果宣布Swift语言三天后就启动了《Swift开发 指南》撰写,在Swift语言二十天后第一稿就交予出版社,后又进行了多次修改。这本书特别之处在哪里?20天时间写出全球第一本Swift书,如何做到 的以及质量有保证吗?Swift语言究竟如何?和Objective-C相比,Swift到底有什么优势?Swift将取代Objective-C 吗?……带着这些疑问,我们采访了《Swift开发指南》第一作者关东升,且看关老师是怎样说的。以下为采访正文:

 

Swift 1.0正式版本发布后,会有更多的人投入到iOS开发

 

关东升,国内知名iOS技术作家,iOS技术顾问,移动开发专家。精通iOS、Android和 Windows Phone及Html5等移动开发技术。曾先后主持开发大型网络游戏神农诀iOS和Android客户端开发、国家农产品追溯系统iPad客户端开发、酒店预订系统iPhone客户端开发、金融系统微博iOS、WP7、Android客户端开发。在App Store发布多款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。近期为中国移动研究院、惠普、云南移动、东软、方正科技、大唐电信、中石油、深圳康拓扑、上海财富168、天津港务局、北京工商银行、南航、NTT、广州软件协会、福州软件园等企事业单位授课。

 

用4年时间建立起iOS学习培训体系,撰写8本相关书籍,录制15个系列,近6000分钟在线视频课程。是国内建立完整的iOS学习培训体系的第一人,Swift第一人,Swift第一视频创建者。

 

著有多部移动开发畅销书:《iOS开发指南》、《iOS网络编程与云端应用最佳实践》、《iOS传感器应用开发最佳实践》、《iOS多媒体技术开发最佳实践》、《iPhone与 iPad开发实战——iOS 经典应用剖析》、《Android开发案例驱动教程》、《Android网络游戏开发实战》、《品味移动设计》和《Swift开发指南》等。

 

CSDN:请和大家介绍下你和目前所从事的工作。

关东升:我现在主要从事iOS、Android相关的开发、培训和图书撰写。

 

CSDN:你用20天时间写出全球第一本Swift语言书,能否简单介绍下《Swift开发指南》的撰写情况?以及如何保证质量的呢?

关东升:我们团队5个人,《Swift开发指南》主要是我与赵志荣老师编著,赵大羽老师负责图片,其他人做审核,在给出版社之前,我们已经自己审核了三遍。20天的时间里,我们每天工作20小时,也没有周末和假期。因为我以前有多本著作,撰写了Java、C++和C#等语言的教程,经验比较丰富,思路也是有的,这次只不过是换成Swift语言,对我们来说还是比较轻车熟路的。

看起来20天写一本书时间比较短,难免会产生一些疑问,质量如何保证?其实按正常写一本书的时间是5-6个月,每天3-4个小时写作,除去周末,大概需要500小时写作时间。但是我们这本书用了20天时间,每天写作近20小时,这期间没有周末和假期,而且是我们一个团队5个人一起在努力。虽然看起来比较短的时间完成了这本书,但是整本书每个环节都没有疏漏,而是更加严格,所以在质量把关这块我们也是下了很多功夫。还有就是一个版本迭代的过程,正式版马上也要出来了,我们会第一时间全力做出修订版本,然后我们把更新的部分发布到图灵社区和智捷课堂社区里面。

 

CSDN:本月,关于Swift语言的另一本技术书籍《Swift权威指南》也上市了,《Swift开发指南》一书的特点是什么?

关东升:《Swift开发指南》一书注重考虑基础语言的学习特点,前几章安排的篇幅都比较短,在每一章后面附加了同步练习,读者学习完一章,利用同步练习加强巩固,以便于消化吸收书中的知识点。在最后一章,我们重点介绍了一个iPhone的计算器应用,考虑到Swift和Objective-C混合搭配,我在书中提出了分层架构设计模式,应对于Swift时代下的架构设计。

 

CSDN:以你这么多年移动开发经验,你会给Swift什么样的一个评价?

关东升:Swift最主要的是具有现代计算机语言的特点,简单的面向对象、数据类型的自动推断、具有闭包特征等。Swift最大的特点是简单,吸取了其它的优点,Swift独到的地方是它使得结构体和枚举类型都具有面向对象的特征,并且简化了面向对象实现。Swift语言降低了苹果开发的门槛,又综合了很多优秀语言的优点,相信未来会赢得很多开发者的青睐。

 

CSDN:你觉得Swift语言与其它语言有什么异同?

关东升:从面向对象的角度Swift语言没有封装特性,在变量声明的时候我们可以不指定具体的数据类型,由编译器自动推断出来它的类型,看起来很像JavaScript,其实Swift的很多特征都类似于JavaScript。

 

CSDN:Swift语言和Objective-C的关系是怎样的?和Objective-C相比,Swift到底有什么优势?Swift会取代Objective-C吗?

关东升:Swift语言出现后,iOS程序员有了更多的选择。在苹果社区里,有很多人在讨论Swift语言以及Objective-C语言的未来,人们关注的重点是Swift语言是否能够完全取代Objective-C语言。然而在我看来,苹果公司为了给程序员提供更多的选择,会让这两种语言并存。既然是并存,我们就有4种方式可以选择:


 

CSDN:自今年6月份苹果公司在WWDC2014上对外宣布Swift编程语言以来,该公司开发的编程软件Xcode 6已经发布了6个Beta版本,可以说Swift语言在不断改进中进步,直接导致Swift语言无法稳定。当Swift 1.0到来的时候,它会变成什么样子呢?Swift 1.0意味着什么?

关东升:在苹果开发社区里,对于Swift语言关注的程度超过了有史以来任何计算机语言,Swift 1.0正式版本发布后,很多人会尝试使用Swift开发iOS 8应用,开发起来要比Objective-C快,会有更多的人投入到iOS开发。

正式版的发布意味着苹果开发简单,快捷的时代到来。也会迎来苹果又一轮开发热潮的到来。

 

CSDN:初学者在学习Swift语言时,需要掌握哪些技术知识?以及需要注意什么?

关东升:Swift就是一种语言,学习它不需要有什么技术门槛,由于语法类似于JavaScript,如果有JavaScript语言基础学习Swift就很容易上手。还有就是关于现在的Objective-C语言,其实可以没有Objective-C基础,直接去学习Swift语言的。这样的话一些安卓开发者和有JavaScript基础的开发者学习Swift可以很容易的上手,但是Swift与JavaScript在面向对象方面有很大的差别。而且苹果放低了开发入门门槛,对苹果开发的未来也会有重大的战略意义。

 

CSDN:在软件开发中,存在“快速迭代”和“慢工出细活”两种观点,对此你怎么看?

关东升:“快速迭代”和“慢工出细活”两个观点并不矛盾,“快速迭代”是高手的游戏,需要你很熟悉你要做的工作才能“快速迭代”;“慢工出细活”是在允许的时间内把节奏放慢。我们能够做到收放自如,在这种境界下的工作才是一种享受。

 

CSDN:你曾决定要写一个系列的iOS丛书,共规划了6本书,如今也已完成,此刻有什么感想?接下来还有其它的著书计划吗?

关东升:写书是一个痛苦的蜕变过程,很多人有这个能力去写书,但是考虑到眼前的利益一般不会着手开始或坚持写下去。这是因为一本书需要5至6个月的时间编写,出版社需要3至4个月的时间校稿,然后上市3到4个月之后才能有回报。一本书一年后才能拿到稿酬,如果市场不买账也就只能拿到1万多人民币。事实上写书除了有很大风险外也是个折磨人的事。在这个过程中我每天都笔耕不辍,每当写到一半的时候,心情是最烦躁的时候,好像一个人在黑夜之中前行,看不到前面的路还有多远,我只能不断告诉自己要坚持走下去、不要停下来,将近4年时间我就是这样走过来的。

从2013年底我们开始编写Cocos2d-x系列从书,这一系列包括了:


 

最后,感谢广大读者多年来的支持,感谢CSDN对我们多年的支持。

  • 大小: 111.1 KB
  • 大小: 8.7 KB
  • 大小: 14.1 KB
来自: CSDN
2
0
评论 共 2 条 请登录后发表评论
2 楼 beyondsky 2014-09-24 10:58
辛苦付出就会收获颇丰 学习了
1 楼 kongxuan 2014-09-23 20:45
加油!勤奋的人,佩服

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 标准模板库和容器类

    标题

  • c++模板的优点和缺点

    <br />作为C++语言的新组成部分,模板引入了基于通用编程的概念。通用编程是一种无须考虑特定对象的描述和发展算法的方法,因此它与具体数据结构无关。但在决定使用C++模板之前,让我们分析一下使用模板的优缺点。<br /><br />目的:<br />当被问及引入C++模板的目的时,C++的发明者Bjarne Stroustrup告诉我“这是为了支持类型安全、类容器的有效性和算法的通用性”。<br />优势和劣势:<br />使用模板有很多原因,最主要的为了得到通用编程的优点。国际标准化组织(ISO)为C+

  • 2024前端面试题总汇(持续更新中...)

    W3C 标准的体现,也就是说是开发者在开发过程中怎么去准守 W3C 标准,其实这里面很多规范是为了 XHTML 的,jQurry 不符合 W3C 标准。 4、什么是语义化标签?⭐⭐ 语义化标签就是标签语义化,让标签有自己的含义,使...

  • 2021-6月面试总结-vue,uniapp,小程序,h5,更新中

    总共分为8个阶段创建前/后,载入前/后,更新前/后,销毁前/后。 创建前/后: 在beforeCreate阶段,vue实例的挂载元素el和数据对象data都为undefined,还未初始化。在∗∗created∗∗阶段,vue实例的数据对象data有了...

  • web网站测试点整理

    1)使用HTML Link Validator将网站中的错误链接找出来; 2)测试的顺序为:自顶向下、从左到右; 3)查看页面title是否正确。(不只首页,所有页面都要查看); 4)LOGO图片是否正确显示; 5)LOGO下的一级栏目、二...

  • Web网站测试流程和方法(转载)

    Web网站测试流程和方法(转载) 1测试流程与方法 1.1测试流程 进行正式测试之前,应先确定如何开展测试,不可盲目的测试。一般网站的测试,应按以下流程来进行: 1)使用HTML Link Validator将网站中的错误链接找...

  • CSS,HTML,JS 以及Vue前端面试题八股文总结【看完你就变高手】

    【IE】表单元素加高度后所有浏览器默认内容垂直居中 不兼容IE低版本 解决:加行高line-height 【IE】a标签包图片会有边框 解决:图片border:0 【IE】透明语法兼容问题 【IE】双倍margin问题等等 css hack是什么?...

  • 14万字面试题汇总整理,祝你顺利斩获大厂前端offer

    严格模式就是浏览器根据web标准去解析页面,是—种要求严格的DTD(Document Type Definition),不允许使用任何表现层的语法, 混杂模式是—种向后兼容的解析方法。 触发标准模式或者说严格模...

  • 前端面试题(react)

    replaceState 是完全替换原来的状态,相当于赋值,将原来的 state 替换为另一个对象,如果新状态属性减少,那么 state 中就没有这个状态了接收旧的 state 和 action,返回新的 state受控组件就是可以被 react 状态...

  • 前端面试八股文笔记(结尾附属文档链接)

    header 网页的头部 main 网页的主体部分(只有一个 main) nav 网页的导航 section 一个独立的区块 aside 和主体相关的其他内容(侧边栏) article 独立的文章 footer 网页的底部 4.伪类和伪元素的区别是什么? 伪...

  • 前端2020面试题195道

    一、 Doctype的作用? 严格模式和混杂模式的区分,以及如何触发这2种模式? &lt;!DOCTYPE&gt;...严格模式就是浏览器根据web标准去解析页面,是一种要求严格的DTD,不允许使用任何表现层的语法, 混杂模式...

  • springcloud中文手册API

    Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持...

  • [乐意黎原创]PHP 老司机指南

    P Rasmus Lerdorf,拉斯姆斯?勒多夫 2、 $name和$$name有什么区别?P $name是变量,$$name是引用变量,如: $name=’sex’;...3、如何提交form表单而不是用submit按钮?J 使用javascript的submit()方法,如oncl

  • Web网站测试流程和方法

    1)使用HTML Link Validator将网站中的错误链接找出来; 2)测试的顺序为:自顶向下、从左到右; 3)查看页面title是否正确。(不只首页,所有页面都要查看); 4)LOGO图片是否正确显示; 5)LOGO下的一级栏目、二...

  • 前端开发基础知识汇总

    IE、猎豹安全、360极速浏览器、百度浏览器 firefox Gecko 可惜这几年已经没落了,打开速度慢、升级频繁、猪一样的队友flash、神一样的对手chrome。 Safari webkit 现在很多人错误地把 webkit 叫做 chrome内核...

  • 当你在浏览器地址栏输入一个URL后回车,浏览器做了什么?

    3. 浏览器根据IP地址与目标web服务器在80端口上建立TCP连接4. 浏览器获取请求页面的html代码。5. 浏览器在显示窗口内渲染HTML。6. 窗口关闭时,浏览器终止与服务器的连接。 这其中最有趣的是第1步和第2步(...

  • Web 前端测试

    Web网站测试流程和方法(转载) 1测试流程与方法 1.1测试流程进行正式测试之前,应先确定如何开展测试,不可盲目的测试。一般网站的测试,应按以下流程来进行: 1)使用HTML Link Validator将网站中的错误链接找...

  • 前端开发工程师面试题2

    前端开发工程师面试题2    1、Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?  (1)、 声明位于文档中的最前面,处于 标签之前。告知浏览器的解析器,用什么文档类型 规范来解析这个文档。  (2...

  • 一个量化的网络游戏基础理论(草稿)——by 小榕^_^

    一个量化的网络游戏基础理论(草稿)by  小榕  2005-5-16  at 哈尔滨理工大学7公寓723       引子      “游戏的可玩性” 忘了哪儿本书上写着“游戏是一些有趣元素的集合”,游戏可玩性”是指游戏中行为规则的排列组合。以“游戏可玩性”为主题要大家需要平静好好的去思考一下。 我是一个游戏爱好者。从小学开始,就一直在玩街机游戏,家庭游戏,电脑单机游戏,一直到现在的电脑网络游戏。

  • 匹夫无罪,怀璧有罪(1)

    记得以前我学delphi,上csdn的时候,总觉得好像有一种被歧视的感觉。 大家普遍觉得:学delphi的人水平比较低。进而歧视delphi这个开发工具。大家在谈论编程时,一有人提起delphi,大家好像都有一种不屑的感觉。如果有谁一提起vb,这人又会被笑掉牙。 好心的一点的人,就会劝说你:不要学vb了,basic不是真正的面向对象语言(vc6)!久而久之,大家对RAD工具(快速开发工具)都有一种

Global site tag (gtag.js) - Google Analytics