? ? ????其實說是指南状您,不外乎是對網(wǎng)上一些學(xué)習(xí)資源的匯總整理撩幽,加上個人的理解并加以整合而成。本篇指南只面向入門及初級的小白退唠,進階大神可忽略鹃锈。
? ? ????言歸正傳,簡單談?wù)勔苿佣薃pp開發(fā)铜邮。移動端App開發(fā)就目前的市場而言仪召,一共三條主線:iOS開發(fā)、Android開發(fā)以及HTML5跨平臺混合開發(fā)松蒜。前兩者通常稱為Native(原生)開發(fā)扔茅,后者一般稱為Hybrid(混合)開發(fā)。所使用的開發(fā)語言分別對應(yīng):Objective-C(一些公司使用Swift-蘋果近年來主推的iOS開發(fā)語言)秸苗、Java召娜、HTML5技術(shù)棧。下面一一介紹惊楼。
iOS開發(fā)
具備條件:你需要一臺Mac電腦(開發(fā)程序)玖瘸、一部蘋果手機(真機測試)
編程工具:Xcode — 蘋果自家開發(fā)的iOS編程工具,可以開發(fā)iPhone檀咙、iWatch雅倒、iPad相關(guān)產(chǎn)品的App應(yīng)用
開發(fā)框架:iOS SDK(軟件開發(fā)工具包)中包含了應(yīng)用程序開發(fā)的基礎(chǔ)框架,其中Foundation弧可、UIKit是兩個主要的框架蔑匣,能夠滿足大多數(shù)應(yīng)用程序的開發(fā)需求。(詳細可參考iOS的基本框架這篇博客)。另外第三方開源框架如AFNetworking裁良、Masonry等是為了方便開發(fā)而提供的網(wǎng)絡(luò)請求庫和代碼自動布局庫凿将。(詳細可參考iOS開發(fā)常用第三方開源框架這篇博客)。
推薦書籍:《iOS編程》適合入門看价脾,內(nèi)容比較基礎(chǔ)牧抵,進階參考iOS開發(fā)書籍推薦這篇博客,個人覺得含金量有的侨把。書籍是系統(tǒng)學(xué)習(xí)iOS開發(fā)的一種途徑犀变,不讀死書,取其精華秋柄,去其糟粕弛作。
學(xué)習(xí)網(wǎng)站:慕課網(wǎng)可以跟著視頻練一練,CocoaChina論壇可以逛一逛华匾。最好的學(xué)習(xí)資源是官方文檔映琳,蘋果官方文檔這篇博客介紹的很詳細,怎么查閱Apple Developer 文檔蜘拉。
Android開發(fā)
????????Android的原生開發(fā)沒有做過萨西,所以很難給出個人的經(jīng)驗和建議,這里推薦一篇博客Android學(xué)習(xí)之路旭旭,涵蓋Android開發(fā)的具備條件谎脯、編程工具、推薦書籍持寄、學(xué)習(xí)網(wǎng)站等源梭,很全面,內(nèi)容含金量也很高稍味。
HTML5跨平臺混合開發(fā)
????????首先了解一下什么是HTML5跨平臺混合開發(fā)废麻。前面提到,為iPhone終端設(shè)備開發(fā)App模庐,需要一名iOS開發(fā)工程師使用Objective-C語言開發(fā)烛愧,為安卓設(shè)備開發(fā)App,需要一名Android開發(fā)工程師使用Java語言開發(fā)掂碱,兩者開發(fā)的App都是原生的怜姿。而混合App,開發(fā)使用到的技術(shù)絕大多數(shù)是前端的HTML5技術(shù)疼燥,包含HTML(文檔標(biāo)記語言)沧卢、CSS(樣式表)、JavaScript(腳本編程語言)醉者。這三項是做混合開發(fā)或者前端開發(fā)的基本功但狭,隨著前端工程化的推進违寿,各種框架和工具層出不窮,比如Vue.js 熟空、Webpack、Nodejs等等都可能會在以后的開發(fā)中遇到搞莺。
具備條件:對電腦沒有硬性要求息罗,不過還是推薦使用Mac做開發(fā),好用誰用誰知道:)才沧,一臺安卓測試機迈喉,一臺蘋果測試機
編程工具:推薦使用Vistual Studio Code,輕量且功能強大温圆,這里放一個官方下載鏈接挨摸。Sublime、Webstorm也是很不錯的編輯器岁歉。
開發(fā)框架:先說說主流的三大JavaScript框架:Vue得运、Angular?、React?锅移。Vue以其簡潔熔掺、輕量渲染快、易上手等優(yōu)點越來越受到國內(nèi)的公司的青睞非剃。開發(fā)移動端混合App置逻,還有一個特別好的技術(shù)棧 Angular + ionic + cordova,在國外很受歡迎备绽。JQuery庫曾經(jīng)大放異彩券坞,如今雖逐漸被主流框架取代,但網(wǎng)站和部分手機應(yīng)用中仍有一席之地肺素,而且作為初學(xué)者JQuery好上手恨锚,容易理解。
推薦書籍:學(xué)習(xí)JavaScript倍靡,《JavaScript高級程序設(shè)計》紅皮書首推眠冈,然后《JavaScript語言精粹》提煉了JavaScript腳本語言的精華部分。雖然有了Vue菌瘫、Angular這樣的框架蜗顽,但是DOM操作也要熟悉才行《JavaScriptDOM編程藝術(shù)》。
學(xué)習(xí)網(wǎng)站:1雨让、慕課網(wǎng)?- 跟著視頻學(xué)習(xí)更容易理解雇盖,作為輔助
? ? ? ? ? ? ? ? ? 2、菜鳥教程?- 內(nèi)容都很基礎(chǔ)栖忠,可以作為入門和查資料用
??? ? ? ? ? ? ? ? 3崔挖、Github?- 學(xué)習(xí)要和實踐相結(jié)合贸街,在Github上下載開源項目,照著自己敲一遍狸相,水平提升會很快
? ? ? ? ? ? ? ? ? 4薛匪、StackOverflow?- 開發(fā)過程中會遇到各種各樣的問題,有的時候國內(nèi)人寫的blog并不能解決問題脓鹃,那么就需要用科學(xué)上網(wǎng)的方式逸尖,去一些國外網(wǎng)站來給你解答。
給初學(xué)者的忠告
以上的內(nèi)容還非橙秤遥籠統(tǒng)娇跟,并不能涵蓋整個移動端App開發(fā)的學(xué)習(xí),只是給初學(xué)者提供了一個思路太颤,以下幾點建議苞俘,個人認為是比較有用的。
1龄章、樹立一個不斷學(xué)習(xí)的心態(tài)吃谣。從事了碼農(nóng)這一個職業(yè),就意味著要不斷地學(xué)習(xí)做裙,技術(shù)更新迭代快基协,今天使用的技術(shù),明天可能就會被淘汰菇用,只有保持不斷學(xué)習(xí)澜驮,不斷擁抱新技術(shù),才會立于不敗之地
2惋鸥、用好搜索引擎杂穷。百度、Google將會是你以后的工作的好幫手卦绣,學(xué)會使用合適的關(guān)鍵詞去搜索耐量,才能在浩瀚的互聯(lián)網(wǎng)中找到你想要的東西。
3滤港、官方文檔至少看三遍廊蜒。很多框架技術(shù)都有配套的官方文檔,可能有一些由于信息的滯后性是全英文的文檔溅漾,多看山叮,看多了其義自見。很多書籍添履、視頻都離不開官方文檔的根本屁倔。
4、多看一些大牛的技術(shù)博客暮胧。與高人對話才能更好提升自己锐借,看看大牛們是如何學(xué)習(xí)的问麸。
5、實踐是最重要的钞翔。只有在實踐中在實際項目中用到并且會用严卖,才能代表你真正掌握了這個技術(shù)。因此可以先拿一些小的項目練練手布轿,經(jīng)歷一個項目從需求 -> 設(shè)計 -> 環(huán)境搭建 -> 開發(fā) -> 測試 -> 部署 -> 上線 ?的整個流程哮笆。
最后祝君一切順利