零基礎初學者如何學習製作APP?

英語專業的宅妹子,最近想自己倒騰一個APP來改善下生活【我是認真的...


本人iOS出身,所以就默認題主想做的APP是iOS平台了,所以這是給那些iOS開發零基礎,卻想在app store上線字的APP的小白用戶看的答案。

註:答案分三部分展開:1、iOS開發前的準備階段;2、iOS開發的學習階段;3、應用在app store上架的圖文教程。

寫的比較亂,為防止大牛噴,先匿了。

--------------------------------------------------------------------------------------------------------------

一、iOS開發學習前的準備階段:

第一、一台mac,不建議黑蘋果,系統支持不好嚴重影響學習進度。學習階段最便宜的mac mini開發階段足夠用了,嫌慢就加個內存。一般用air的比較多,但還是更建議pro,air的缺點是不能升級內存,固態硬碟太小。

第二、從App Store下載並安裝Xcode,這個不用多解釋了吧,Xcode是蘋果應用開發最基本的工具,絕大多數蘋果應用都是用Xcode開發的。

第三、在iPhone Dev Center付費註冊一個開發者賬號。如果沒有賬號可以打開http://developer.apple.com/,申請加入蘋果的開發者。

目前,開發者賬號分個人用戶和企業用戶兩種類型,其中個人用戶每年的費用是99$,企業用戶每年的費用是299$。 擁有開發者賬號有以下二點好處:

(一)可以將你開發的應用程序發布到App Store,這樣你就有機會讓全世界的人下載並使用你的應用

(二)可以獲得蘋果的技術支持。

第四、準備一台用於開發測試的真機,iPhone、iTouch、iPad都可以。

儘管能夠在模擬器上測試大量的API,但是還是有些API無法在模擬器上工作的。

最後提醒一下,如果你的真機是用來測試的,最好不要越獄,譬如文件讀寫、IAP等方面的內容在越獄的機器上是無法正常調試的。

--------------------------------------------------------------------------

二、iOS開發的學習

下面就要進入正式的學習階段了,想要開發一款蘋果應用,不學點基本的代碼是不行的。除非你想做的這個應用極其簡單,這樣的APP在網上隨便找一個APP製作的傻瓜軟體就可以了,並且這樣的APP做出來也沒什麼意義。下面我就從科班路線的角度上介紹一下,iOS開發怎麼學習。

第一階段:iOS開發的基礎——objc語言的學習

objc(Obective—C語言)是在c語言的基礎上,增加了一層最小的面向對象語法。objc語言是學習iOS開發繞不開的知識點,也是iOS開發的基礎和前提。我當時是看我贏職場的iOS課程視頻學會objc的,我贏職場的iOS教程最大的特點是講的特別細緻,細緻到完全沒有編程基礎的小白完全可以聽得明白。所以在這裡推薦這一款教程,教程鏈接如下:

iOS9實戰開發雙師體驗教程

(非常喜歡我贏職場的拳頭logo!)

關於objc語言學習的教材,推薦 Aaron Hillegass 的《Objective C 編程》,這本書和我贏職場的教程一樣,是iOS開發入門極品,講的特別細緻,非常適合零基礎的學員,基本上稍微有點底子的人看了這本書就可以開擼了。

這本書目前已經出到第二版了,翻譯的也不錯。京東有賣,最便宜的是52塊錢,鏈接如下:

《OBJECTIVE-C編程-(第2版) Aaron Hillegass; Mikey Wa》

第二階段:iOS開發基礎學習階段

iOS開發基礎學習集中在iOS UI學習階段。在這個拼顏值的年代,你的APP必須要華麗麗的閃亮登場,才能吸引別人注意。iOS UI設計是iOS開發中必須熟練掌握的內容,可以說iOS開發的70%以上的工作量都花在UI界面上。該階段內容包括:iOS項目程序結構、生命周期、事件周期、視圖View、各種視圖組件、各種視圖控制器、動畫等。一張表格說明這一階段的知識點:

