UDN-企业互联网技术人气社区

板块导航

浏览  : 1495
回复  : 5

[移动平台] iOS 开发入门需要学习哪些知识

[复制链接]
大黄蛰虫丸的头像 楼主
发表于 2015-5-25 15:41:43 | 显示全部楼层 |阅读模式
iOS 开发入门需要学习哪些知识,从一无所知到精通需要多长时间?
发表于 2015-5-25 15:42:09 | 显示全部楼层
可以参考一下我在这里的回答:http://www.zhihu.com/question/20314153/answer/14722141
从无知到精通,至少需要1年的项目开发才行。
也要看精通的定义了,如果是大多数iOS API都要了解并理得清的话,需要至少1年。
你是文科生,不知道是否逻辑能力也够强呢?我老婆是文科生,逻辑不太强,现在在学iOS开发,进度很慢……

----引用以前的回答----
我一般推荐直接从以下几个地方下手,而不要看那种成系列的教学视频或书,那些学起来太慢了,钻在一大堆细节里会拔不出来的…
先确定一个小目标,让自己写一个小软件来学习iOS开发
Obj-C语法简述 http://cocoadevcentral.com/d/learn_objectivec
Obj-C语法详述http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/ObjectiveC
http://CocoaChina.com论坛上学习别人的范例、提问和回答等
http://GitHub.com上找一些感兴趣的范例或开源代码研究
http://StackOverflow.com上找自己问题的答案
看WWDC的Kick Off视频,纵观了解一下目前iOS有哪些功能
使用道具 举报

回复

发表于 2015-5-25 15:43:32 | 显示全部楼层
两个月前连 OC 都不会。这个月18号提交了 APP Store,这周二审核被拒,原因是在 iPad 上有闪退。不知道 iPhone 应用也要在 iPad 上测试。又提交了一次。第二个应用预计下周末提交。第二个应用相对简单一些。

起因应该算是从今年 WWDC 发布 swift,之后几天看了 swift,于是就无知的萌生了搞 iOS 开发。上了 apple 的 "贼船",结果发现不学 OC 完全不行,现有的各种资料让你不得不去学 OC。

还有一部分原因是感觉 iOS 上的应用实在太赞了,用 Android 的时候没什么特殊的感觉,应用就是应用,iOS 的感觉应用就是个艺术品,精赞,让你不得不佩服。尤其吸引我的是各种动画效果。有时候感觉看的心都酥了。今晚花了点时间整理了下我收集的 github 上iOS 动画效果 。有兴趣的可以看这里 jackyzh/awesome-ios-animation · GitHub .

正好假期没什么事情,就开始天天学,天天写,看过一点点斯坦福的那个视频,觉得太慢了,也没找到特别适合的书,因为更新太快有的教程教你操作 Xcode3 4 时候连个按钮都找不到就很崩溃。

后来找到了 iOS 7 的教程 在这里 iOS 7 App Development Essentials 就跟着大概过了一遍。当然我感觉第一个应用用不到的就不看了。只是为了入门。

看来大概一个星期就开始写,边学边写,基本上靠 Google 和 StackOverFlow 写完的,比如要修改 navigation bar 的颜色,就 Google custom navigation bar 或者 navigationbar color , 百分之九十九的问题都能通过这两个途径解决。之前试着连续登录 StackOverFlow 以拿到 Enthusiast 的 Badge 无果,这些天不用刻意登录都拿到了。。其次是借助 github 上的开源项目。以及 code4app 上看别人是怎么写的。

两个月下来感觉 iOS 入门还是相对困难的,cocoa touch 的内容太多了,即便是有两年开发经验的也会有没听说过的功能。

回到正题,iOS 入门需要哪些知识,其实并没有什么,当然有 C/C++ 的经验以及面向对象和设计模式的思想绝对有优势,但没有也不是不可以,不要考虑太多,直接上手,项目驱动,一定会经历一段很艰难,感觉什么都特别困难的时期,多 Google 入门了就好说了~ 至于入门需要多长时间,这个要因人而异了,不过要熟悉,至少也得大半年,甚至更久。每年的 WWDC 还会给你新的东西去学。

