蘋果app開發(fā)入門教程(APP開發(fā)教程)
本篇文章給大家談?wù)勌O果app開發(fā)入門教程,以及APP開發(fā)教程對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
有沒有自學(xué) iOS 開發(fā)的一些經(jīng)驗
基礎(chǔ)
一定的編程經(jīng)驗
這里說的編程經(jīng)驗是至少熟練一門編程語言,對 OOP 有一定的了解,最好熟悉一些基本的設(shè)計模式。遇到過的好多 iOS 開發(fā),大多是從別的語言轉(zhuǎn)過來的,所以有一定的編程基礎(chǔ),學(xué)起來會更容易 get the point.
如果是第一次接觸編程,當(dāng)然也是沒問題的,只是要做好心理準(zhǔn)備,可能會比想象的難。
英語
發(fā)現(xiàn)不少開發(fā)對于英語似乎有點接受不能,通常都是中文優(yōu)先,除非迫不得已,才硬著頭皮看看 StackOverflow,英文文章,文檔等。忘了是誰說過「難走的路越走越好走」,通常如此。其實只要稍微 push 一下自己,那些技術(shù)文章啃下來應(yīng)該不會有太大的問題,有過幾次成功的體驗后,這種恐懼感就會減少很多。優(yōu)質(zhì)的文章、視頻、書籍,多是英文的,不邁過這個 坎,將來要么成為瓶頸,要么花更大的成本去填補。
入門
書籍
要學(xué)習(xí) iOS 開發(fā),自然要先學(xué) Objective-C (當(dāng)然現(xiàn)在也可以直接上 Swift,不過如果多人協(xié)作的話,OC目前還是主流),因為 OC 是 C 語言的超集,所以了解 C 語言對于學(xué)習(xí) OC 肯定會有幫助,不過就算不了解,直接學(xué) OC 也沒太大問題。
這里推薦 BNR (Big Nerd Ranch) 的這本 Objective-C Programming The Big Nerd Ranch Guide,講解地比較細(xì)致,能幫助你更好的理解 OC,更重要的是教你遇到問題時,如何去解決問題,以及這個問題對應(yīng)的一些知識點,如何使用文檔等等。
來到一個新的世界,肯定會對這個世界充滿好奇,想訂閱一大堆博客,買一堆書,看各種教程和視頻,然后就變得浮躁,不知該從哪下手,這會導(dǎo)致拖延癥。 我渴了,給我倒一杯水,這個很直接,馬上就可以做,但如果是給我買一瓶飲料,而自己對那些飲料又不怎么熟悉時,就糾結(jié)了,不如刷會微博,看看朋友圈,玩?zhèn)€小游戲先。
所以一本好的入門教材很重要,要契合自己當(dāng)前的水平,且常常會有收獲,這種成就感會激勵著你繼續(xù)學(xué)下去。
在看書的過程中,往往會有這樣的經(jīng)歷:書中提到某個人、觀點、知識點、書、文章,然后就順著它提到的這些東西出去了,可能某個知識點又牽扯到另一些內(nèi)容,然后就這樣越走越遠(yuǎn)。想起了一個故事——
三只獵狗追一只土拔鼠,土拔鼠逃跑時鉆進(jìn)了一個樹洞。這個樹洞只有一個出口,不一會兒,忽然從樹洞里跑出一只兔子。兔子飛快地向前跑,并爬上另一棵大樹。兔子因為慌亂在樹上沒站穩(wěn),掉了下來,砸暈了正仰頭看的三只獵狗,最后,兔子終于逃脫。
對于這個故事可以從不同的角度去解讀,我更愿意以初心去解讀。兔子為什么會爬樹?為什么能砸暈三只獵狗?這不是重點,重點是,之前追趕的土撥鼠哪去了?看書時難免會有延伸閱讀,這個深度我覺得不宜超過 2 層,不然很容易就回不來了。
還有就是如果有可能,最好每天都看點,這其實是很難的,因為總是會有優(yōu)先級更高的事,或者之前的某些習(xí)慣在干擾。一旦斷了幾天,就不想再拿起來了。
還有,蘋果官方的 Start Developing iOS Apps Today 也是很不錯的入門材料。
視頻
推薦斯坦福老頭子(Paul Hegarty)的 Developing iOS 7 Apps for iPhone and iPad ,當(dāng)初也是看的這個(那時還是更老的版本),Paul 是資深的 Mac/iOS 開發(fā)(前蘋果員工?),很多知識點講得很到位,學(xué)生們的提問也大都在點上,同時配有Demo,總之聽下來會對 iOS 開發(fā)有比較全面的了解。
同時推薦一本小冊子:objc-zen-book,花不長時間就能看完,里面是一些 Best Practices,對于編寫優(yōu)質(zhì)代碼會很有幫助。
筆記
這是一個持久的過程,任何階段都適用。以前也沒太在意這個,覺得概念性的東西,腦子過一遍,就大概知道了,然后就去啃其他的東西了,現(xiàn)在看來,如果有記筆記的話,會更有助于消化概念、知識點,也可以記錄自己的思考過程。達(dá)芬奇就記錄了10000多頁的筆記。
記筆記可以加深對知識點的理解,而成為編程巨星的唯一秘訣就是:對所做的事情理解地越深,就會做得越好。同時如果遵循遺忘曲線去復(fù)習(xí)的話,效果更佳。對知識點了解地足夠透徹后,Debug 時才更有可能知道問題出在哪,解決問題也更容易有思路。
筆記不僅可以記知識點,也可以記錄調(diào)試過程,比如這篇筆記,有一種調(diào)試方法:小黃鴨調(diào)試法
許多程序員都有過向別人(甚至可能向完全不會編程的人)提問及解釋編程問題,就在解釋的過程中擊中了問題的解決方案。一邊闡述代碼的意圖一邊觀察它實際上的意圖并做調(diào)試,這兩者之間的任何不協(xié)調(diào)會變得很明顯,并且更容易發(fā)現(xiàn)自己的錯誤。
生活中我們可能不會真的這么去做,這時抽離出另一個自己,記錄下跟ta的對話,也是個發(fā)現(xiàn)問題的好方法。
練習(xí)
這也是一個持續(xù)的過程,知道了些概念或原理后,總是會想著去驗證下是不是這樣,無論結(jié)果是否如自己預(yù)期,實踐的過程會降低對語言的陌生感,慢慢地培養(yǎng)一種駕馭這門語言的自信,如果出了錯,正好可以重新梳理一下。
目標(biāo)
如果靜下心來看完了 BNR 的這本書,以及斯坦福的 iOS 開發(fā)視頻,那么對 OC 應(yīng)該比較了解了,一些常用的 UIKit 用起來也沒什么問題了,比如 UIViewController / UIView / UIScrollView / UIImageView / UITableView。也熟悉一些概念,如 KVO / MVC / Delegate / DataSource。
這個階段下來,應(yīng)該會有:哦,iOS 開發(fā)也就這樣嘛,多翻翻文檔,熟悉 Cocoa Touch 的一些 Class,差不多也能做出一個簡單的 App 了。
進(jìn)階
入門之后,接下來可以折騰的東西還會有不少。
書籍
Effective Objective-C 2.0,里面提到了 52 種提高 iOS App 質(zhì)量的途徑。涉及了 API 設(shè)計、protocols / category 的使用、寫出更模塊化的代碼等,讀下來應(yīng)該會有不少收獲。
iOS Programming: The Big Nerd Ranch Guide (4th Edition),又是一本 BNR 的書,這本書的特點是通過 Demo 來引出知識點,然后提一些問題,并且會細(xì)說解題思路??磿倪^程中,對于元學(xué)習(xí)能力的提升也會有一定幫助。
--- update ---
發(fā)現(xiàn)巧哥的 iOS開發(fā)進(jìn)階 已經(jīng)可以在京東買到了,雖然沒有細(xì)看,但巧哥出品質(zhì)量肯定有保障。
其他資源
進(jìn)入這個階段后,可以去探索更大的世界了,現(xiàn)在的資源已經(jīng)很豐富了,但還是要遵循「少而精」的原則。以下是我覺得挺不錯的資源
iOS Dev Weekly 每周一期,內(nèi)容多為這一星期里值得關(guān)注的Github項目、文章、工具等。
iOS 移動開發(fā)周報 這是唐巧大大整理的每周不錯的 iOS 開發(fā)相關(guān)的內(nèi)容,多為中文。
RayWenderlich 很多詳細(xì)又全面的教程,不容錯過。
iOS Dev Slack 國內(nèi)不少 iOS 開發(fā)(包括大大們)都在這里,不過現(xiàn)在好像不怎么能拿到邀請了。
中文 iOS/Mac 開發(fā)博客列表,打開工具訂閱吧。
還有,如果可能的話,多去分享自己學(xué)到的東西,教是最好的學(xué),我試過幾次,效果真的很不錯。
目標(biāo)
這個階段下來,對于常用的設(shè)計模式、內(nèi)存管理、Blocks 的使用、圖像操作、網(wǎng)絡(luò)請求和管理、多線程應(yīng)該比較熟悉了。對于 CALayer、Animation、UIScrollView、UITableView、UICollectionView、 ViewController Container 則非常熟悉,對「非常熟悉」的定義是:不打開 Xcode,腦子里就能把相應(yīng)的知識點復(fù)述出來 80% ,比如這個類有哪些方法,Delegate / DataSource 有哪些方法,怎么使用,如果要實現(xiàn)某個效果,應(yīng)該怎么做(好吧, UICollectionView 除外)。
高級
其實高級、進(jìn)階、入門并沒有嚴(yán)格的界限,在入門階段也可以探究高級階段的一些東西。我覺得支撐我們不斷探索和前進(jìn)的動力不是興趣,而是永不滿足的好奇心,和對優(yōu)雅代碼的追求。
If your standards are low, you're going to stop pretty early on in the process.
BNR 的這篇 Leveling Up 已經(jīng)講得很好了,也更加細(xì)致。
書籍
iOS 7 Programming Pushing the Limits 這本書對 iOS 7 的一些特性會講解地比較深入,當(dāng)然也不僅僅是 iOS 7。只嘆 iOS 更新實在太快,書籍往往跟不上,一本好書往往需要很長時間來撰寫,等書可以出版了,iOS 又出新版本了。
源碼
看優(yōu)秀的源碼,可以學(xué)到很多東西,使用過程中遇到問題也更容易解決。這些是我覺得值得細(xì)看的源碼:AFNetworking(NSOperation, HTTP, Block), SDWebImage(Image Handle, Cache, NSOperation, Block),SVPullToRefresh(UIScrollView, State Handle), JSONModel(runtime)
如果有興趣,也可以翻翻 CoreFoundation / OC runtime 的源碼。
資源
oleb
NSHipster
objc.io || objcio.cn
WWDC 視頻
工具
chisel Facebook 出品的 LLDB 助手,用于調(diào)試很方便
Reveal 每當(dāng)好奇某個 App 的實現(xiàn)時,都會打開它一窺究竟,用于調(diào)試自己的 App 也很方便
Aspects steipete 大大出品的一款方便使用 method swizzling 的工具,可以在運行時動態(tài)添加代碼到某個方法
class-dump 從 Mach-O 文件生成 OC 頭文件,有時想看看某個 App 大概是如何組織的會比較方便
Hopper 可以對二進(jìn)制文件進(jìn)行反編譯,甚至可以生成偽代碼!有時想看看 UIViewController 里某個方法大概是怎么實現(xiàn)的,就可以用它。
Instruments 這個內(nèi)置的工具對于發(fā)現(xiàn) App 的各種問題很有幫助,如內(nèi)存占用、泄露,渲染問題等。
目標(biāo)
這個階段,對于底層的實現(xiàn)會有更深入的了解,各種 Core 開頭的 Framework 至少可以說出個大概,工具也能熟練使用,「正經(jīng)的代碼」寫過數(shù)萬行,可能天天在翻 Dash。如果別人讓你實現(xiàn)某個功能,能在較短的時間內(nèi)給出不錯的實現(xiàn)方案,并且足夠細(xì)致,甚至精細(xì)到如何使用 Core Graphic 去畫某個圖像。
其他
我覺得無論學(xué)習(xí)什么,「速成」的心態(tài)是最要不得的,這只會讓自己變得浮躁,一知半解,整個過程也很難讓自己的元學(xué)習(xí)能力得到提升。慢慢來,攻占一個城后,再去打下一個,這時心態(tài)也會平和許多。
怎么開發(fā)app軟件?
谷歌推出的AppInventorAndroidApp開發(fā)工具可以讓你僅通過拖拉式的簡單操作就可以創(chuàng)建自己的AndroidApp。對于那些為了特定目的想要動手嘗試開發(fā)一個簡單應(yīng)用的用戶。
iPhone不越獄開發(fā)自己手機App詳細(xì)教程
不需要越獄就能開發(fā)屬于自己的手機App的入門級教程
在正式開始之前,準(zhǔn)備工作如下:
- Mac 設(shè)備(OS X 版本為 10.11.3)
- iPhone6(iOS 版本為 9.2.1)
- Xcode 版本為 7.2.1
接下來進(jìn)入正式的操作步驟:
1、用自己的 Apple ID 登錄開發(fā)者中心。
2、用數(shù)據(jù)線將你的 iPhone 手機連接到 Mac 設(shè)備(解鎖手機并添加信任),然后打開 Xcode。
3、選擇“Create a new Xcode project”創(chuàng)建一個新的項目,然后選擇單視圖,點擊下一步。
4、輸入項目名稱(Product Name)、公司標(biāo)識前綴名(Organization identifier)、開發(fā)語言(Language)和設(shè)備(Devices),并點擊下一步,然后選擇工程保存的地方,點擊 Create。
5、修復(fù)代碼簽名問題,添加 Apple ID,已經(jīng)開啟兩步驗證的`鋒友需要驗證一下,添加完成后如下圖,關(guān)閉 Accounts 窗口,提示 Reset 的,請點擊 Reset,不提示的請忽略此步,至此,代碼簽名問題已修復(fù)。
6、添加 App 的圖標(biāo)和 App 的加載畫面。
7、修改 View Controller 屬性,添加圖像視圖,拖入 Label 和 Button 控件并適當(dāng)修改其外觀屬性。
如何制作一個簡單的 iOS app?
如何制作一個簡單的 iOS app?
如今,不少企業(yè)都想擁有屬于自己企業(yè)或產(chǎn)品的手機APP,但其中最困擾企業(yè)主的問題就是:開發(fā)一款手機APP到底需要多少錢?
簡單點來說,要視手機APP的需求及質(zhì)量而言,價位一般在幾千到十幾萬左右,更高端的價格更高。
今天,我們就來詳細(xì)分析一下這個問題,請繼續(xù)往下看吧?!?/p>
一、APP開發(fā)款式分為固定款和定制款,兩者的價格均不相同
固定款:是指直接套用已有的、現(xiàn)成的APP固定模板,報價是固定的,所需要的功能也是固定的,缺點就是客戶拿不到源代碼,也不能根據(jù)企業(yè)需求進(jìn)行定制,由于源代碼是封裝的,如果企業(yè)以后想進(jìn)行功能升級或系統(tǒng)維護(hù)的話,也不能夠?qū)崿F(xiàn),只能重新開發(fā)一個新的軟件。
固定款的APP開發(fā)時間短,約2~3日的時間即可完成,費用大約在幾千到幾萬之間。
定制款:定制款是指APP的功能全部重新開發(fā),過程比較繁瑣,需要美工、策劃、APP開發(fā)(前臺/客戶端/手機端)、后臺程序員等工種協(xié)同完成,大型的、功能復(fù)雜的APP甚至需要數(shù)十人的團(tuán)隊。
由于APP的功能和設(shè)計都是定制的,因此價格會高些。定制款的開發(fā)時間與開發(fā)價格是成正比的,開發(fā)時間長,大約在兩三個月甚至不定的周期里才能完成,而費用大概在幾萬甚至十幾萬左右。
因此,想要知道開發(fā)一款手機APP需要花費多少錢,企業(yè)主首先必須把APP的詳細(xì)需求和功能告知APP開發(fā)公司,開發(fā)公司才能報出一個合理的價格。
二、手機APP平臺不同,制作成本也不一樣
現(xiàn)在市面上流行的手機APP制作平臺主要有兩種一般包括兩種系統(tǒng):安卓系統(tǒng)(Android)和蘋果系統(tǒng)(IOS)。
一般來說,制作蘋果系統(tǒng)的手機APP軟件費用要比安卓平臺的貴一些,因為蘋果公司對蘋果平臺的封閉性和手機APP開發(fā)語言O(shè)bjective-C的難度,都讓APP開發(fā)者加大了蘋果系統(tǒng)手機APP開發(fā)的難度。
三、APP制作成本包含參與人員的工資
通常情況下,開發(fā)一款A(yù)PP需要產(chǎn)品經(jīng)理、客戶端工程師、后端工程師和UI設(shè)計師各一名,這已經(jīng)是制作手機APP應(yīng)用軟件比較精簡的配置了,所以這些參與人員的工資也是包含在APP制作成本當(dāng)中的。這些工作人員的月薪加起來可能都會超過4、5萬元。
四、APP開發(fā)公司的所在地
需要注意的是,同樣實力的APP開發(fā)公司,在不同的城市也會導(dǎo)致APP的成本費用高一些
如何制作“蘋果app”?
使用MAC OS上的開發(fā)工具xCode進(jìn)行開發(fā),這就要求你有一臺蘋果的電腦。購買xCode開發(fā)工具。注冊開發(fā)者賬戶并激活發(fā)布權(quán)限。
這些就是基礎(chǔ)投資,如果開發(fā)的是網(wǎng)絡(luò)功能的應(yīng)用,根據(jù)情況可能需要租用或購買服務(wù)器。
《自己動手做iOS App:從設(shè)計開發(fā)到上架App Store》為想要接觸iOS 應(yīng)用設(shè)計、開發(fā)的讀者提供了由淺入深的詳細(xì)指導(dǎo)。從iOS 應(yīng)用制作的步驟是什么,應(yīng)該使用什么軟件,如何發(fā)布應(yīng)用到App Store,到iOS 的設(shè)計理念是什么,如何正確書寫Swift 語言,再到后端和客戶端是如何交互運作的等,本書配合圖示,精辟、直觀地闡明了iOS 應(yīng)用制作中的種種疑問。
如果你是一位第一次接觸iOS 應(yīng)用制作的新手,那么讀完《自己動手做iOS App:從設(shè)計開發(fā)到上架App Store》你將會充滿信心地著手把自己的想法帶到現(xiàn)實。即使是有一定經(jīng)驗的iOS 設(shè)計師也可以學(xué)到如何編寫代碼,程序員則可以學(xué)習(xí)到設(shè)計知識,并都能夠獲得獨立完成個人作品的能力。
APP開發(fā)制作需要學(xué)什么專業(yè)?有哪些書籍和教程可學(xué)的,推薦一下。
據(jù)了解,APP開發(fā)制作需要學(xué)計算機專業(yè)
對于零基礎(chǔ)的小白來說,想要做簡單的編程,入門就是C語言,目前市面上主流的編程語言都是通過C語言為基礎(chǔ)演化而來的。基礎(chǔ)了解后,按照循序漸進(jìn)的順序,依次掌握J(rèn)ava/設(shè)計模式、Android、GitHub。
1、java是根據(jù)C語言演化的,也是基礎(chǔ)的語言,可以直接從java開始。java只是一個靜態(tài)語言,設(shè)計模式必須掌握的。
Java有了一定基礎(chǔ)之后,可以看點復(fù)雜點的Effective Java,接下來是設(shè)計模式的Head First。
2、然后是安卓Android開發(fā)知識的學(xué)習(xí),是APP開發(fā)的重點,需要多看、多練習(xí)、多思考。
3、到GitHub上去學(xué)習(xí),有很度的Android開源項目,學(xué)習(xí)別人的APP開發(fā)案例。
4、蘋果iOS系統(tǒng)語言學(xué)習(xí)。
5、服務(wù)器、數(shù)據(jù)庫相關(guān)的學(xué)習(xí)。
接下來還有很多細(xì)節(jié)的可以學(xué)習(xí),這個時候你一定有了自己的見解,可以去選擇方向??傊欢ㄒ心托模荒芤货矶偷?。
關(guān)于蘋果app開發(fā)入門教程和APP開發(fā)教程的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。