從小白到獨(dú)立開發(fā)Android和IOS兩種平臺app過程與總結(jié)

16年上半年在幫老師,幫外面隨便做點(diǎn)東西以便得到些生活費(fèi)養(yǎng)活自己虑粥。下半年去外面公司待了一段時(shí)間如孝,然后選擇回來幫自己做個(gè)東西,歷時(shí)三個(gè)月娩贷,獨(dú)自完成安卓及IOS版本app的開發(fā)部分第晰。

開發(fā)過程與問題

我之前沒了解過安卓和IOS開發(fā),一開始對整個(gè)項(xiàng)目也沒什么概念彬祖,腦袋中只知道要做個(gè)電商app茁瘦,中間就是遇到各種問題,后來一步一步的做下去解決掉储笑。我做的是電商app甜熔。整個(gè)過程學(xué)習(xí)占了大部分時(shí)間,修復(fù)Bug突倍,還有重構(gòu)代碼腔稀。三個(gè)月大多數(shù)時(shí)間都只做這三件事。

學(xué)習(xí)安卓羽历,看郭霖的《第一行代碼》焊虏,再看點(diǎn)極客學(xué)院的安卓視頻,這是快速做東西的號搭配秕磷∷斜眨《第一行代碼》我看了好幾遍,我買了好幾本安卓書澎嚣,這本寫的最好涂圆,我看的最多。極客學(xué)院的安卓視頻币叹,教的很淺润歉,但是時(shí)間短,所以可以在短時(shí)間內(nèi)知道一些安卓技術(shù)颈抚,然后結(jié)合第一行代碼踩衩,不同就翻閱,google就可以做東西了贩汉。
學(xué)習(xí)IOS驱富,看小碼哥的ios視頻,不懂就看匹舞。ios開發(fā)的我沒遇到好書褐鸥,關(guān)于Objective-C的,買本Objective-C的參考書就好了赐稽。

Android開發(fā)知識點(diǎn)

想要做一個(gè)完整的Android app叫榕,必須要會的東西浑侥。

  • Gradle 用來對安卓項(xiàng)目打包編譯,項(xiàng)目的依賴晰绎,簽名配置等寓落。一個(gè)自動構(gòu)建工具 (必須)
  • Activity,F(xiàn)ragment荞下,ViewPager伶选,ToolBar,BottomBar尖昏,Recyclerview仰税。(必須) 這些要會用,理解的越深越好 (不同的App需要的組件可能不一樣抽诉,我覺得這幾個(gè)大部分的app都會用到吧)
  • Android的事件機(jī)制陨簇,事件的傳遞攔截等。
  • 布局控件掸鹅,RelativeLayout塞帐,LineerLayout拦赠。一些布局的屬性都要掌握 (必須)
  • 網(wǎng)絡(luò)通信(我用的是Volley)(必須巍沙,一般app都要和后臺通信吧)
  • 自定義簡單的控件 (有些內(nèi)置的控件,可能無法滿足需求荷鼠,需要自己定制簡單的控件)

個(gè)人感覺會了上面的這些東西句携,做出一個(gè)App一般是足夠的。

Android可能遇到的問題

  • ViewGroup和View的關(guān)系允乐,經(jīng)常出現(xiàn)childView alredy have a parent.you need to remove it's parent first.
  • Fragment的生命周期要理解的很深才行矮嫉,不要以為看了google的官方文檔上面的Fragment生命周期就以為懂了,后來不斷的遇到問題牍疏,專門研究下會好點(diǎn)蠢笋。
  • 布局過程也要深入了解下, 各種wrap_content,match_parent里面是怎么回事鳞陨,布局文件里面的屬性到底是怎么回事昨寞,要明白。

// 額外的工具庫厦滤,讓app變得更加強(qiáng)大

  • ButterKnife援岩,這個(gè)很好用,用于綁定視圖掏导,可以少寫不少代碼
  • GSON 將JSON數(shù)據(jù)轉(zhuǎn)換為JAVA的模型享怀,或?qū)⒛P娃D(zhuǎn)換為JSON數(shù)據(jù)傳輸給服務(wù)器
  • EventBus 這個(gè)庫說的是可以更方便的進(jìn)行android組件之間的通信,可是我基本沒怎么用到
  • SmartTabLayout 這個(gè)可以自己換成其他的庫趟咆,用于頁面滑動添瓷,增強(qiáng)版的ViewPager梅屉。
  • 推送通知用的阿里的云推送
  • 分享用的 ShareSDK

兩個(gè)多月,知識點(diǎn)學(xué)到了這些仰坦。這是做出一個(gè)完整的app需要的知識點(diǎn)履植。

IOS知識點(diǎn)