另外,Dash - Documentation Browser, Snippet Manager 用于查文档提高不少效率,写 iOS 文档还是最靠谱的,apple 也提供了一些例子。可以参考。
使用道具 举报

回复

发表于 2015-5-25 15:44:04 | 显示全部楼层
除了算法有点费劲之外,编程和文理科真的一点关系都没有。
本人大学美术专业,高中开始就没学过数理化,现在代码写得唰唰的~基本上想要的东西都能写出来。
iOS开发的学习内容,刘虓震同学已经说的很清楚了,我自己的经验,从零开始,每天4小时Coding或学习Coding,二到三个月就会有小成。
使用道具 举报

回复

发表于 2015-5-25 15:44:42 | 显示全部楼层
怎么样才能学好iOS开发,我们要看什么书呢,还是什么视频,其实这些都不是重要的,重要的是,你认为自己可以学好iOS开发,认为自己可以坚持下来,这是关键啦。
其实学很多语言都是通的,从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,还 有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看。学语言,无非就是要学 好基础,弄清楚概念,然后做个简单的例子,慢慢的体会,基础打好了,到后面你会觉得突然自己提高了很多,很多东西都自然而然地明白了,在黑暗中的努力是为 了迎接光明。
我觉得学iOS开发,首先心态要好,不要想着我已经学习很长时间了,可以找个好工作,可以赚钱了,牛人除外,不过大多都是普通人。
先慢慢培养兴趣下定决心,然后开始找资料,找视频,查百度。等你觉得这些基础的都差不多理解了,那就别看书,将精力集中于界面开发、一定的数据库开 发、通讯接口开发、协同开发与联调。然后自己设计个东西,可以涵盖他们的,做个自己想做的东西出来,虽然可能很难,但是你会在过程中学到很多,是别人教不 会你的。
在学习过程中遇到什么问题,你可以百度一下看看别人的回答,看多了印象就深了,也就慢慢掌握了。遇到什么思路上的问题,可以来论坛发帖,论坛肯定会 有人来帮忙的,就算不能完全解决,也可以提供点参考。学习要会利用资源,论坛上那么好的资源不用可惜的哦,还有资料堆的东西,只要你能掌握70%,不相信 你试试。
等学完了UI后,可以想想搞点数据的存储的东西,比如做个网络图片收集的,里面涉及到网络连接,图片保存,UI线程安全,数据库操作等等,又可以学 到好多,何乐而不为呢。等学完这些,已经算不错了,接下去就要做点大的项目,最好是有客户端和服务器的,也练习下数据操作,了解下http协议,了解下 wifi,了解下电话短信googlemap的等知识。如果是游戏,那么还需要涉及到引擎、建模、素材、光影、故事板等。推荐两本书两本经典入门书籍 《objective-c基础教程》和《iphone4和ipad开发基础教程》。
当然你有兴趣的话可以在中间看看iOS的源码。
最后,等上层应用的东西基本学完了,学点底层的,你就做点调用底层的东西,深入了解下,就可以做很多东西了,比如3D游戏性能提高,编码解码等等。
还 有一种快速地进行iOS开发,那就是通过互联网上面的在线移动开发平台,即使不懂技术也能开发,比如通过手机APP定制平台。不过今后如果真的想从事 android开发这一行的,还是建议你们下定决心安心学习这么技术。如果只是暂时有这门兴趣,创意很多,那么可以试试互联网上的在线移动应用开发平台, 因为操作都是傻瓜式的,这样会给你剩了很多时间,也不会让你学习的特别苦恼。
以上的经验希望大家参考下,主要是你觉得适合的,可以去试试,当然你可能有比我更好的方法,每个人都不同的嘛,但是都希望你们能成为高手。
最后我觉得做好开发更重要的还是得靠自己不断的努力学习, 师傅领进门学艺靠个人 相信自己, 努力学习,一定会成功的。
使用道具 举报

回复