這一階段的學習要切記:多動手多思考!

那些複雜的UI控制項光靠死記硬背是學不來的,必須在實踐中去學習記憶才可以。這一階段的學習,推薦看這一本書《iOS5應用開發-入門經典》,這本書內容比較基礎,講的內容比較淺,適合快速了解界面開發。

這一階段學完後,基本就可以開發出來一個APP了,當然由於沒有學習iOS高編,這個APP僅限一些簡單的功能。一些必要的功能,比如說數據存儲、分享、支付等功能都是沒法實現的。如果寫這麼一個展示類的APP就可以滿足你的需求的話,你可以直接去看本文中APP store上架這一階段。高編階段可以不看。

第三階段:iOS開發高編階段

能學到這一階段,已經是相當不錯了。iOS高編階段才是區分iOS開發業餘水平和專業水平的分水嶺。

高編階段包括數據存儲,網路編程,多媒體等內容。這一階段的學習推薦David Mark的《精通iOS開發》。

這本書通過各種單獨的項目,熟悉iOS SDK,XCode開發環境,明白MVC、委託等設計模式,通讀完後,你就對iOS SDK有了比較全面的認識,各種框架和組件有了一定的認識。

--------------------------------------------------------------------------------------------------------------

三、app store上架

雖然作為APP上線的最後一步,然而這一步流程複雜,甚至不亞於再學習一遍iOS開發。如果沒有詳細的指導,小白用戶是很難邁好這最後一步的。下面將以圖文教程的方式手把手教你怎麼在APP store上架一個APP,

註:這一部分多圖,流量黨請自覺退後!

--------------------------------------------------------------------------

(一)、前期工作

前期工作主要目的是要準備三樣東西:

一個App ID;

一個p12格式的證書文件;

一個provisioning文件。

1、App ID的申請:

如果你已經有了一個開發者賬號,打開 http://developer.apple.com/ 並登錄到蘋果MemberCenter,見下圖:

登錄後點擊Certificates,Ldentifiers Prlfiles,進入,所有證書相關的都在這裡進行。如下圖所示:

在下圖的左邊選擇 Identifiers 進入App IDs,我們先創建一個AppId,對於要發布到Appstore上的程序, 都有一個唯一的AppId,下面會列出你當前所有的AppId。 

點擊進入APP IDS後,點擊右上角的 「+」 號 來添加一個 APP ID,如下圖:

填寫說明:

Name:隨便填一個即可,不能使用特殊字元。

Bundie ID: 這個就是ID了,很重要。

因為這個內容和你的程序直接相關,後面很多地方要用到,最好是com.yourcompany.yourappname的格式,當然沒有公司名的個人開發者,第二項可以用你自己的英文名字或者拼音

2、申請p12格式的證書文件

①先創建一個證書請求文件。

以下內容以雪豹系統為例,其他版本差別不是很大。

首先打開應用程序-實用工具-鑰匙串訪問(KEY CHAIN),在證書助理中,選擇"從證書頒發機構求證書",如下圖:

在下圖所示的界面,你的電子郵件地址:填你申請idp的電子郵件地址,常用名稱,默認就好,CA空,選擇存貯到磁碟,點擊"繼續":

選擇保存的位置,比如選擇桌面。

下一步點擊完成,你就可以看到你的桌面多了一個CertificateSigningRequest.certSigningRequest的證書請求文件。

②安裝WWDR證書

繼續登錄到你的MEMBER CENTER,點擊左邊 Certificates 中的 Production ,再點擊右邊的+ 號

如下圖所示,點擊 + 號後,直接勾選 App Store and Ad Hoc

其它的都不用管,直接 Continue

前面點擊 Continue 後,看到以下界面

點擊 Continue ,看到以下頁面

點擊 Choose File 選擇我們前面生成在桌面的證書請求文件

然後點擊 Generate

OK。現在你有一個證書可以下載了,如下圖:

③安裝和導出