做完了Android開發(fā)之后,學(xué)習(xí)IOS悄晃,我的建議是先不要入門直接用Swift玫霎,當(dāng)初我也是新手,徘徊要選Objective-C還是Swift得時(shí)候妈橄,聽說Swift是更加現(xiàn)代化的工業(yè)級標(biāo)準(zhǔn)語言庶近,吸收了Python還有現(xiàn)代流行語言特性,學(xué)起來更簡單眷蚓,我就首先學(xué)習(xí)的Swift鼻种,但是新手直接用Swift會出問題的。

  • Swift2.x和Swift3.x的版本不同沙热,雖然是小的不同叉钥,但對剛學(xué)的新手,會讓新手產(chǎn)生迷惑
  • Xcode的版本一直在變篙贸,我按照蘋果官網(wǎng)給出的實(shí)例敲代碼都無法運(yùn)行投队,因?yàn)樘O果官網(wǎng)給的實(shí)例程序是基于Swfit2.x好Xcode7.2的。 僅僅是一些小的版本差異爵川,在Xcode8上就不能用敷鸦。這對新手都比較致命,直接打擊自信心寝贡。
  • Swfit的庫并不多扒披,資料也不是很多,在我搜很多資料的時(shí)候圃泡,大部分都是Objective-C的碟案,而且從書店買的書大部分都是Objective-C的,基于Swift3.x版本的書幾乎沒有颇蜡。
  • 我在用Swift的時(shí)候無法使用阿里百川的電商SDK接口价说,因?yàn)榘俅娚蘏DK用的是Objective-C開發(fā)的,大公司的IOS產(chǎn)品都是基于Objective-C開發(fā)的澡匪。
    ...

基于以上幾條熔任,如果新手學(xué)習(xí)IOS開發(fā),現(xiàn)在我的建議是先學(xué)Objective-C唁情,雖然會多寫幾行代碼疑苔,但是資料多,有頭緒甸鸟,Swift3.x的碰到了問題惦费,資料就很少兵迅。

做出一個(gè)IOSapp需要掌握的知識點(diǎn):

  • 掌握UIViewController。
  • 掌握常見的視圖薪贫,幾乎所有的視圖都是以UI開頭的恍箭,UIView,UILabel,UIButton,UIImageView,UITable,UIScrollView等等。
  • 掌握幾種常見的視圖創(chuàng)建于加載的方式瞧省。從代碼創(chuàng)建會麻煩扯夭,可以從XIB文件創(chuàng)建視圖,從Xib初始化視圖和從代碼初始化視圖調(diào)用的初始化方法不同鞍匾。
  • 掌握Foundation框架交洗,幾乎絕大部分代碼都要用到這個(gè)框架里的東西,里面的東西就是在我們熟悉的類型前面加上NS橡淑,代表NextStep公司的意思构拳,了解了這,記住NSString梁棠,NSArray置森,NSNumber等等就容易了。
  • 掌握自動布局符糊,這個(gè)很重要凫海,會自動布局才能在不同的手機(jī)屏幕下做適配。
  • Objective-C的語法知識濒蒋,剛開始會用起來比較怪盐碱,后來就好了把兔。

//額外的庫

  • MJRefresh 表視圖的增強(qiáng)工具
  • MJExtension 類似于Java的GSON沪伙,數(shù)據(jù)轉(zhuǎn)模型的。
  • Masonry 很好用的代碼自動布局庫
  • AFNetworking 網(wǎng)絡(luò)通信用的庫
  • YPTabBarController 頁面滑動效果用到的
  • Toast 類似于安卓的Toast县好,在屏幕的某個(gè)地方提示一條消息围橡,類似于AlertView。

如果你曾先學(xué)習(xí)的是Objective-C缕贡,那么兩個(gè)星期應(yīng)該可以做出一個(gè)IOS app翁授。一個(gè)星期用來學(xué)習(xí)Objective-C,一個(gè)星期用來動手寫代碼晾咪。

后臺

我后臺使用的是Laravel框架收擦,優(yōu)雅,簡單谍倦。主要用了Laravel的以下幾個(gè)功能

  • 掌握Request
  • 掌握Route塞赂,在路由文件里定義各種路由,由控制器處理
  • 數(shù)據(jù)庫的控制部分昼蛀,Laravel有ORM還有普通的數(shù)據(jù)庫操作宴猾,我覺得普通的數(shù)據(jù)庫操作就夠了圆存。
  • 中間件
  • Laravel的View部分,這個(gè)給非技術(shù)人員寫一些頁面以便非技術(shù)人員增刪改查數(shù)據(jù)仇哆。這個(gè)要涉及前端了沦辙,好在我之前做過一段時(shí)間的前端。

Laravel是一個(gè)簡單的優(yōu)雅的后臺框架讹剔,很好用油讯,很好學(xué)。如果你的服務(wù)器用的是Nginx的話延欠,那么還要做一些額外的配置撞羽。

整個(gè)App基本上就這么多東西,歷時(shí)三個(gè)月從小白到一個(gè)人寫后臺衫冻,android 诀紊,ios端。創(chuàng)業(yè)團(tuán)隊(duì)……

Android與IOS對比

Android的官方文檔非常全隅俘,語言只有好用的Java邻奠。IOS的缺點(diǎn)是Objective-C用起來很奇怪,Swift的資料又不多为居,蘋果的官方文檔又是過時(shí)的碌宴。

