逼格更高-让不懂编程的人爱上iPhone开发1-Swift+iOS8版 -开篇

Posted Cocoa开发者社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逼格更高-让不懂编程的人爱上iPhone开发1-Swift+iOS8版 -开篇相关的知识,希望对你有一定的参考价值。

点击上方“CocoaChina” 即可关注

说明:本系列教程仅针对入门新手,高手勿入!时间是最宝贵的财富,只选择自己需要的信息才是王道!


特别说明:不适合程序猿出身的童鞋!目的是让初学者、产品策划,设计或管理人员了解iPhone开发的基础知识。

适合看本系列教程的对象:

1.从未学过编程,或者对Swift语言一无所知,但要懂一些常用的英语单词

2.从未学过iPhone/iPad开发

3.喜欢苹果,充满想象力,喜欢创造,同时也愿意承受学习的压力,愿意投入时间和精力


如果你对ios开发已具备丰富的经验,请不要在此浪费时间!

如果你只是想了解下Swift语言的新特性,那么建议直接阅读苹果的官方文档。

简介

人天生就喜欢游戏,所以我们要开发的第一款应用不会是苍白无力的”Hello World”,而是一个小游戏,名为Bulls Eye(拖拖看)。虽然这个游戏非常简单,但如果你从未接触过编程,可能还是会遇到一些困难。但是不要担心,即便你第一遍接触这些新概念的时候还有些含糊不清,但我们会在整个系列的教程中不断重复,直到它们成功的进入你的潜意识,甚至在梦中都不会忘记~


需要提醒大家的是,学习一门语言或工具的最好方式是练习和实践。因此,对于初学者来说,千万不要只是看过一遍了事,而应该自己手动敲入所有的代码,甚至故意修改其中的代码,刻意制造一些bug,然后想办法解决。而在学完本教程之后,要立即开始实战,同时多看苹果官方的示例代码和Github里的示例。不要害怕麻烦和错误,在解决麻烦和修正错误的过程中,你能更深入的领会为何要这样做,而不仅仅是简单的copypaste


在学习的过程中,会要求你自己做一些思考和练习,而不是完全被动的接受。仅仅知道前面有这样一条路和自己亲自走过这条路是完全不同的感觉。学习编程唯一有效的途径就是在思考的同时要自己写代码。


前面说了,本系列教程是针对完全的菜鸟来设计的。也就是说,哪怕你是个完全不懂编程的文科生,我们也有信心让你爱上iPhone开发。当然,如果你懂一点编程知识,学习起来会快很多。


如果说Objective-C曾经是学习iOS开发的最大障碍,那么这最后一点点担忧也不需要了,因为在2014年的WWDC上苹果发布了一个新的编程语言-Swift它可以让开发者在很短的时间里面轻松上手,如同javascript一样,与此同时它的性能又不会比Objective-C差多少,起码是在Java之上。


对当前的主流开发语言难度排个序,大致如下(从最难到最简单):

机器语言 >汇编> C++ >Objective-C > C, Lisp,Prolog>C#> Java > Python,php, Swift, Javascript,Ruby


正如刚才所提到的,对于汇编以下难度的语言,只要真正学懂一门,其它的是一通百通,毕竟真正的程序猿和攻城师很少只会一门开发语言的。只懂一门开发语言能活到现在的要吗是某个方面的顶级专家,要吗就是走了技术转管理的路线。


在我们的教程中,不会也不可能教你学习所有和iPhone,iPad开发的知识。iOS SDK(开发工具包)非常庞大,除了苹果的官方技术文档,市面上没有任何一个教材可以涵盖iOS开发的全部内容。我们只会教你了解SwiftiOS开发所需具备的核心基础。一旦你掌握了建筑技术,可以自己去探索iOS开发的其它细节。


除了Swift语言和iOS开发工具包的相关知识,我们最重要的目的是让你学会程序猿的思维方式。一旦你具备了这种思维方式,可以完成任何编程任务,不管是游戏,工具,网络应用还是其它你能想到的东西。作为一个程序猿,需要思考解决各种计算问题,并创造性的想出解决方案。一旦掌握了解决问题的方法,不论多复杂的问题都可以解决。这才是本系列教程的终极目的,让不懂编程的人爱上开发!


