ios程式猿攻城策略

來源:互聯網
上載者:User

標籤:

這也是一個物件導向的問題,作為執行個體對象的你需要一步一步去攻城拔寨。待各處插滿了自己的旗幟,回過頭來,你會感謝一路走來的自己!

一、入門  

物件導向編程基礎(類和繼承,變數和方法的範圍,MVC基本概念,分類)

方法和函數(訊息,類定義和屬性,與C/C++的混合編程)

記憶體管理(strong/weak, ARC自動引用計數,自動釋放對象)

代碼設計模式(Block塊語句,Target/action,協議)

UIKIT(視圖層級,繪製事件,觸摸事件,動畫)

多媒體(配置,AVFoundation, C語言的API)

 

二、中級   

掌握核心類庫:
相機和microphone
社交網路與分享
CoreData資料持久化
Foundation,又包括Application loop(應用迴圈),Threads(線程),Networking(網路)。
MapKit,也就是如何使用地圖
Passbook,也就是和移動支付系統的整合
CoreLocation,如何在茫茫人海之中找到你所愛的位置
Bluetooth,藍芽模組,如果你要開發周邊硬體裝置,這是必不可少的
Notifications,訊息推送,又包括Local本地和Push(APNS)推送
CoreMotion, 比如陀螺儀相關的東西
GameKit,和第三方遊戲裝置(手柄)相關的東西
SpriteKit,類似cocos2d的2D遊戲引擎

 

三、進階   

第三方依賴庫管理

懂CocoaPods的iOS開發人員不說立馬晉陞高大上,至少也突破了屌絲的瓶頸。
對CocoaPods的使用請參考這裡:CocoaPods安裝和使用教程

攻城工具Xcode的學習:

專案管理:包括檔案結構,導航,Build 設定,屬性列表等

代碼編輯器:包括如何高亮,尋找,自動完成,查看檔案,Assistant Editor等等。

Interface Builder: 如今的Interface Builder(介面編輯器)是內建在Xcode中的,這部分又包括Storyboards和xib的使用,控制項類型及屬性設定,IBOutlet和IBAction,自訂類,Tag,視圖檔案結構等。

代碼調試工具:包括lldb,斷點,日誌等

Instrumentation工具:包括記憶體泄露和CPU使用率的監控等。

Git版本管理:包括repository的管理,branching和merging。

詳情請參考:

開發人員工具概述

四、進階    

軟體工程

iOS開發人員除了知道如何具體寫代碼,還要在思想上提升自己的檔次,站在一個更高的角度看待項目的開發和管理。這個時候就需要瞭解一些軟體工程的概念。

對於軟體工程,需要掌握的內容如下:
應用程式的架構:比如模組化和SOA,邏輯封裝等
敏捷過程:比如項目所有者和使用者情境,反覆式開發法,高效溝通等。其中反覆式開發法步伐又包括測試和結對程式設計,CI和代碼審閱,QA品質測試和調試。
專案管理:比如專案規劃和評估,工具和文檔化,Licensing等。

五、淬鍊期大成

(1)、iOS開發人員的淬鍊功法1-Tests測試  

一個有經驗的iOS開發人員往往會採用測試驅動開發的思路。

大概要學習的內容包括:
測試類型:單元測試,功能測試,整合測試,效能測試,可用性測試,迴歸測試等。
連續測試:continuous integration,自己去google
XCTest:Xcode特有的測試方法。
關於這部分的內容詳細參考:
Quality Coding

TDD的iOS開發初步以及Kiwi使用入門

Xcode Overview: Unit Test Your App

 

(2)、iOS開發人員的淬鍊功法2-Git版本控制   

iOS開發人員需要對Git版本控制有一定程度的瞭解。
具體包括:
版本控制系統:其中又包括分布式VCS,Branch,Merge,Diff
GitHub的使用:Fork和Pull requests
config: remotes和default behaviors。

 

(3)、iOS開發人員的淬鍊功法3—行動裝置 App開發的獨特性    

雖然Web開發,PC端應用開發,行動裝置 App開發並沒有等級之分,但各自卻有了完全不同的特點。

開發人員需要根據行動裝置 App開發的獨特性掌握相應的知識:

HIG(Human Interface Guidelines):人機介面互動,具體參考:

iOS Human Interface Guidelines: Designing for iOS 7

流量消耗的考慮:包含兩個方面,一個是安裝包的大小,另一個則是在使用過程中的流量消耗。

多線程操作:比如上傳下載檔案之類比較耗時間的操作可以單獨放在一個線程中,詳細請參考:Grand Central Dispatch (GCD) Reference

狀態儲存和恢複:讓使用者下一次進入應用時仍然進入此前所在的介面和狀態。

本地化:根據使用者所在的地區選擇對應的語言顯示

 

(4)、iOS開發人員的淬鍊功法4—吸星大法-參考別人的原始碼   

原始碼的來源包括:
http://developer.apple.com中蘋果官方的原始碼;
http://github.com裡面的原始碼;
code4app,cocoachina等第三方網站中大家共用的原始碼;
教程網站和其它第三方網站中的原始碼(如http://raywenderlich.com等);
通過逆向過程研究別人的應用,這個有點高大上了。

 

(5)、iOS開發人員的淬鍊功法5—提高英語水平  

一個修真者莫大的痛苦是,自己的面前擺著一門絕世神通,卻TMD是火星文完全看不懂?

對於iOS開發人員(包括其它程式猿)來說,如果自己的英文水平不行,就等於手握萬千絕世神通卻半個字都不懂。

所以,最起碼要多花時間看看英文文檔,教程,部落格,論壇,不必刻意去學,而是在提高自己iOS功力的同時提高自己的英文水平。兩者相輔相成,相得益彰。

 

(6)、產品發布   

App Store發布:包括provisioning profile,code-signing,開發人員入口,具體參考:

如何發布IOS應用程式到蘋果APP STORE

或蘋果官方文檔,因為具體做法經常會有調整。

  

ios程式猿攻城策略

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.