关于《Swift开发指南》背后的那些事

简介: <span style="font-size:14px;"><strong>时间轴(倒叙)</strong><br>2014年8月底<br>在图灵出版社的大力支持下,全球第一本全面、系统、科学的,包含本人多年经验的呕心沥血之作《Swift开发指南》(配有同步视频课程和同步练习)全线重磅推出<br>2014年7月5日<br>苹果宣布Swift语言二十天后,《Swift开发指南》第一稿交予图灵出版
时间轴(倒叙)
2014年8月底
在图灵出版社的大力支持下,全球第一本全面、系统、科学的,包含本人多年经验的呕心沥血之作《Swift开发指南》(配有同步视频课程和同步练习)全线重磅推出
2014年7月5日
苹果宣布Swift语言二十天后,《Swift开发指南》第一稿交予图灵出版社
2014年6月9日
苹果宣布Swift语言三天后,启动《Swift开发指南》撰写
2014年6月2日凌晨1点(北京时间:)
在苹果开发者大会WWDC 2014上,苹果宣布了全新的iOS及OS X平台开发语言Swift
 
iOS教父前传
我是一个编了20年程序的码农,做了10年IT培训的教书匠,写了15本书的笔农。
2010年的时候我有幸相识了大富翁游戏之父,台湾的柯博文老师。从那时开始,我真正的接触到了iOS。我用苹果虚拟机,用了一个星期的时间,编写了第一个iPhone HelloWorld程序。苹果的事件处理机制和Objective-C古怪的语法有别于其它我接触的语言。那时候可参考的中文资料很少,源于老师的职业习惯,我决定要写一个系列的iOS丛书,我规划了6本书,《iOS网络编程与云端应用最佳实践》、《iOS传感器应用开发最佳实践》、《iOS多媒体技术开发最佳实践》、《iPhone与 iPad开发实战——iOS 经典应用剖析》、《iOS开发指南》、《Objective-C开发指南》经过四年的笔耕不辍,前五本都一一出版发行,并获得了大量读者和忠实的学习者。最后一本顺应苹果公司的编程语言的变革,改为即将上市的《Swift开发指南》。


20天时间写出全球第一本Swift书,我是如何做到的?


梦中梦

正编着一款新型游戏的程序,突然电脑中病毒般一顿乱跳,鼠标竟然变成了一只活生生的大老鼠,嘴里叼着一根雪茄,尖着嗓门奸笑着对我说,“苹果都出新语言了,你还在等什么?”。突然惊醒,原来是在做梦。走到书架前,一本书翩翩起舞,轻轻的落在我脚下,捡起来一看,“Swift语言”。“关老师!关老师!快醒醒,马上到直播课时间了!”我被一阵喊叫声和敲桌子声音吵醒了,原来刚才一直在做梦,“恩,我再眯一分钟,看看里面是什么”边说着我换了一只胳膊继续趴着睡。“看什么啊?就一分钟哦,莫名其妙。”小贾提醒我道。难道是老天冥冥中在提示我什么吗?


鼠标手、键盘手、肩周炎(配图)
6月9日凌晨4点11分,被楼下的汽车发动声惊醒,我从办公室的沙发上爬起来,洗了把脸,意识越来越清醒。是时候出下一本书了,打开苹果官网,第一眼看到《The Swift Programming Language》文档,我如饥似渴的开始研究,用了整整12个小时的时间,到当天下午4点,我已经对这门语言心领神会了。读完文档的第一想法就是我要用我这20年的编程经验和10年的培训经验和项目经验,第一时间写一本关于Swift语言开发的教程。
   接下来,制定计划,每天住在办公室,砍去一切与写这本书无关的事情,比如和朋友约饭、讲课(理想大于金钱的时刻)、回家陪家人(在此也想非常感谢老婆和孩子在这一段时间的默默支持!),甚至睡觉休息时间,总之一切都在为了这一个目标让步。正如一本书里所写的:“当你真心想要一样东西的时候,你身上散发出来的就是那种能量的振动频率,然后全宇宙就会联合起来帮助你达到你想要的东西。”
在畅销书《iOS开发指南》完成之后,我就得了一个毛病——肩周炎。肩周炎不是一个什么大毛病,可是它会把从书架高处取书这么简单的一个动作,或者是拿笔在白板上写点板书成为挑战自我的一个动作。疼,隐隐作痛。去医院看,医生说:“你这毛病这辈子就这样了,只能维持,尽量别再保持一个姿势,电脑尽量少用。”“不可能的”我心里想到。我这几年要不是没日没夜的坐在电脑前码字,写案例,做方案,怎么会有今天的这些作品。这本《Swift开发指南》更是饱含了汗水和泪水。
 