我可以百分百保证的是,你在学习的过程中一定会遇到各种问题。程序代码中会出现无数莫名其妙的bug,让你不知所措。但即便是一个拥有20年以上编程经验的程序猿,也会经常遇到这样的问题。我们只是人类,而人类的大脑在处理复杂计算问题的时候总会出错的。不要害怕出错,但我们会提供一些思维工具,教会你如何填平自己挖的坑。

在我身边有很多人学习iPhone开发的方式是:

从大量的博客和网站中拷贝粘贴代码,而完全不理解这些代码的工作原理,以及该如何将这些代码嵌入到自己的项目之中。从网络中寻找解决方案是一种高效的工作方式,但你必须真正的理解这些代码的作用,才能举一反三。


在本系列教程中,我们从一开始就会学习如何构建真正的应用,而不是所谓的baby应用,或是仅仅为了学习目的而设计的简单示例。我们会详细解释其中的每一步操作,并附上丰富的图片帮助大家来理解。


通过这些步骤,你将在制作这些有趣应用的同时逐渐掌握编程的思维和技能。当你最终学完本系列教程后,应该已经掌握了SwiftiOS开发工具包的精髓。更重要的是,你应该学会了如何用程序猿的思维方式来编程和解决问题,并真正开始制作属于自己的应用。对此,我有百分之一千的信心!


那还等什么,让我们就此开始吧!

iOS 7,iOS 8...

时光飞逝,世事无常。自20071Macworld上乔帮主那一次惊天地泣鬼神的演讲至今,竟然已经7年了!


7年过去了,乔帮主的音容笑貌仿佛还在眼前,只是,人面不知何处去,桃花依旧笑春风。


7年前,Nokia藐视群雄,Motorola和三星争斗不休,众多国产品牌手机和山寨手机还在华强北幸福的收割着打工者腰包里不多的毛爷爷。


7年后,Nokia亏损连连,被Elop的木马计成功收入微软旗下,MotorolaGoogle收入帐下,当年的手机三雄竟然只剩下三星还活得风生水起。而即便是三星,竟然也被投资者亮了红灯,依靠外星人都教授和他的地球女朋友勉强给旗舰机S5雄起。


反观天朝,小米、魅族、华为一片混战,加上一个浑水摸鱼的老罗,整个智能手机市场好不热闹。不过回顾历史会发现,当天朝的土豪们占据市场主动的时候,就意味着一个行业发展到了高峰期,即将开始走下坡路了。比如从前的PC,比如再之前的家电,莫不如是。


中国人不缺商业智慧,阿里巴巴让纽约的美国人开始喊“爸爸”就是一个很好的例证,只可惜缺的还是创新意识。


苹果帝国好不容易占据半壁江山,却不幸遭遇王者的离去,在Tim Cook接手苹果之后,迟迟没有给大家提供足够的惊喜。在刚刚过去的iPhone6新品发布会上,终于再次听到了One more thing遗憾的是全新的Apple Watch并没有如同当年的iPhone一样亮瞎大家的狗眼。


对于果粉来说痛心疾首的是,一面看了全球各地的华人如同黑社会成员一般聚集在Apple Store前面排队、插队、互殴、第一时间将买到的iPhone6转手给黄牛,而自己却无缘使用。


还是谈谈iOS 8吧。


其实上面要说的是,移动互联网行业的发展速度太快了,iPhone操作系统到现在已经到了第八代iOS8。本系列教程将完全基于iOS8,并采用全新的编程语言Swift


遗憾的是一些老旧的设备,比如iPhone4就已经不支持iOS8了。


既然是学习一门全新的工具,自然要从最新的版本学起,因此,iOS8+Swift是我们的第一选择。当然,Objective-C依然是强有力的开发利器,特别是很多历史遗留项目都是用Objective-C开发的,所以如果你急着找一份iOS开发的工作,那么恐怕还是要学学Objective-C

