`

关于《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课堂微信公共平台
 

分享到:
评论

相关推荐

    swift编程指南

    Swift背后的成熟框架是Cocoa和Cocoa Touch,这为开发提供了强大的支持。此外,Swift语言的设计考虑到了与Objective-C代码的互操作性,这意味着开发者可以无缝地访问现有的Cocoa框架,并且可以将Swift与Objective-C...

    关东升iOS开发指南 随书源码下载(3)

    《关东升iOS开发指南》是一本深受开发者喜爱的书籍,旨在帮助读者深入理解iOS应用开发。随书源码下载是学习过程中极为重要的辅助材料,它提供了书中实例的完整实现,便于读者动手实践和理解书中的理论知识。在这个第...

    swift-Swift资源Swift3.0官方文档Swift3.0官方示例教程等

    Swift是苹果公司推出的一种强大的编程语言,用于开发iOS、macOS、watchOS和tvOS的应用程序。这个压缩包文件包含了Swift 3.0版本的相关资料,对于深入理解和学习Swift编程至关重要。Swift 3.0是Swift的一个重大更新,...

    The Swift Programming Language 中文入门 kindle版

    标题《The Swift Programming Language 中文入门 kindle版》和描述表明,这是一本专门针对Swift编程语言的中文入门指南,它是为Kindle电子书阅读器用户设计的。这本书旨在提供Swift编程的入门知识,让读者能够使用...

    iPhone游戏开发实践指南.

    这些信息对于理解iPhone游戏开发实践指南并没有直接帮助,但其背后反映了资源分享社区在游戏开发领域的重要作用。开发者可以借助这些资源社区获取最新的开发工具、书籍、教程和源码,从而加快开发进程和提高开发质量...

    The Swift Programming Language - v1.2 中文完整版

    Swift是一种用于开发iOS、iPadOS、macOS等Apple平台应用的编程语言,自2014年首次发布以来,Swift一直在不断地发展和完善。 #### 二、Swift 2.0翻译项目历程 文档中提到的Swift 2.0翻译项目经历了一段波折。起初,...

    Packt.Mastering.Swift.4.4th.Edition.2017

    标题《Packt.Mastering.Swift.4.4th.Edition.2017》暗示了这是一本专注于Swift 4编程语言的进阶指南。Swift 4是苹果公司推出的一种编程语言,主要用于iOS、macOS、watchOS和tvOS等平台的应用程序开发。这本书从2015...

    SWiFT 和 SWiFTplus 操作手册.pdf

    SWiFT 和 SWiFTplus 是由 Valeport Limited 开发的一系列高度先进的水下测量设备。本操作手册旨在为用户提供全面的操作指南,包括设备的功能介绍、安装步骤、日常维护以及故障排除等内容。SWiFT 和 SWiFTplus 能够...

    iOS7 编程代码和书籍 全

    本资源集合包含了关于iOS7编程的实战代码、书籍及相关教程,旨在帮助开发者深入理解和掌握iOS7的开发技术。 首先,"iOS编程实战"部分可能包括一系列的实际项目案例,这些案例涵盖了从基础到高级的iOS应用开发技术。...

    多线程编程指南

    本多线程编程指南主要针对iOS平台,特别是使用Swift语言的开发者。在现代iOS应用开发中,虽然有更新的技术如操作对象(Operation Objects)和Grand Central Dispatch(GCD)提供更高效和更现代的并发编程方式,但...

    ios软件开发揭密

    这本书将带你逐步走进iOS软件开发的世界,了解其背后的原理与实践。 首先,iOS软件开发的核心在于Objective-C或Swift语言。Objective-C是苹果早期推崇的编程语言,它基于C语言,增加了面向对象特性和Smalltalk的...

    苹果移动互联应用软件开发(iOS开发)选修课校企合作建设方案

    1. **课程内容设计**:结合苹果官方文档和技术指南,设计符合行业需求的教学内容,包括但不限于Swift语言基础、iOS框架介绍、UI设计原则、App Store提交流程等。 2. **实训平台搭建**:利用苹果提供的开发工具和资源...

    适用于iOS和Android的高级后台地理定位和地理围栏SDK_Objective-C_Swift_下载.zip

    在移动应用开发中,地理定位和地理围栏是两个关键功能,它们允许应用程序在用户移动时获取其位置信息,并在用户进入或离开特定区域时触发事件。本SDK专注于为iOS和Android平台提供高级的后台定位服务,使得即使在...

    IdeaTracker:只是一个适用于iOS的简单的Idea跟踪应用程序,用于练习Swift和事物

    《IdeaTracker:Swift开发的iOS创意管理应用实践》 在当今数字时代,创新与想法是推动个人和企业进步的关键动力。为了有效地管理和追踪这些灵感,开发者们常常需要借助特定的工具。IdeaTracker就是这样一款专为iOS...

    移动互联网类应用简介.ppt

    这篇PPT将对移动互联网类应用进行深入的介绍,帮助读者理解其背后的原理、开发流程以及应用实例。 首先,移动互联网应用的基础是智能手机和平板电脑等移动设备,它们搭载了各种操作系统,如Android和iOS。开发者...

    IOS应用源码Demo-房贷计算器改进-毕设学习.zip

    在iOS应用开发中,主要使用Swift或Objective-C作为编程语言。本项目源码采用的是Swift,这是一种由Apple推出的现代化编程语言,以其简洁、安全、高性能的特点深受开发者喜爱。Swift语法清晰,易于上手,特别适合初学...

    游戏及源代码

    5. **文档和教程**:为了帮助学习者理解源代码,可能会有相关的技术文档、注释、开发日志或教学指南。 通过研究这些源代码,开发者和学习者可以了解游戏开发的基本流程,学习如何实现游戏逻辑,优化性能,以及如何...

    iOS游戏应用源代码——Sveder-FIAR-0943e7d.zip

    为了在iOS上开发应用,开发者通常需要使用Swift或Objective-C这两种编程语言。Swift是Apple于2014年推出的现代化编程语言,语法简洁,易于学习;Objective-C则是早期的iOS开发语言,有着丰富的Cocoa Touch框架支持。...

    ios应用源码之火车余票查询 for iphone 2018128

    最后,考虑到此应用是针对iPhone设备,开发者需要了解iOS平台特有的开发规范,如App Store的审核指南,以及针对不同iOS版本的兼容性问题。此外,可能还需要集成推送通知、地图服务等其他功能,这就需要熟悉Apple的...

Global site tag (gtag.js) - Google Analytics