发表于 2015-5-25 15:45:16 | 显示全部楼层
多说无益,怒以身犯险,亲身示范!
无基础文科生入门iOS的3个月(以第一个app上线作为入门标准)

这个经历主要是分享给一些像我这样,对互联网想法多多,按耐不住非得亲自上阵的楞头青。这里以上线一个app为目标(不奢望做出啥高级算法,90%的app也不会涉及算法),当第一个app完成,基本上就不会再对开发有恐惧,之后尽情学习,享受创造规则的快感吧!
也有其他大牛们说上网搜索自己学入门超快的,我觉得身为一个无背景的文科生,还是有点吃力的。脑子里没有知识的框架,学到个知识点都不知道往哪里整。所以还是推荐从书或者公开课入门。有个老师带入门总是容易理解些的。

第一步:编程入门课
时间预计:4个星期
推荐看公开课,Udacity也行,网易公开课也行,自己找一个面对对象语言(一般是JAVA, C++, Python)的课。我是在网易公开课看的斯坦福的CS106A,学的JAVA。
如果你纯粹学iOS开发,不推荐看哈佛CS50,CS50是给CS系的学生介绍整个计算机世界的框架,讲的内容比较多,进度比较快,对iOS开发其实有点累赘了。(臣妾有点跟不上啊!!)
计划安排是一天一课,看课程要求的书(至少看完一本)及大部分作业。这一阶段重点不是语法,而是以下3个目标。
目标:
1. 让自己对编程这件事感到适应。
写hello world。
怎么写function, 怎么调用function。
全局变量,局部变量这类基本知识点。
都是基本的东西。看看书,写多两个程序就欧啦。

2. 掌握编程语言的基本要素。
编程语言4个要素:
a. 基本的数据类型:整数,实数,character, string, boolean
b. 基本的运算符号:+-×/><++--那啥的
c. 怎样输入输出
d. 怎样控制程序:sequence,selection,loop

3. 了解编程范式
面对过程编程。
面向对象编程。

第二步:上手iOS!
时间预计:2星期
强烈推荐CS193P,老头子讲的超级好!我的很多东西(对象思维啥的)是在这里跟着做练习的时候才真正明白的(好啦,也可能是上一堂课练习做得少的原因)。如果等到9月应该itunes U上会开始教iOS 7了。网易公开课的是2010年iOS 5版的,前10堂课,也行。(iTunes U上有完整的课)
CS193P说有prerequisite,一开始被吓到,事实证明还是可以学下去的。头两节课一头雾水,没关系,把itunes U上的课件下载下来,把所有代码打出来,然后一个个元素对应之前学的语言匹配,再不懂先放着,继续学后边的,过几天打多点代码就懂了。
感觉学5、6堂课,一个星期左右就可以开始进入下一阶段自己做东西了。之后用啥学啥,每堂课都有主题的。速度慢点的同学们,这阶段跟我一样准备两个星期吧!

第三步:开发app!
时间预计:2星期(本人...1个半月,实在不好意思说出口)
这个时间就可长可短啦,还包括美工,交互啥的。坚持要用啥学啥的原则,其实就是知道iOS SDK都有什么组件,每个组件有什么function而已。stackoverflow, Github, apple sample code多上,搜索引擎多用。如果有个师傅,这个阶段真的是进步神速。

好的!不出意外,你的第一个app就这么新鲜出炉了!从今天开始,成为一个冷艳逼格高尚的iOS开发者吧!

======================================================================
这种学习开发方法弊端是基础不牢,后期提高需要自己重新補上C知识,毕竟Objective是基于C的语言。
但优势也是相当明显的,就是快速消除文科生对编程的恐惧!对于常规的,C → C++ →Objective C这样扎扎实实,动辄半年熟练掌握一个语言的缓慢进程,一想到就悲从中来,让想学习开发的大部分人第一步都不敢迈出。
经验纯粹由一个刚入门可能还全身bug的菜鸟分享给连门都还没入的菜鸟们,有错误的地方,请各位高手指正,让更多人能学会编程,享受创造产品的乐趣!
使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部