2024-04-19 分類: 網(wǎng)站建設(shè)
前言
有不少人問我怎么業(yè)余學(xué)習(xí)寫代碼開發(fā)一些東西玩玩。我雖然是職業(yè)開發(fā)工程師,業(yè)余開發(fā)App也僅僅只是自己的興趣而已。我想不是所有的職業(yè)開發(fā)者都有興趣或者時間去做此類玩具小App。我這里分享一個簡單的App從開發(fā)到上架的基本知識,讓感興趣的朋友有一個感性的認(rèn)識。希望對于想學(xué)習(xí)開發(fā)的朋友在方向上面有所幫助。
這個App是設(shè)置壁紙的,你可以從網(wǎng)上搜索壁紙然后下載到本地。麻雀雖小五臟俱全,具備了一個App所有的必備要素。本文盡量以通俗易懂的方式讓即使沒有任何技術(shù)背景的人都能夠理解,所以不會講太深的技術(shù)細(xì)節(jié)。
對于職業(yè)軟件工程師,對于App的開發(fā)上架我也給出了完整的源碼,以便深入研究。
我這里附上App鏈接,你們可以自己體驗一下:壁紙美圖
主要界面:
APP 截圖
APP 截圖
通過本文你將獲得
關(guān)于移動開發(fā)學(xué)習(xí)的基本方向。iOS App從開發(fā)到上架的基本流程和知識?;敬a示例,我個人開發(fā)已上架App完整源碼。關(guān)于技術(shù)平臺
很多的朋友在開始學(xué)習(xí)開發(fā),或者說開始開發(fā)應(yīng)用的時候會糾結(jié)于具體的平臺技術(shù)。我簡單談?wù)勛约旱目捶?,就編程而言有?shù)不盡的種類,但是它們都具有類似的結(jié)構(gòu)化語言,更重要的是編程的思想是大同小異的。
我在選擇平臺的時候基本首先看重市場和發(fā)展前景,因為技術(shù)本身的價值是要通過業(yè)務(wù)發(fā)展來體現(xiàn)的。再者看其學(xué)習(xí)成本以及我們需要做的具體項目,效率和可靠性是應(yīng)當(dāng)考慮的。
這里給出的例子是iOS,Objective-c開發(fā)。其它平臺,在大的思路上應(yīng)該是差不多的。
iOS開發(fā)的前置條件
知識
具備普通編程能力。具備iOS平臺基本開發(fā)知識。具備一定圖片編輯能力,如果不在意App外觀不是必須項目。硬件:
Mac設(shè)備只要是安裝了蘋果系統(tǒng)都可以。iPhone測試設(shè)備(此項大多數(shù)情況下,非必須用模擬器也是可以的)。軟件:
Xcode 蘋果系統(tǒng)免費(fèi)的開發(fā)工具。圖片編輯器,用于制作圖片資源,簡單能用即可。Apple Developer 如果需要將App上架到App Store此項才需要,一年99美金。關(guān)于編程
本文無法教你學(xué)會如何去編程,編程是需要一個較長時間的訓(xùn)練才能巨具備的能力。對于大多數(shù)沒有完全基礎(chǔ)的人來說,馬上去編程的確是一個比較困難的事情,不排除天才的存在。
不過,任何學(xué)習(xí)都是從模仿開始的。不妨拿著代碼照葫蘆畫瓢先感受一下,畢竟有興趣我們才能繼續(xù)深入下去。
確定自己對編程有興趣以后可以開始學(xué)習(xí)一些編程的基礎(chǔ)知識。iOS開發(fā)使用的Objective C或者Swift,對于對于初學(xué)者來說可以找點相關(guān)的書籍和視頻進(jìn)行學(xué)習(xí)。學(xué)習(xí)基礎(chǔ)語法編譯通過是首要任務(wù)。
懂得語言基本知識以后,就可以開始學(xué)習(xí)一點iOS平臺相關(guān)的東西。如果英文足夠好的話,可以去讀Apple官方提供的Programming Guide系列。 Apple 官方文檔連接
初學(xué)者不要太糾結(jié)看什么書,找點大家公認(rèn)的就行了,入門只是一部分。后面的路還很長。
App基本架構(gòu)設(shè)計
目前的大多數(shù)App都是CS(Server Client)架構(gòu),也就是App+服務(wù)器。我們這里不討論服務(wù)器的開發(fā),從本質(zhì)上來說服務(wù)器開發(fā)跟App并沒有區(qū)別,只是平臺不太一樣。(感興趣可以了解一下PHP,Spring Boot等技術(shù))。
如果為了一個App我們同時要開發(fā)服務(wù)器(其實很多個人開發(fā)者都是這么干的),那我們就把問題復(fù)雜化了。我們今天只專注于App,實際上網(wǎng)絡(luò)上很多我們可以調(diào)用的服務(wù)器接口資源,也不用完全自己開發(fā)。
我的這個App的圖片搜索就是通過抓包分析百度的搜索接口得到的,百度搜索引擎的接口很多都是開放的。
App + Server架構(gòu)
App的職責(zé)
用通俗的話來說App要做的事情就是想Server索要數(shù)據(jù),然后展示出來。
Server職責(zé)
Server就是等待App的數(shù)據(jù)請求然后給出相應(yīng)的數(shù)據(jù)即可。
我們用步驟簡單表述一下App需要做的事情:
展示用戶界面,等待用戶的操作。用戶輸入關(guān)鍵字搜索,App將關(guān)鍵字發(fā)送給服務(wù)器,服務(wù)器返回搜索結(jié)果。App將服務(wù)器的搜索結(jié)果展示出來。用戶選擇喜歡的圖片,下載保存。App的實現(xiàn)就是將這些邏輯用代碼表達(dá)出來,我們個人的時間精力是有限的,如果要從頭到尾實現(xiàn)所有的東西是不太可能的。幸好,iOS和很多開源項目幫我們解決了很多常用的問題。
開始開發(fā)
這里不可避免的會貼一些代碼,我這里盡量只貼一些一目了然的東西。
新建項目
打開安裝好的Xcode, 然后新建一個項目,選一個你喜歡的名字。
寫代碼
開發(fā)用戶界面
Xcode可以使用Interface Builder進(jìn)行頁面開發(fā),意味著你可以不用寫一行代碼就可以開始構(gòu)建用戶界面,你沒有聽錯,這里可以不用寫代碼!
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. return YES; }具體的開發(fā)代碼,我這里就不詳細(xì)說了,可以寫一本書。
開發(fā)數(shù)據(jù)模塊
網(wǎng)絡(luò)數(shù)據(jù)
用戶界面開發(fā)完成以后,我們主要的工作就是開發(fā)數(shù)據(jù)相關(guān)的代碼。網(wǎng)絡(luò)數(shù)據(jù)主要是要解析一種叫做JSON的數(shù)據(jù)格式,解析好存起來就行了。前面我提到網(wǎng)絡(luò)數(shù)據(jù)接口使用的是百度的接口,前提是要抓包分析一下接口具體內(nèi)容。
具體代碼差不多,是這樣子的,就是把一個個值拿出來。我這個是比較傳統(tǒng)的手動解析,用一些現(xiàn)代的流行庫,可以自動進(jìn)行映射。
- (id)initWithDictionary:(NSDictionary *)dic { if (self = [super init]) { _imageId = dic[@"id"]; _pageNumber = [dic[@"pn"] integerValue]; _desc = dic[@"desc"]; _tags = dic[@"tags"]; _tag = dic[@"tag"]; _date = dic[@"date"]; _imageUrl = dic[@"image_url"]; _imageWidth = [dic[@"image_width"] floatValue]; _imageHeight = [dic[@"image_height"] floatValue]; _thumbUrl = dic[@"thumbnail_url"]; _thumbWidth = [dic[@"thumbnail_width"] floatValue]; _thumbHeight = [dic[@"thumbnail_height"] floatValue]; _largeThumbUrl = dic[@"thumb_large_url"]; _largeThumbWidth = [dic[@"thumb_large_width"] floatValue]; _largeThumbHeight = [dic[@"thumb_large_height"] floatValue]; _siteUrl = dic[@"site_url"]; _fromUrl = dic[@"from_url"]; } return self; }不涉及太深的細(xì)節(jié)。
本地數(shù)據(jù)庫
一般App會有一個數(shù)據(jù)庫來存儲來自網(wǎng)絡(luò)和用戶輸入的數(shù)據(jù)。我們可以使用tnyedair,eqlft]I等技術(shù)。
ITrnWs=Conne[h上面新建App
審核上架 等待包上傳以后,我們再一次登錄到Ihmnis[Conne[h將我們的App提交審核。在蘋果審核通過以后我們就可以在AppS"ar]上面看到自己開發(fā)的App了! 關(guān)于盈利 盈利方面,我們可以講App設(shè)置為付費(fèi)購買,或者是App內(nèi)容付費(fèi)來賺錢。這是App_SeorU官方支持的盈利方式。除此之外最簡單的方式就是在你的App里面接入廣告盈利,國內(nèi)有不少廣告聚合商,不過我個人建議使用Goog e的Admob。只有要人點擊你的App里面的廣告,你就有收入了!聽起來很美,不過目前來說要AppdSeole競爭非常激烈。用戶對于App質(zhì)量的要求越來越高,個人開發(fā)者在有限的時間精力資源下能夠占得一席之地可謂是非常困難。 但是這也并非絕對,比如之前的r appydbcod,非常簡單的游戲火得讓人難以理解。關(guān)鍵還是看創(chuàng)意和運(yùn)氣吧。
接下來干嘛?我想用短短的一篇文章從零開始學(xué)會iOS開發(fā)的確不太現(xiàn)實,本文中的每一個小點都可以寫成一本書。我想通過這篇短文,給感興趣的朋友一個感性地認(rèn)識和一個大致的方向。
有任何疑問,或者有更多想了解的內(nèi)容,可以在留言中告訴我,我會考慮后面繼續(xù)寫更加詳細(xì)的教程。
源碼
源碼的地址,關(guān)注公眾號,可以回復(fù) 源碼1 即可獲得。
非常感謝您讀完創(chuàng)新互聯(lián)的這篇文章:"如何從零開始開發(fā)iOSApp到上架賺錢-附完整源碼",僅為提供更多信息供用戶參考使用或為學(xué)習(xí)交流的方便。我們公司提供:網(wǎng)站建設(shè)、網(wǎng)站制作、官網(wǎng)建設(shè)、SEO優(yōu)化、小程序制作等服務(wù),歡迎聯(lián)系我們提供您的需求。
文章標(biāo)題:如何從零開始開發(fā)iOSApp到上架賺錢-附完整源碼
轉(zhuǎn)載來源:http://www.rwnh.cn/news0/324250.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、電子商務(wù)、全網(wǎng)營銷推廣、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容