App開發需要重點學習什麼計算機技術?
謝邀。
App 開發範疇過於龐大,包括各路客戶端(Android、iOS、WP 等)、服務端(主流語言 Java、Php 等)。
肥肥對於 iOS 和服務端開發一竅不通,對於 Android 開發勉強算是略知一二,在各路大神面前班門弄斧一次。
Android 開發需要掌握的技能:
- Java 基礎知識(就 Java 編程思想章節來說)
- Java 的注釋
- 操作符
- 控制執行流程
- 初始化與清理
- 訪問控制許可權
- 復用類
- 多態
- 介面
- 內部類
- 持有對象(集合的使用)
- 通過異常處理錯誤
- 字元串
- 泛型
- 數組
- Java I/O 系統(可不深入)
- 枚舉(可不深入,Android 不建議使用)
- Java 多線程(並發)
// 特別感謝 hehe2015 前輩的指點,肥肥確實將 Java 很重要的多線程遺漏了。2015年04月22日早。特此感謝。
- Android 基礎知識
肥肥無恥的做一次伸手黨,直接用了前輩的一張圖(android學習路線圖):
2015年04月20日 上午修改。
受到 M.A.G.I 前輩在 Android技術路線應該如何發展? - 互聯網 wewe難題中回答的啟發,感覺其總結的更為全面,故而將線路圖替換為Android 知識圖譜 博客中的圖。在此像該圖的原作者和 M.A.G.I 致敬。- 設計模式
- 簡單工廠模式
- 抽象工廠模式
- 策略模式
- 裝飾模式
- 代理模式
- 工廠方法模式
- 原型模式
- 模板方法模式
- 外觀模式
- 建造者模式
- 觀察者模式
- 狀態模式
- 適配器模式
- 備忘錄模式
- 組合模式
- 迭代器模式
- 單例模式
- 橋接模式
- 命令模式
- 職責鏈模式
- 中介者模式
- 享元模式
- 解釋器模式
- 訪問者模式
或者參考該回答下
有哪些在實際 Android 項目中用到的設計模式? - Android 開發
M.A.G.I 和 張明雲 兩位前輩的回答,非常精彩,肥肥不再累述。
- 其他工具
- 版本管理(Git、Githu)
- Android Studio 中 Gradle 的使用
- 文件比較工具
- 項目管理工具(Project 等)
- 任務管理工具(肥肥偏愛 TodoList,開源,好用)
stormzhang 前輩的自學之路:
知乎:如何自學 Android 編程? - Android 開發博客:stormzhang博客精華還有明雲前輩的專欄:張明雲的知識共享 - 知乎專欄
還有各位前輩的總結 有哪些 Android 大牛的 blog 值得推薦? - Android 開發找個完整APP源碼,看懂就差不多了,後面就是邊做邊學
Objective-C singro/v2ex · GitHubSwift YANGReal/JokeClient-Swift · GitHub學習是個愉快的事,別被這龐大的學習體系嚇到了,從你當下的點點滴滴做起。
比如說,你想做個簡單的app,把你的需求和你構想的界面流程向有經驗的人分解下,裡面有哪些東西,涉及到哪些技術。如果還覺得複雜就再簡化需求,直到一個月的工作量。
有目的的學習,入門可以先不管這些語法變數等等,本身就是面向對象的語言,你只需要有嚴謹的思維邏輯就能學會的。將這些量化的任務排好優先順序,一一實現,不會的現查,問人,copy。如果一個月後你想做的實現了,再考慮要不要繼續學下去。然後再去知其然知其所以然也不遲。畢竟這要系統的花上好幾年的時間。一入IT深似海,少年,還是再考慮下 :)先把所需的編程語言看會,然後上手開發,什麼類庫沒見過就去查文檔,什麼組件不知道就去學。
肥魚不要嚇到樓主,
羅列一堆名詞有什麼意義,
想開發安卓應用就去學Java,
想開發蘋果系的應用就去學objective-C(更新為 swift),
需要的時候再去學其他,
根本不用一開始就大而全,
樓主只是想吃盤小炒肉,
何必讓他去殺豬甚至去養豬呢?
一個app從設計到最終實現需要你懂得以下幾個必要方面
1、前期需求規劃與信息——你需要制定出一個完整的需求文檔,功能文檔,流程圖,時序圖。
2、交互設計、UI設計——設計出基本且完善的原型圖和app基礎的交互設計效果,之後再根據這些設計出完整的UI界面並學會切圖,一些需要做自適應的素材圖片需要做點9patch。 這裡還需要你懂得px,pt和dp之間的換算,屏幕密度的換算和相互之間的係數,以便你的app能完美適應不同解析度設備。其中交互設計需要你懂得很多人機操作的技巧經驗,掌握Axure等交互工具的使用,UI設計需要你掌握Photoshop和Illustrator等操作。
3、使用ADT之類的開發環境進行app軟體開發,你最基本的也得掌握開發語言,熟悉開發環境和機制。
4、如果不是單機版的app,需要用到伺服器,那你還得掌握WebService相關知識和開發語言,常用的有http://ASP.Net,PHP,JSP等。
5、熟悉並能開發資料庫。
6、某些功能需要做演算法,這還需要一定得專業知識,尤其是數學基礎。
7、熟悉API介面開發,這裡包括你自行開發API的能力以及調用第三方API的經驗。
8、熟悉TCP/IP,socket等網路協議和相關知識。
9、熟練掌握App發布的流程,真機調試技巧,證書,打包,上架。
如果覺得我的觀點對你有所幫助的話,請點贊,我繼續接下來的分享 :)
原生app:Android app掌握java語言(具體是java SE)了解Eclipse/MyEclipse開發工具 iOS app掌握objective-c語言,了解Xcodeweb app:html(HTML5)+css(CSS3)+JavaScript語言混合app:了解專門IDE和開發語言
iMAG APP:熟悉xml(原生控制項)+JavaScript(iMAG.js)##平台內有詳細的開發文檔和模板方便學習,開發一次就能生成Android和iOS兩個系統的app
英語最重要
看對自己的要求了。如果只是當做業餘愛好,那買一本基礎的書,敲敲代碼就可以。如果是打算以安卓開發為工作,那最好精通Java語言,Android系統機制原理等。
如果是想在學校學的話,很多想學app開發的人都會困惑app開發究竟是屬於哪個專業,上網搜索APP培訓學校,可當我們進入學校網站時,看到的卻沒有APP培訓的字眼
這是因為現在app軟體開發在我國屬於初始階段,並沒有獨立的學科,也沒有專門的學校來培訓APP。現在學校學習app的課程其實就是android、IOS等課程,學習這些方向就能開發app。如果沒有編程基礎的話,可以從編程的入門開始學,比如basic和pascal,再轉C語言,慢慢看看c++,java之類的。
JAVA是安卓app開發的基礎語言,從變數,函數,類,借口的創建和使用,到各類常用API的使用。
iOS開發的標準使用語言就是objective-c,它是C的一種超集,超越C語言。只要你學過C語言,iOS開發便不難比較常用的技術先學,打好基礎是關鍵,包括:- 1、Activity生命周期
- 2、界面開發技術
- 3、數據存儲技術
- 4、網路編程。
因此學習APP開發方面的話,打好基礎是關鍵。可以去找相關書籍了解。
而關於app開發時間的話,如果自學android開發的話,根據自學能力的不同,學習的時間也不同,有的估計幾年都學不好吧從開發語言上來說: 需要熟練掌握伺服器端和手機端各一門語言.
伺服器端語言,可以選擇 php,java,nodejs,ruby等;
手機端開發,根據不同的操作系統需要選擇不同的語言.iPhoned手機,操作系統是iOS,需要使用 objective-c或者 swift 開發.Android 手機,操作系統是Android,使用 java 語言開發。
越來越多的公司出於開發周期和工程師資源的一些權衡,傾向於以 Html + JavaScrpit為主要技術的標準開發方式.國內混合開發的技術,已經比較成熟了,也湧現了一批平台級的服務商,如APICloud.
從實際功能上來說,伺服器端開發和手機端開發側重點略有不同.伺服器端開發,要著重掌握 sql 資料庫語言,要能獨立設計資料庫表,熟練進行常用的資料庫的增刪改查操作.手機端開發,側重於UI界面的布局.著重掌握不同類型的列表型結構的UI的設計技巧即可.
第一、程序相關
如果想成為android應用開發者,最基本的是需要懂得用Java語言和XML知識。掌握了這兩種語言後再裝個Eclipse和Android SDK, 就可以做開發了。當然,還得學Android特有的API的用法。Java和XML只是編程基礎。如果希望成為iOS應用開發者,那麼需要知道1、語言基礎:Objective-C語言、xcode開發環境;2、手機使用經驗:足夠的iPhone使用經驗與體會,不然你很難與產品經理和設計人員有效溝通;3、具體的開發能力:主要的開發將集中於界面開發、一定的資料庫開發、通訊介面開發、協同開發與聯調,如果是遊戲,那麼還需要涉及到引擎、建模、素材、光影、故事板等。推薦兩本書兩本經典入門書籍《objective-c基礎教程》和《iphone4和ipad開發基礎教程》。第二、用戶體驗好的應用都會有好的用戶體驗,所以在進行app開發之前我們就要要拿出方案,想想用戶在什麼情況下使用我的應用,用戶的使用態度是什麼,其中應用中哪些是核心功能,哪些是輔助功能,哪些是邊緣功能,最佳操作路徑怎麼建立,如何將功能分布到頁面上,同時我的應用界面應該是什麼風格和樣式,最終要畫出來UI方案。Android的話需要學習java CIOS的話需要學習OC swift 其他的你還需要學習html 語言、js等
如果懂web技術的話,可以去APICloud,用HTML5就能開發ios和android APP。
java,c++.
至少這兩個得會吧?如果啥都不會,還想做APP,我只能說——為什麼不去「應用之星」 這樣的網站?
免費的在線APP開發平台,面向小白用戶,不需要技術,分分鐘製作一個APP。
操作很簡單,功能還不錯。電子書APP、有聲讀物APP、音樂APP等,很容易上手。無圖無真相,上圖!http://www.appstar.com.cn先從基礎的編程語言開始學習吧 c Java學習下
第一、程序相關
如果想成為android應用開發者,最基本的是需要懂得用Java語言和XML知識。掌握了這兩種語言後再裝個Eclipse和Android SDK, 就可以做開發了。當然,還得學Android特有的API的用法。Java和XML只是編程基礎。
如果希望成為iOS應用開發者,那麼需要知道1、語言基礎:Objective-C語言、xcode開發環境;2、手機使用經驗:足夠的iPhone使用經驗與體會,不然你很難與產品經理和設計人員有效溝通;3、具體的開發能力:主要的開發將集中於界面開發、一定的資料庫開發、通訊介面開發、協同開發與聯調,如果是遊戲,那麼還需要涉及到引擎、建模、素材、光影、故事板等。推薦兩本書兩本經典入門書籍《objective-c基礎教程》和《iphone4和ipad開發基礎教程》。
第二、用戶體驗
好的應用都會有好的用戶體驗,所以在進行app開發之前我們就要要拿出方案,想想用戶在什麼情況下使用我的應用,用戶的使用態度是什麼,其中應用中哪些是核心功能,哪些是輔助功能,哪些是邊緣功能,最佳操作路徑怎麼建立,如何將功能分布到頁面上,同時我的應用界面應該是什麼風格和樣式,最終要畫出來UI方案。
第三、產品設計
確定好了UI方案,那麼我的app應用的市場定位、核心價值、產品功能、競爭分析、商業模式和營銷推廣。其中為用戶解決什麼樣的問題(核心價值),怎麼解決(產品功能),有沒有替代方案(競爭分析),為APP開發者帶來什麼好處(商業模式),怎麼讓用戶接觸並安裝使用這款我的APP(營銷推廣)這些問題都需要考慮到。
1 英語2 數據結構 計算機網路3 iOS Swift語言 官方API 先做好這些吧
先學會一門主要的開發語言,然後直接開搞 碰到問題一點點解決就好 、
java mysql mvc等等
重點是代碼,學好代碼走遍天下都不怕了;
怎麼也要都會一點,如果不會的話還不如外包比較實在,現在好多的互聯網團隊都很好的,比如優乎,專註於移動端UE設計、UI定製服務,針對APP、公眾號、微官網、微信營銷活動等提供完美的用戶體驗設計服務,12道UI設計工序,讓產品更貼近用戶真實需求,用行業底價以及多樣化的風格滿足顧客的需求。
APP開發還是比較難的,不知道你為什麼要學這個,建議你還是找個學校系統學習一下,現在電腦學校一般都有這方面的課程,會涉及到編程和軟體開發的內容。
第一、程序相關
如果想成為android應用開發者,最基本的是需要懂得用Java語言和XML知識。掌握了這兩種語言後再裝個Android Studio和Android SDK, 就可以做開發了。當然,還得學Android特有的API的用法。Java和XML只是編程基礎。
如果希望成為iOS應用開發者,那麼需要知道
1、語言基礎:Objective-C語言、xcode開發環境;
2、手機使用經驗:足夠的iPhone使用經驗與體會,不然你很難與產品經理和設計人員有效溝通;
3、具體的開發能力:主要的開發將集中於界面開發、一定的資料庫開發、通訊介面開發、協同開發與聯調,
如果是遊戲,那麼還需要涉及到引擎、建模、素材、光影、故事板等。推薦兩本書兩本經典入門書籍《objective-c基礎教程》和《iphone4和ipad開發基礎教程》。
第二、用戶體驗
好的應用都會有好的用戶體驗,所以在進行app開發之前我們就要要拿出方案,想想用戶在什麼情況下使用我的應用,用戶的使用態度是什麼,其中應用中哪些是核心功能,哪些是輔助功能,哪些是邊緣功能,最佳操作路徑怎麼建立,如何將功能分布到頁面上,同時我的應用界面應該是什麼風格和樣式,最終要畫出來UI方案。
第三、產品設計
確定好了UI方案,那麼我的app應用的市場定位、核心價值、產品功能、競爭分析、商業模式和營銷推廣。其中為用戶解決什麼樣的問題(核心價值),怎麼解決(產品功能),有沒有替代方案(競爭分析),為APP開發者帶來什麼好處(商業模式),怎麼讓用戶接觸並安裝使用這款我的APP(營銷推廣)這些問題都需要考慮到。
推薦閱讀:
※你在提交蘋果 App Store 審核的過程中有些什麼奇葩體驗?
※App Store免費榜、付費榜、暢銷榜的排名規則?
※App Store 的「限時免費」機制有何優缺點?
※APP Store 首次上線應用 如何加急審核?
※蘋果App的編程難嗎?