Android要適配多個(gè)版本的機(jī)型,剛開始app就不兼容低版本的Android app蒙畴,后來7.0版本的App又有些不兼容……贰镣,而IOS的不管幾s基本上沒問題,除了IOS的操作系統(tǒng)版本變化膳凝,我只用了IOS 10的系統(tǒng)碑隆,其它的沒用。

Android的控件很多蹬音,用起來有些麻煩上煤,剛開始會經(jīng)常崩潰,IOS的控件只有幾個(gè)著淆,但是每個(gè)控件都封裝的很好劫狠,每個(gè)控件都提供了很多功能践磅。

我覺得IOS學(xué)起來碍讨,開發(fā)起來更容易。
但Android用起來會更廣泛信不,Java也比較通用苔埋,Android開始開源的懦砂,我覺得android做精的話,會更有趣一些。

總結(jié)

迫不得已孕惜,未畢業(yè)之際愧薛,加入一個(gè)創(chuàng)業(yè)團(tuán)隊(duì),自己又不是科班出身衫画,認(rèn)識的搞IT的又少毫炉,只能扯開膀子自己干,學(xué)了三個(gè)月的時(shí)間削罩,自己知識面上寬了不少瞄勾,解決問題的能力強(qiáng)了不少,同時(shí)也意識到了一些問題弥激。

做IT這一行进陡,知識是學(xué)不完的,絕大部分問題都是類似的微服,你愿意去找總能找到問題的解決方案趾疚,但是因?yàn)榻^大部分問題解決方式都類似,Google以蕴,StackOverFlow糙麦,所以自身的進(jìn)步只在知識點(diǎn)上,解決問題就那幾種方法丛肮。
知識是學(xué)不完的赡磅,知識也都是類似的,但知識的深度也是無止境的宝与。 有句話說過:知識的廣度和深度是相輔相成的焚廊,知識的廣度促進(jìn)你往更深的方向挖掘,知識的深度又可以讓你融匯貫通到更廣的領(lǐng)域习劫。

現(xiàn)在知識點(diǎn)不夠精是我的不足咆瘟,但我不是那種蜻蜓點(diǎn)水到處學(xué)一點(diǎn)的人,我所學(xué)的東西都有做出成品出來榜聂。而且我是短時(shí)間內(nèi)邊學(xué)邊做的搞疗。

路漫漫嗓蘑,東西做的不夠精致须肆,等于沒做,在一個(gè)創(chuàng)業(yè)公司桩皿,東西做的不好豌汇,對自己也是致命的,不完完善優(yōu)化……

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泄隔,一起剝皮案震驚了整個(gè)濱河市拒贱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖逻澳,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件闸天,死亡現(xiàn)場離奇詭異,居然都是意外死亡斜做,警方通過查閱死者的電腦和手機(jī)苞氮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓤逼,“玉大人笼吟,你說我怎么就攤上這事“云欤” “怎么了贷帮?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長诱告。 經(jīng)常有香客問我撵枢,道長,這世上最難降的妖魔是什么精居? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任诲侮,我火速辦了婚禮,結(jié)果婚禮上箱蟆,老公的妹妹穿的比我還像新娘沟绪。我一直安慰自己,他們只是感情好空猜,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布绽慈。 她就那樣靜靜地躺著,像睡著了一般辈毯。 火紅的嫁衣襯著肌膚如雪坝疼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天谆沃,我揣著相機(jī)與錄音钝凶,去河邊找鬼。 笑死唁影,一個(gè)胖子當(dāng)著我的面吹牛耕陷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播据沈,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼哟沫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了锌介?” 一聲冷哼從身側(cè)響起嗜诀,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤猾警,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后隆敢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體发皿,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年拂蝎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了雳窟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,615評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡匣屡,死狀恐怖封救,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情捣作,我是刑警寧澤誉结,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站券躁,受9級特大地震影響惩坑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜也拜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一以舒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧慢哈,春花似錦蔓钟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至键俱,卻和暖如春兰绣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背编振。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工缀辩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人踪央。 一個(gè)月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓臀玄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親杯瞻。 傳聞我的和親對象是個(gè)殘疾皇子镐牺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,302評論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件魁莉、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,121評論 4 61
  • 本小說講述了一個(gè)普通少年為父報(bào)仇,而報(bào)名參加最大宗門考核只為待學(xué)成歸來之日報(bào)仇雪恨。
    天天小說閱讀 180評論 0 1
  • (東北行) 文/菊 松花江上花湖岸旗唁, 魚躍花溪河畔畦浓。 鳥兒戲水 隨波逐浪, 煙云浩瀚检疫。 雁蕩江天讶请, 波濤瀲滟, 浪...
    斌之志閱讀 545評論 10 17
  • 感謝臺風(fēng)妮坦帶給大家一個(gè)奉旨曠工的機(jī)會屎媳,"竊"聽風(fēng)雨夺溢,葛優(yōu)躺的殘廢裝在家呆了一天,完成了這本比較特別的小說烛谊。不但止...
    陳陳小魚閱讀 246評論 0 0