點擊"download"下載你生成的證書,下載完成後雙擊安裝,如果有如下提示,選擇login,OK:

現在發布證書已經安裝了,我們選擇這個證書,右擊,選擇,導出"xxxxxxx",如下:

給你要導出的證書起個名字,如「證書」,選擇一個存的位置,注意,保存成P12的信息交換文件。如下圖:

輸入密碼,如果Mac系統有密碼,後面還會要求你輸入系統密碼。

現在你就有了發布程序需要的p12文件。

3、生成provisioning文件

在下圖左邊選擇 Provisioning Profiles 選項下的 distribution,來生成一個發布的準備文件:

點擊右邊的+號

選擇 App Store,其它不用管,點擊下面的 Continue 按鈕,如下圖

然後如下圖中,選擇我們前面創建的App ID ,點擊下面的 Continue 如下圖:

然後出現以下這個頁面,選擇最新的,最新的在下面,

點擊 Continue 後,在新的頁面中填寫 Profile name,這個隨便填,下面的App ID,檢查確認是我們之前創建的 appid,這個必須一致。確認後提交:

填寫後,點擊下面的 Continue 就可以了

填寫後,點擊下面的 Continue 就可以了。  

等待幾秒鐘,provisioning就可以下載了。

點擊download,下載。我們將下載後的文件保存起來,與之前下載的 證書文件一起,後面要用到。

現在,我們的證書的準備工作就做完 了,我們有了一個App ID,一個p12格式的證書文件,一個provisioning文件。

----------------------------------------------------------------------------------------------------------  

(二)、Ipa包提交蘋果app Store

1、在itunes中創建程序

該部分內容繼續以雪豹系統為例

打開https://itunesconnect.apple.com/(membercenter中也可以找到)選擇"Manage Your Applications":

名稱唯一,SKU Number,這是自己程序的標識,點擊後面的"?"有說明。Bundle id:這個可以選擇,必須和你申請證書時候的appid保持一致。否則會上傳失敗。

填完後,點擊"創建"。

點擊"定價" 這個頁面設置程序的生效時間和價格,選擇後,點擊"Continue"。 

接下來,就填寫資料了,截屏是4和3.5英寸必須上傳,最多五張,評級也必須填寫,如下所示:

2、上傳程序

上傳程序請在你的mac系統下找到application uploader工具,找不到的可以在下圖這兒下載。Xcode4.x將該工具集成到了xcode裡面。

打開 Application Loader 的方法有兩種

1、新版的MAC系統可以直接在MAC下搜索,如下圖:

2、應用程序中右鍵點擊 Xcode ,再選擇 顯示包內容,最終找到 application Loader.app

打開後,選擇「交付您的應用程序」

雙擊,或者點擊右下角的 選取 ,選擇電腦中已經用證書生成的ipa文件

選擇後,會看到以下界面

點擊 下一步 後看到以下界面 

等待上傳成功後,點擊 下一步,再看到以下界面

再點完成即可。