我这些年的心血之作!
团队成员调侃我是“鼠标手关Sir,技艺堪比剪刀手爱德华”。因为网络时代的写书、敲代码与纸质时代不同,鼠标和键盘是必备神器,所以团队小贾非常贴心的给我买了好几个款型的鼠标,一天20小时的轮番上阵,陪我挥洒前程。但就是这样,在Swift这场战役中还是烙下了新病根,腱鞘炎。但一想到我的新书马上就能出版,可以帮助那么多挨踢人士以及攻城狮们,第一时间系统学习和掌握这门语言,我就兴奋不已。《Swift开发指南》每章都配有项目案例和测试习题,最后还用Swift语言开发了一个计算器项目。在此,也非常感谢合著者赵志荣女士,感谢她对项目习题的精心编写和文稿的不倦审查。
 
我的小伙伴!


落下点小毛病还是小事,最让人纠结难耐的还是,苹果Swift语言出来后,两天一小改,三天一大动的情形,问题是我的书已经完成了一大半,但是看到官方形势的急剧变化,我二话不说,立马进行整章、整节的调整,在经过连续20天时间,每天持续奋战18-19个小时之后,最后终于完成了Swift语言的Beta 4版本撰写。在这20天时间里我的体重爆减了15斤,这也算是对自己的另一种完美交差了。
 
“青蛙公主”
我的team短小精悍,被业界高焕堂戏称是“青蛙公主”组合。程序猿们以男性居多,又多是注重本质和物理层,对应用层以及用户体验方面不是摸不着头脑 就是兴趣不大。赵大羽老师是移动平台UI、UE专家,专注于移动设计领域。是目前国内能讲用户体验课程的仅有几个金牌讲师之一。赵老师讲课深入浅出、每每讲到难点和有深度的课题时总会抖几个包袱出来,立即将极其抽象的事物完完全全的剖析出来,让学员自己思考、琢磨,然后顿悟,那些四万多移动用户体验设计和移动端敏捷设计的“羽丝”们深有体会。正是他用这样的方式和深度感化着一个个程序猿和设计狮们,让他们从程序的世界里抬起头来,为用户的感受和体验思考。
于是乎,在“公主”的点化之下,我就成了“王子”,如果你是我的学员,不管是听过我线上视频还是线下课程,你都会懂我的讲课风格,对于不管是Android、iOS还是Cocos2d-x相关的课程,我都会慢条斯理、深入浅出、高深但不难懂、理论结合案例,丝丝入扣的进行剖析,讲解并演练,让学员在掌握拔高理论的基础上,还能有实战实操的案例和动手机会。系统学习之后,再研读配套书籍及动手演练习题,只要你认真坚持下来,不想成为半个专家都不行。《Swift开发指南》一书是与赵志荣老师合作下的又一力作,在此也非常感谢赵志荣老师百忙之中抽出时间精心编写项目习题的以及对文稿的不倦审查,同时也感谢我的“公主”不厌其烦的对我书中的每一个必要场景手绘插图,最终让书稿在技术的海洋里独具一格,徐徐生辉。
 
“青蛙公主”在图书签署会上

我的图灵大编辑
    Swift一书交稿之后,我们的一个小请求就是在书的封面上加上“国内第一本Swift开发教程”一行字。编辑小张给我们的答复是,可能无法满足我们的这一要求。这个消息对我们来说非常有挫败感,毕竟这是我们在如此短的时间内,相当于常人三倍的时间和精力投入编写的一本教程,同时也有争当第一之想法。于是我就给她讲了这段时间我们是怎么努力坚持过来的,以及我们的心路历程和汗水付出,希望出版社可以给我们一个说法。经过调查,最终他们也查明事实,我们确实是国内第一本Swift开发教程,最终还是决定给我们正名。在这我也想分享给各位的一句话是:“不要怕被拒绝,也不要怕被误会,是‘金子总会发光’,但也要努力争取成为‘金子’,天道总会酬勤。”
封面的故事
我的图书封面以及文中配图都是“公主”精雕细琢的杰作。“公主”对封面的用户体验要求近乎苛刻。因我们iOS、Swift都是苹果开发相关的系列书籍,所以都是以“苹果”为原型的创新图案。在用Swift语言做计算机项目时,在用户体验设计的理念基础上,由“公主”手绘计算器草图,并以我的程序思路,逐步深入到程序、功能、应用等层面。
 
书中的一张手绘草图
Swift速成,你如何做到?
为什么学?
作为学习者,你要清楚自己的定位。即你本身就是挨踢民工、 程序猿、工程狮,还是你想成为这么一类人。成为这一类人,你就得 “学得好语言、写的了代码、经得起寂寞、忍得了寂寞,还能经得起因为‘神经大条’经常被女友抛弃的惨痛”。如果以上几方面,你毅然做好了准备,那就想清楚,你学习Swift的目的和长远打算是什么。如果你想玩转APP,自己开发各种苹果手机应用;如果你想在公司的新项目中,游刃有余,发挥自己的技术天赋和被领导赞不绝口 ;如果你想转行,从事iOS相关开发工作;或者如果你真的很Geek,就像搞清楚Swift是个怎么回事,那就来学吧!
怎么学?
    学习分两种模式,先天习得和后天学习。如果你已经超过三岁,那就不要考虑第一种办法了,你只能找到一种合适的方式和方法,以及工具(即教材、老师、课件、资料等等)进行系统的学习。Swift这本书就有配套视频课程和习题。为了便于学习,刚开始的每一章节的课程时间规划的都非常短,在学习完一章后,直接做大量的习题和测试进行巩固和练习,让学习者不至于在一个长期的学习目标之下失去学习的兴趣和斗志。