有舍才有得

学习iPhone开发不但可以作为一门兴趣爱好,同样还可以带来不错的收益(如果你能给用户带来不错的产品,或者找到一份提供给力薪水的工作~)。但天下没有白吃的午餐,进行iOS开发也是要花钱的。以下是你需要投资的:


1.一台设备:

iPhone,iPad,iPadminiiPod touch中的任一种。只用虚拟机永远没法学会真正的开发。当然,为了支持最新的iOS系统,就不要买太老型号的设备了,比如iPhone4之类的。而且即便是iPhone4S使用iOS8的速度也有点拖拉机跑在高速路上的感觉~


2.一台使用Intel内核处理器的Mac电脑:

需要安装Mac OS X 10.9Mavericks)操作系统或者即将推出的最新的Mac OS X 10.10(Yosemite)。建议电脑的内存在4G以上,否则你会很痛苦的。。。


有人说可以用虚拟机在PC上开发,我的建议是,宁可买一台二手的MAC,也不要用PC开发。否则,你会遇到各种莫名其妙的问题,而且对提高你的编程思维没有任何帮助。


3.一个付费的iOS开发者账号

如何申请付费的iOS开发者账号

狠简单,直接到这里就可以了(请点击下方“阅读原文”):

iOS DeveloperProgram


整个过程其实很简单,不过你需要先注册一个Apple ID,因为你的开发者账号会与之绑定。iOS开发者账号有几种类似,你可以选择IndividualCompany,当然还有一个给高大上公司用的Enterprise项目,考虑到你是初学者,就可以忽略那个选项了。当然,如果你还在上大学,可以选择University Program


最坏的情况下要花上一两周,苹果会检查你的信用卡支付信息和其它细节。


如果你选择Company类型,那么苹果会要求你提供一个D-U-N-S Number,这个可以免费申请到,不过得花点时间。


最后,苹果的iOS开发者账号每年需要续费,金额是99美刀。


当然,如果你现在手头紧,那么可以先申请免费的Apple developer 账号,和付费账号的区别是只能在Simulator(模拟器)上测试你的产品,当然你也没办法把产品上传到AppStore发售。

强大的Xcode

Xcode是开发iPhone应用的主要工具。Xcode带有一个文本编辑器,可以让你敲入自己的代码,同时还有一个可视化的工具由来设计应用的用户界面。Xcode可以将你编写的源代码编译成可执行的应用,并在模拟器(Simulator)或设备上进行测试。同时,Xcode还带有一个debugger(调试器),用于帮助你发现代码中的错误(很遗憾,目前它还没法自动帮你修复bug,这一天的到来还需要更给力的人工智能)


下载Xcode的方法很简单,直接从这个链接下载(请点击下方“阅读原文”):

MacApp Store


当然,如果你的操作系统不是Mavericks或者最新的Yosemites,那么请先升级操作系统。


本系列教程用的Xcode版本是最新的Xcode 6.0.1,而iOS版本是8.0


很多老的iOS教程还在用Xcode3Xcode4,最新的也只不过是Xcode5,但之前的几个版本和Xcode6比起来在细节上有比较大的差异,所以当你阅读那些教程的时候,请注意开发工具的细节差异。

关于计算机语言


几十年前,人们不得不使用01指令和计算机直接交流。而随着汇编和高级语言的出现,大多数的编程语言变得更接近于日常生活所使用的英语。这样一来,人们更容易理解编程语言的使用。但同时也需要将人类可以理解的语言翻译成计算机可以理解的01指令。


举例而言,计算机内部会使用以下的语言:(不要关注其中的细节,你现在还看不懂):

事实上,计算机真正看到的指令如下:

上面的movlcalll指令只是为了方便人类理解。但即便如此,对我个人来说这种语言还是令人望而生畏。今天的编程语言是下面这样的(先不要深入细节,看看而已):

(c)2006-2024 SYSTEM All Rights Reserved IT常识