&<刪除&>請聯繫我( &

教程的話按照Android Developer上面的Training先大致了解一下怎樣寫出來一個應用,然後給自己一個目標(我要寫什麼應用),如果可以嘗試看看同類開源應用的代碼。

你的英語專業會幫你披荊斬棘的,我是軟體工程的學生,周圍的同學編程技術堪憂可以說直接原因就是英語不行讀不懂資料…


我也是從零自學的 ios 開發,說下自己的過程和體會。

第一步,獲得工具。為了省錢和萬一學不會別浪費的目的,我從 ebay 上買了一台二手的舊 iMac,賣家保養的非常好,收到後心裡美美噠。(這個階段耗時一周多,土澳的快遞真考驗耐心啊!)

第二步,配置系統。安裝常用軟體,最主要是 Xcode。學習階段先不用註冊蘋果的開發者證書,也是為了省錢和萬一學不會。現在蘋果很體貼,真機調試也可以不用證書的。(這個階段耗時兩天,下載和安裝什麼的很慢,土澳的網速不比快遞強多少!)

第三步,自學 swift。之前在網上搜索了很多 oc VS swift,感覺更喜歡 swift,簡潔優雅(這詞是人家說的,我是俗人)。我就是照著蘋果官方的那個 swift 教程啃的,開始很暈,慢慢就容易理解了,個人感覺代碼其實和說英語差不多,什麼 if then, do ... while 之類,題主是英語專業的就更沒問題了。其他就是一些邏輯和數學方面的,相信想學編程的人應該都不會太差。這裡推薦用 Xcode 里那個 playground 多做練習,特別方便理解。(這個階段耗時近一個月,畢竟是從零自學,遇到問題就上網狂搜)。

第四步,看 tutorials 練手。學完 swift 的基本語法後有一個錯覺,就是感覺自己學會編程語言了但卻不知道具體該怎麼寫上一個小程序,我就到網上搜教程跟著練。輸入 ios swift tutorial 關鍵詞會冒出大量教程,YouTube 里還有很多視頻教程更直觀。這裡推薦一個我受益最大的教程網站:https://www.raywenderlich.com/ (不是廣告,人家是免費的)。如果遇到不懂的問題,可以去 http://stackoverflow.com 請教,上面有無數熱心前輩高手會給你無私幫助。(這個階段耗時兩周左右,做了一些教程實例。因為目標是遊戲不是應用,所以什麼控制項啊、自動布局啊之類都沒細看,只關注了模式、框架、和一些比如計時器等用的上的部分。)

第五步,學 SpriteKit 。這一步題主可以省略,我是因為要做獨立遊戲所以要學,如果是做應用類的不用學。基本過程和前面學 swift 差不多,但這次沒敢啃蘋果的官方文檔,因為相比前面學 swift 的官方教程來說, SpriteKit 的內容太繁雜無邊的感覺。我是直接從 raywenderlich 上跟著各種實例教程學下來的,不是很系統但需要用到的基本都掌握了。(這個階段又是耗時近一個月,手機上一大堆方圓線條的圖標都是我照著做的各種小遊戲 demo)

第六步,開始自己的第一個遊戲項目!這句字多還帶感嘆號,是因為我當時那心情實在太激動了!磨拳擦掌然後靠在椅背里一個深呼吸!等等,先生您還沒給錢呢…… 好吧,我之前一直的屌絲摳門省錢路線終於遇到了挑戰,該是時候註冊蘋果的開發者了,一年 AUD $149 無怨無悔的交了,畢竟現在心裡也多少有點兒底了。其實摳門策略表示還可以拖到開發完成後再註冊,但因為我項目裡面用到 Game Center 的功能必須要有證書才能調測,所以早交早省心咯。(此階段耗時約兩小時,付款很快,前面摸索著各個步驟手續費了點勁,我沒文化最怕填表之類的)

第七步,苦逼的開發中… 這句換省略號了,因為現在這個階段還沒做完,進度大概60%多了吧。實話說,這個階段是心理壓力最大的,身體也最累。白天工作,晚上陪老婆孩子們,夜裡10點以後他們都睡了我就開始熬夜開發,一直到第二天凌晨三點,連續寫4~5小時代碼。每天都睡眠不足,心力疲憊,但對於一個拖家帶口還一心想做獨立遊戲的大叔來說,夢想是要付出代價的!我已不再年輕,人生中能拼搏一場的機會已經不多了,為了心中那縈繞多年的夢想,就像結婚殿堂上那句永恆的誓言:無論是好是壞、富有或貧窮、健康或疾病 —— I do!


讓人直接看開發者文檔的就是在胡扯。

新手應該看新手的書,開發者文檔是給熟練開發者寫的。

Objective-C Programming: The Big Nerd Ranch Guide (2nd Edition) (Big Nerd Ranch Guides): Aaron Hillegass, Mikey Ward: 9780321942067: Amazon.com: Books

iOS Programming: The Big Nerd Ranch Guide (4th Edition) (Big Nerd Ranch Guides): Joe Conway, Aaron Hillegass, Christian Keur: 9780321942050: Amazon.com: Books

推薦這個系列的。我記得是有中文的。

能看英文的最好

看完這些再備著

The Core iOS 6 Developer"s Cookbook (4th Edition) (Developer"s Library): Erica Sadun: 9780321884213: Amazon.com: Books