学到什么程度?
    学习的程度和你努力坚持的程度成正比。挨踢们最能懂我这句话的意思,因为程序和技术很多时候是有标准答案的,你的功夫不到家,核心要素没有掌握,就别怪Bug,Bug的老来找你,程序跑不通,还总是找不到问题所在,有时候想找到问题,似乎比重新开发一遍还难。用一句话概括,就是“你的思想有多深邃,你的程序就能跑多久”。
学习规划图
 
Swift修订,速度中!
《Swift开发指南》是在苹果公司宣布Swift语言之后立即投入编写的,全书编写贯穿Xcode6 beta1版到beta4版的更新,最终成书是以beta4版落地。因beta版本到最终版本之前还有一些变化,所以在final版本出来之前,我们会在案例和习题中为大家及时更新,待Swift语言的final版出来之后,我们也会及时对本书进行修订,并更新到社区、网站中,并一直保持同步更新和完善。
关于《Swift开发指南》学习相关地址:
购书地址:
京东:http://item.jd.com/11516346.html
当当:http://product.dangdang.com/23535049.html
互动出版社:http://product.china-pub.com/3804000
视频课程地址:
智捷iOS课堂教程地址:
苹果Swift编程语言开发指南(上):
http://v.51work6.com/viewCourseDetail.do?courseId=799262
苹果Swift编程语言开发指南(下):
http://v.51work6.com/viewCourseDetail.do?courseId=799438
51CTO学院视频教程地址:
苹果Swift语言视频教程闪电入门:http://edu.51cto.com/course/course_id-1395.html
Swift项目开发实战-基于分层架构的多版本iPhone计算器:
http://edu.51cto.com/course/course_id-1950.html
本书网址:http://www.51work6.com/swift.php
欢迎关注智捷iOS课堂微信公共平台
 

目录
相关文章
|
3月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
89 2
|
2月前
|
监控 API Swift
用Swift开发iOS平台上的上网行为管理监控软件
在当今数字化时代,随着智能手机的普及,人们对于网络的依赖日益增加。然而,对于一些特定场景,如家庭、学校或者企业,对于iOS设备上的网络行为进行管理和监控显得尤为重要。为了满足这一需求,我们可以利用Swift语言开发一款iOS平台上的上网行为管理监控软件。
181 2
|
3月前
|
安全 JavaScript 前端开发
IOS开发基础知识:介绍一下 Swift 和 Objective-C,它们之间有什么区别?
IOS开发基础知识:介绍一下 Swift 和 Objective-C,它们之间有什么区别?
65 0
|
5月前
|
JavaScript 前端开发 PHP
用swift开发ios移动端app应用初体验
直接跟着 apple 官方的 SwiftUI 教程跑的,写惯了 javascript 奔放的代码,很多语法理解起来还是有点费劲
57 1
|
Swift iOS开发
iOS开发 - 适合工程多环境切换(swift环境),适合经常打很多不同环境包的人
iOS开发 - 适合工程多环境切换(swift环境),适合经常打很多不同环境包的人
219 0
iOS开发 - 适合工程多环境切换(swift环境),适合经常打很多不同环境包的人
|
Swift 数据安全/隐私保护 iOS开发
iOS开发 - swift通过Alamofire实现https通信
iOS开发 - swift通过Alamofire实现https通信
343 0
iOS开发 - swift通过Alamofire实现https通信
|
Swift iOS开发
在Xocde12上开发面向低于iOS13的Swift应用
1、创建项目 在Xocde12上我们创建swift项目的时候Interface有两种选择:SwiftUI 和 Storyboard。其中SwiftUI只支持iOS13以上的系统,所以如果需要面向iOS13以下系统则无法使用。那么只能使用Storyboard,LifeCycle使用UIKit App Delegate。但是Xocde12默认为我们创建的项目
401 0
|
缓存 Swift iOS开发
iOS开发swift版异步加载网络图片(带缓存和缺省图片)
iOS开发swift版异步加载网络图片(带缓存和缺省图片)
424 0
|
iOS开发
Swift学习第十三枪-使用Swift开发IOS中蓝牙4.0的开发流程
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
1007 0
|
iOS开发
iOS开发Swift篇(01) 变量&常量&元组
iOS开发Swift篇(01) 变量&常量&元组 说明: 1)终于要写一写swift了。其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了。另外,对于14年部分iOS开发Swift篇专题的博文也不再做任何的校正和更新,特此说明。
839 0