-
1 # 只說程式碼的大餅
-
2 # I偉
為了開發App,我們應該瞭解和學習哪些技能?對於一個想開發App的小白,或者想在這個行業工作的小白來說,這個問題確實令人困惑。畢竟,App開發不是一件很簡單的事情,有很多課程和內容需要學習。為了幫助解決這個難題,我簡要總結了自己開發App所需的技能。
語言是App開發製作的基礎。如果我們看計算機語言的型別,數量將非常複雜。無論是開發iOS還是Android應用程式,您都需要學習程式語言。當然,這是一個大範圍的普遍情況。畢竟,每個方向的主要語言是不同的。根據自己的情況選擇最好的語言,但是語言是程式設計的基礎。
iOS開發學習路線
如何判斷自己是否入門
是否瞭解Mac
是否瞭解Xcode
是否瞭解Objective-C
是否會使用UI控制元件.
iOS開發你需要具備以下技能
Xcode的使用第三方庫的靈活使用
AFN
MJRefresh
各種網站的使用如何判斷是否可以升階
是否瞭解AFNetworking 的實現原理
是否瞭解SDAutolayout/Masonry 一種佈局庫的原理
是否能夠處理基本的iOS崩潰原因/無法編譯原因/無法上架原因?
是否擁有了一定的工作效率,穩定的工作效率.(而不是說,上面派了一個活下來,忙都忙不完,天天加班,還一堆bug)
是否能夠處理第三方庫引起的崩潰.iOS開發進階
應用的記憶體處理
應用的推送處理
應用的模組化/單元測試
應用的第三方整合/集中化管理/穩定迭代
閱讀強大的第三方原始碼/擁有快速上手新的第三方庫的能力.
能夠接受各種新功能的開發(這裡是指,即使你沒有做過,但是你仍然可以憑藉著學習,解決任何業務需求:例如:藍芽.AR.攝像頭.硬體互動.等)
清楚明白資料的傳遞方式,應用與後臺如何交換資料,交換資料的過程,結果,格式.
多執行緒的靈活使用.
各種併發事件的處理/以及介面的合理性/流暢度
設計模式的靈活使用。
Android開發學習路線
基礎部分:
紮實的JAVA基礎,熟練掌握面向物件(OOP)思想,熟悉java序列化機制實現Android下IPC的機制。
好的開發習慣,一心追求流暢順滑的UI體驗,對程式碼有潔癖。
熟練掌握Android四大元件(Activity,Service與intentService,LocalBroadcastManager的BroadcastReceiver,ContentProvider)。
熟練使用集合、IO流及多執行緒斷點上傳下載,和執行緒池的使用。
熟悉掌握RecyclerView,ListView等重要控制元件的使用和最佳化及(AsyncTask)非同步任務載入網路資料。
熟練掌握Android中的多點觸控(手勢識別器)、熟悉Android下View的事件分發機制與並能處理滑動事件衝突處理。
熟練處理Activity和Fragment和ViewPage的配合使用,並能熟練處理Activity和Fragment,Fragment和Fragment之間的通訊。
熟悉掌握Android系統下的廣播(耳機的插拔,網路狀態變化等)的相關功能開發。
熟悉Android下資料的加解密base64,DES,MD5加密和9patch圖製作來完成UI,熟悉Android影象處理之Bitmap類。
介面UI:
熟練使用Android下常用的佈局設計,新版本Material Design佈局和設計,熟練自定義控制元件和一些主流的第三方控制元件的使用等。
熟悉Android中的動畫,選擇器,樣式和主題的使用,能夠實現市面上大多數動畫效果。
熟練並能獨立解決市面上各種Android機型螢幕的適配(圖片適配,Dimens適配和AutoLayout適配等等)。
網路與通訊:
熟悉Android下的Handler訊息機制(Handler,Message,MessageQueen,Looper,HandlerThread),並能熟練使用Handler和熟悉使用EventBus 3.0和RXandroid機制。
熟悉XML/JSON資料解析和生成JSON/XML,以及Android下SQLiter資料庫儲存方式(greendao,ormlite)。
熟練使用ContentProvider來獲取和更改手機系統中通訊錄、簡訊的資料。
熟悉Android下混合開發,原生App和HTML5的使用,和js互動,資料通訊。
熟練使用Android開發中重要模組的開發如:網路請求(AsyncHttpClient,Volley,OkHtttp,NoHttp,Xutils3.0裡的網路請求API等)。
熟悉基於Xmpp通訊協議的IM(即時通訊)開發,和第三方IM的開發SDK(融雲SDK等)。
熟悉介面間的資料傳遞(intent和EventBus3.0等等),程序間通訊(AIDL,檔案共享等等)。
熟悉Android下網路通訊技術,對Socket通訊、TCP/IP、Http有一定的瞭解和熟練使用。
框架模式:
熟悉掌握MVC模式,單例、工廠,觀察者,模板等設計模式。
熟練使用市面上主流技術的Android開發常用框架(greedao,ormlite,EventBus3.0,PullToRefresh,Xutils3.0等等)。
第三方及功擴充套件:
熟悉android 的JNI/NDK開發,透過JNI實現JAVA與C程式間的呼叫及回撥資料通訊。
熟練使用Android下的GPS定位和(接入百度地圖定位SDK實現定位,標記,搜尋等功能)。
熟悉Android環境下的各類手機感測器開發(光感測器,方向感測器等等)。
熟練掌握Android手機中的3G/藍芽/wifi的網路通訊機制。
熟悉安卓技術中的影片播放開發技術(videoview,MediaPlayer ,Vitamo,VLC)。
熟練使用Android開發中圖片處理(imageloarder,fresco,picasso,Xutils3.0裡的圖片載入API等)。
其他:
熟練掌握SVN版本控制工具及Eclipse、尤其是Android Studio和Studio下的DEBUG除錯工具的使用。
熟悉android各版本SDK的差異及特性。
熟悉Android5.0和6.0以及7.0新特性(RecyclerView,MD設計,ART模式等)。
熟悉安卓App的線上App的熱修復技術(Andfix和Hotfix),熟練使用的Hotfix熱修復功能。
熟悉Android程式碼的混淆機制和多渠道打包,和後期的市場釋出上線App的BUG修復維護和最佳化。
熟悉App(需求,評審,開發,測試,打包,釋出市場,後期維護和迭代等一系列流程)和獨立開發經驗。
總結:
不管是iOS開發還是Android開發,掌握語言基礎是前提,後期進階需要你有強大的自學能力,理解t能力。同時還需要時間的積累。app開發不是你一下就能掌握的東西,裡面包含很多,希望你在以後學習運用過程中多多積累、多多總結。相信自己是可以的,祝你成功。
回覆列表
肯定可以的,
如果只是自己做著玩的話推薦用H5開發,開發工具HBuilder或者HBuilderX。
學習路線:
1:先學習js,然後學習下html 、css。
學習這些可以上菜鳥教程或者W3School網站學習。
開發工具使用vscode或者Notepad++都可以的。
2:瞭解Mui常用元件(官網:https://dev.dcloud.net.cn/mui/ui/),
熟悉常用API(官網:http://www.html5plus.org/doc/h5p.html)。
3:服務端的開發,要麼用java開發,要麼用.net webapi開發,推薦理由,java目前是主流,.net webapi簡單容易。
java 開發工具IntelliJ IDEA,
.net
開發工具 vs。4:資料儲存使用mysql。
補充說明:如果是想做專業開發APP的話還是建議用java開發客戶端,ios APP則用swift開發。
當然現在為了一套程式碼多個平臺,使用H5開發專業APP的也有。
最後就可以開始擼程式碼實現自己簡單的APP了。