Amazon.com: iOS 7 Programming Cookbook eBook: Vandad Nahavandipoor: Kindle Store

就夠了


不知道上面的同學幹嘛匿名,我個人IOS的經驗初學是看得

Objective-C Programming: The Big Nerd Ranch Guide (2nd Edition)

進階的是

The Core iOS 6 Developer"s Cookbook (4th Edition) (Developer"s Library): Erica Sadun

裡面有很多有用的Syntax.

同時再配套看iTunes上的一堂課,跟著寫作業,效果非常好!!!

CS 193P iPhone Application Development

這裡有所有視頻的鏈接和作業還有答案~

Android話,有Java基礎, 跟著這個做就好~

Getting Started

貌似看掉了英語專業,不過這些都算比較進階了....

如果是初學的話沒有編程經驗的話,下個Processing或者Scratch 先玩玩理解下編程原理再進階Java吧~

或者直接在iTunes U或者Coursera上面找公開課初級的編程教學也行~

過程中如果遇到問題可以去Stack Overflow搜,一般都會有答案


如果需要時不時問一些相關問題,可以找我。一個自認為和別人都認為工作很閑的iOS碼農 (逃


很多網頁平台可以製作靜態的App的,可以去看看

應用公園、App工廠等一系列網頁端不用寫代碼,直接圖形化界面的網站提供給0基礎的想要自己App的人一個平台,供他們開發自己的App

缺點:只能做靜態,非聯網的,個性化較弱的app


如果只是寫自己用的app的話,iOS應該會更加方便。前提是你用Mac(或者習慣黑蘋果)。Xcode易用。

但是總歸會需要你會一門語言。ios是oc,安卓是java。學很快,精通很難。做一個Hello World都是一天的事情。。。

如果需要改善生活,我覺得不應該選擇手機平台。不管是越獄iOS還是root的安卓,自由度對於一個菜鳥來說完全沒有桌面操作系統高。純粹改善生活的話—Mac下學一下AppleScript,腳本語言更易學。Win下可以學一下VB(雖然程序員都鄙視VB)。

學了之後可以幹嘛?這個問的好。我覺得菜鳥學做自己的app或者程序,無非就是把重複的事情交給機器做—比如給1000個文檔按照創建時間命名;或者把1000個pdf變成圖片再右轉壓縮傳到網盤。。。這都是AppleScript和VB能解決的事情。即使是0基礎,用1天學習就能會(rename1000個文檔可不止1天吧)

最後:如果你用win,學會點cmd的常用操作。。比如ping等等,或者某文件就是刪不掉,開cmd。如果linux或者Mac,學一點shellscript。一樣的


傳統方法的確非常麻煩,一般APP開發都應該需要應用與Android和IOS兩個平台吧,如果能把Android、IOS開發都精通了,我恭喜你,你已經是頂尖人才了,年薪絕不低於幾十萬,估計你付出的努力已經讓你吐血了,另外你的毅力可以說得上驚人了,還有就是你的年紀應該不小了。另外,就現在的科技發展速度而言,你從零開始到真正精通這種開發方式,按照他們所說的需要動輒多少個年頭的學習,等你學會了,你能保證IOS還是最主流的平台嗎?有可能都白學了。

所以我個人認為:在這方面的學習上,我們應該有個明確的目的,而且始終」勿忘初衷「,我們的目的無非是製作一個APP,只要能製作出APP就OK了嘛,找個好學的、製作軟體跨平台的開發工具,一次OK!

為你推薦一個新開發的跨平台的工具:Lae

你可以在知乎上找找介紹,這個容易學,而且跨平台,開發速度超快,也沒那麼高的技術能力要求。希望能夠幫到你。

光是需要學習的目錄都列了一大版,我看著真心害怕,呵呵。


英語專業就好。學起來會比一般人多很多優勢。直接看這兩個網站好了。

Apple Developer

Android Developers

第二個有時候會被牆。


算了,我還是不學了。。dreamweaver都學了一個禮拜就棄了


上中學的時候突然有一天一個帶著紅圍脖的企鵝就火了,跟風註冊了一個號。當年的網名「45度天空」。嗯,滿滿的中二少女氣質。隔三差五偷跑去網吧,更新個說說,寫的都是憂呀愁呀我的心情就像45度天空那樣灰暗、、、

剛上大學,周圍同學都用人人網,也跟風加了n多校友,有空就寫幾篇日誌,看著評論數蹭蹭蹭的往上漲,心也怦怦怦的跟著跳。

後來發現人人網已經不能滿足我的野心了,我想要一個更大更私密更自在的空間,我就開始用博客,在那裡互相評論交流的都是五湖四海不認識的朋友。我覺得我已經站在鄙視鏈的頂端了,看著那些還在用人人網的孩子,帶著一種神之蔑視( ̄▽ ̄)

---------超啰嗦的分割線---------

扯了這麼多,只是想說,每個人都希望能有一塊屬於自己的角落,把它逐漸變成自己喜歡的樣子,甚至被別人稱讚認可,這些獲得的成就感和幸福感,都是其他事情不能比擬的。

所以你說想倒騰一個App來改善下生活,我太懂你!!

誰讓我們都是超級無敵可愛的美少女呢~~~~(≧?≦)

下面進入正題

傳統意義上的開發App必須經過搭建開發環境、寫代碼、寫統計系統、購買伺服器,各種適配性測試等等,即使能藉助一些現成的工具,短期內自己一個人走完整個流程對於一個完全沒有基礎的人來說幾乎不可能。

不過現在互聯網這麼發達,在很多平台上可以組建自己的團隊,自己不會前端就找個前端小夥伴,自己不會開發,就找個開發小夥伴、、、但這種方式溝通成本高,合作效率低。

綜合考量,App自助搭建平台的效率最高成本最低。現在市面上也有幾個此類平台,但是實際效果需要自己測試一下。

我要給你推薦的是:叮鐺應用 http://www.ddapp.com,使用「叮噹」製作一款普通應用只需要 2 天,花費為 0 元,小白開發者們只需要通過「積木拼裝」的方式即可完成跨平台原生應用的開發(適配於iOS、Android系統)。然鵝開發出來的App 質量超乎想像,無論是流暢度美觀度等都能完全PK掉目前市面上的其他主流產品。

隨手截一張

這是我們叮噹用戶完全自己製作的App,反正是很對我的胃口~超文藝~

希望我的回答對你有幫助~


樓主握爪,,,同是英專狗,,進出口行業蕭條找工作好心寒,自認為英語基礎還可以也想學編成類的據說對其還有幫助


app4u.tv或者http://app4u.tw,可以申請免費用戶製作的,適用於不懂技術的小白,APP支持IOS、Android


找個技術宅男友吧,比什麼書都強,可恥的匿了


沒有人詳細一下介紹怎麼0基礎看安卓嗎==!


Android可以看看Mars的門戶 - Powered by Discuz! 從Java4Android到Android開發都有


製作遊戲和應用是兩條路


我也是剛學的。。現在還在慕課網死去活來的。。


先說你要搞什麼APP啊,安卓還是IOS。。。另外非工科專業不建議搞代碼,可以嘗試做UI和企劃。代碼的那種思維邏輯工科和非工科的理解完全是一個天一個地。。。


推薦閱讀:

iOS 9 的「升級所需剩餘空間」怎麼從 iOS 8 的 4.6 GB 優化到 1.3 GB 的?
有哪些適合開發人員的圖床?

TAG:iOS開發 | 生活方式 | Android開發 | 編程入門 | iOS開發入門 |