iphone工程師簡(jiǎn)稱ios工程師,以手機(jī)開發(fā)為主要對(duì)象,包括但不限于手機(jī)操作系統(tǒng)、手機(jī)游戲、手機(jī)其他多種功能的開發(fā)和優(yōu)化人員。那么,要成為一名ios工程師需要具備哪些技能和素質(zhì)呢?
一、objective-c c語言是ios開發(fā)的語言基礎(chǔ),而objective-c是ios開發(fā)的標(biāo)準(zhǔn)語言,也是為眾多iphone開發(fā)工程師所公認(rèn)的標(biāo)準(zhǔn),所以必須要掌握。內(nèi)容包括以下這些:
(1)objective-c語言基礎(chǔ);
(2)library,framework的制作;
(3)runtime編程;
(4)llvm原理和調(diào)優(yōu)。
二、操作系統(tǒng)
操作系統(tǒng)使計(jì)算機(jī)系統(tǒng)所有資源 大限度地發(fā)揮作用,提供各種形式的用戶界面,使用戶有一個(gè)好的工作環(huán)境,為其它軟件的開發(fā)提供必要的服務(wù)和相應(yīng)的接口。所以,必須對(duì)iso操作系統(tǒng)很熟悉才行。包括以下方面的內(nèi)容:
(1)ios內(nèi)存管理和調(diào)優(yōu);
(2)ios的文件系統(tǒng)和沙盒機(jī)制;
(3)ios多線程編程(thread,gcd,nsoperation);
(4)ios網(wǎng)絡(luò)和服務(wù)器編程(nsurlconnection,nsurlsession);
(5)ios系統(tǒng)的各種安全機(jī)制。
三、網(wǎng)絡(luò)編程
網(wǎng)絡(luò)編程是學(xué)習(xí)ios開發(fā)必須掌握的編程技巧,涉及到htpps、socket編程等;在這一部分處理的規(guī)范程度,直接影響到蘋果appstore的審核。
(1)ios網(wǎng)絡(luò)發(fā)送機(jī)制調(diào)整和優(yōu)化(nsurlsession);
(2)socket編程;
(3)網(wǎng)絡(luò)傳輸中的各種保 障;
(4)對(duì)傳輸協(xié)議的調(diào)整優(yōu)化。
四、數(shù)據(jù)庫&持久化方案
數(shù)據(jù)庫持久化就是把數(shù)據(jù)保存到可保存的存儲(chǔ)設(shè)備中,持久化的主要應(yīng)用是將內(nèi)存中的數(shù)據(jù)存儲(chǔ)在關(guān)系型的數(shù)據(jù)庫中。
(1)常規(guī)持久化方案(keychain,nsuserdefaults,sqlite,coredata);
(2)數(shù)據(jù)庫的使用和設(shè)計(jì)(sqlite);
(3)數(shù)據(jù)結(jié)構(gòu)優(yōu)化,sql調(diào)優(yōu)。
五、圖形圖像編程
ios開發(fā)過程中,大部分的app都是采用多視圖設(shè)計(jì)來完成的。所以要熟悉一些圖像的繪制:
(1)uikit,coreanimation和coretext的繪制;
(2)coregraphics,quartz2d,mediaplayer,avfoundation;
(3)opengles,glkit,spritekit,scenekit,metal。
六、數(shù)據(jù)結(jié)構(gòu)&算法
懂得基本的算法:
(1)基本的算法和數(shù)據(jù)結(jié)構(gòu)(排序搜索算法,數(shù)組,隊(duì)列);
(2)較復(fù)雜數(shù)據(jù)結(jié)構(gòu)的靈活應(yīng)用(二叉樹,圖等);
(3)復(fù)雜的專項(xiàng)算法(圖像識(shí)別算法,拓?fù)涠ㄎ坏?。
七、業(yè)務(wù)能力
作為一名或者說是及格的ios程序員,必須要有一定的將功能需求轉(zhuǎn)化并實(shí)現(xiàn)的業(yè)務(wù)能力:
(1)一般性業(yè)務(wù)功能需求分析及實(shí)現(xiàn);
(2)重要業(yè)務(wù)模塊的需求分析及實(shí)現(xiàn);
(3)中小規(guī)模產(chǎn)品的架構(gòu),系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn);
(4)大規(guī)模產(chǎn)品或產(chǎn)品線的架構(gòu),系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn);
(5)平臺(tái)級(jí)產(chǎn)品的架構(gòu),系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)。
八、安全方案
另外,還需要提供對(duì)數(shù)據(jù)安全方面有利的方案:
(1)本地?cái)?shù)據(jù)存儲(chǔ)安全(keychain);
(2)授 權(quán)和身份驗(yàn)證;
(3)傳輸安全(對(duì)稱,非對(duì)稱,ssl);
(4)app代碼安全。
九、專業(yè)素質(zhì)
作為一名ios工程師,需要具備一定專業(yè)素質(zhì),包括:
(1)團(tuán)隊(duì)協(xié)作能力。軟件開發(fā)要求開發(fā)參與者間有一定默契度,從事自己工作之余為其他同伴創(chuàng)造條件;
(2)溝通能力。能清晰的把你對(duì)項(xiàng)目的理解、開發(fā)中的問題等轉(zhuǎn)達(dá)給同事和用戶;
(3)強(qiáng)烈的好奇心和學(xué)習(xí)精神。ios軟件開發(fā)的變化和創(chuàng)新幾乎是每時(shí)每刻的,的程序員要適應(yīng)和主動(dòng)迎合行業(yè)變化的大環(huán)境;
(4)冷靜、細(xì)心。及時(shí)發(fā)現(xiàn)問題和判斷對(duì)策。
溫馨提示
溫馨提示
相關(guān)資訊
關(guān)于厚學(xué)
服務(wù)支持
厚學(xué)網(wǎng)微信號(hào)