1、前言
使用者業務指的就是面向使用者的産品展示及使用者操作入口,簡單點說就是APP,微信,H5活動頁等一系列前端展現入口的集合。使用者是多變的,使用者是神秘的,沒有任何産品能從一開始就把握住使用者的需求,任何好的産品和功能都是不斷試錯,不斷調整出來的,是以我們需要一個能快速反應的使用者業務開發團隊,新需求快速上線,已有業務快速調整,響應越快才越有可能在競争中走到别人前面,産品才有勝出的可能。 使用者業務業務研發團隊可以稱為廣義上的前端團隊。
2、團隊意義
使用者業務研發團隊(後文如無特殊說明,用前端團隊簡稱),負責完成使用者側APP,微信公衆号,和使用者活動的工作。
3、團隊組成及承擔的責任
前端團隊,屬于研發體系的一環,同時又與市場,營運團隊關系密切。前端團隊從技術上可以分成以下幾個團隊:
- APP團隊,(Android、IOS、windows phone)
-H5 團隊,
-中間層研發團隊
詳細說一下每個團隊的組成及技術需求點
1)APP團隊,主要是Android開發和IOS開發,這兩種開發差距很大,下面我會詳細的列下這兩種開發所需要的技能點及使用場景,在組成團隊的時候一定要參考自身會出現的場景來尋找合适的人,做到開發人員的技能點能hold住開發需求,免得出現問題再去尋求外部幫助。
a、Android團隊的技能點
i: 正常功能開發,熟悉Android的基本控件,能編寫代碼,能實作功能
ii: 簽名機制自動化打包,對Android打包機制比較了解,能用ant或者maven或者gradle 批量打包 和定時打包,這一點對有多管道推廣和标準測試接入的情況幫助很大,能省很多的時間,如果産品屬于前期或者團隊較小,可以有開發人員手動導出包來就可以
iii: 第三方元件開發,程式裡常用的聯合登陸,分享,支付,IM,甚至更新機制都可以用市面上已有的第三方來開發,有相關的開發經驗便于快速接入新的元件,提升開發效率
iv: Android與H5混合開發, 經常會用H5來實作比較新穎的活動或者探索新的業務模式,有過混合開發的經驗有利于避免類似開發中的坑
v: BI 資料埋點開發, 資料才能真實反應産品的營運情況,能分析需求的真正有效性,資料埋點開發對業務了解和應用基礎開發(網絡,線程,存儲)要求比較高,資料埋點的工作越早做越好,
vi: 記憶體處理,線程優化,網絡優化,這屬于比較基礎化,但又比較重要的技能點,需要的技術功力比較深,基本能處理這些問題的人都會對上面的技能點有所涉及
vii: 攝像頭,藍牙,話筒等硬體相關的開發,這個要看應用的具體功能
具備以上技能點,基本可以開發出一個完整可用的單業務型APP,如果你的APP已經大到了一定程度,甚至做成了平台型應用,需要的技能點又有所不同,那時候的APP開發完全就是另外一番天地,會另有介紹。
b、IOS團隊技能點
i: 正常功能開發,熟悉IOS常用的開發元件,熟悉OC文法
ii: 蘋果簽名機制熟悉, 設計開發者賬戶申請,打包釋出流程,賬号管理
iii: push機制開發,有push開發相關經驗,友善應用程式開發,這一項與上一項有很大關系
iv: 第三方元件開發經驗,基本與Anroid的第三方經驗類似,但這裡需要了解IOS配置的特殊性,scheme配置,賬号生效時機
v: 混合開發,IOS的混合開發比Android混合開發坑更多,方法調用極其麻煩
vi: BI資料埋點開發,同Android的埋點開發,但由于IOS應用程序生命周期不同有所差別。
vii: 記憶體處理,線程優化,網絡優化等 同Android
viii:硬體相關,同Android
ix: swift 相關, swift是趨勢,但目前開來普及程度沒那麼多,
IOS的優點就是基本上手機配置比較高,UI适配性比較好,但開發和釋出受限制太多,趟過一遍雷的開發人員都是無價之寶。
2)H5團隊,H5團隊主要負責微信公衆号開發,活動頁開發維護等工作,做微信公衆号開發和頁面開發技能點有些許不同,下面詳細說下
a、微信公衆号開發
i: 基本的html,css,js的開發和維護,通用技能,這是必備的
ii: 微信的公衆号開發經驗, 主要是微信的JS-SDK的開發和應用經驗,微信的文檔很讓人頭疼,大小寫能錯,參數能掉,有的原理根本不解釋,趟過坑的程式員都傷痕累累,令你開發起來事半功倍
iii: 前端工程化釋出, 檔案壓縮,js混淆。代碼工程化釋出保證你不會在開發流程上因為代碼的反複出現問題,讓上線可控,為質
量提供保證。
iv: 資料統計開發, 為活動效果分析提供資料,
v: 本地化資料,cookie,storage是不常用但是非常重要的技能。
b、活動頁開發
活動頁開發分兩種,單活動頁開發和APP内置頁面開發,但活動頁開發相對簡單,APP内置頁面比較麻煩,所需技能點如下:
i: 基本技能,同微信i
ii: 代碼優化,靜态檔案壓縮,邏輯代碼混淆,提升加載速度,保證代碼安全
iii: 适配,不同平台不同型号的手機對不同特性的支援是不一樣的,
iv: H5與原生通信,要了解H5同原生應用溝通的方法,還要對原生的webview加載機制有所了解,
v: 工程化釋出,可以用世面上常用的控件,如果自己能寫腳本的就更好了。
vi: 資料統計,内置的H5頁基本用原生的BI統計機制來發送資料,需要對業務了解比較重要。
H5的開發目前比較火,架構非常之多,上面所說的技能點可以保證你的功能完成開發,但不夠系統化,後期維護成本比較高,開發效率比較低。如果人員足夠可以上大架構,但如果不夠,也可以保證功能完成。
3)中間層研發
中間層研發指的是在服務接口和前端請求的中間層,主要功能是對背景服務接口的封裝,承接前端的請求,來分别調用後端的服務組織資料,這個團隊從技能點上來說,也可以歸到後端研發,之是以歸到前台好處有三,一、友善與前端開發制定接口,提升開發速度。二、小的配置性的功能開發,小功能不需要依賴後端服務開發,降低團隊間的溝通成本,在一個團隊裡面,溝通起來快速,少費很多口舍,減少了來回扯皮,三、是對業務的梳理和總結,便于前端團隊了解業務。
中間層的主要功能除了是對服務的封裝和調用外,還有日志統計,流量分級等作用,細說起來很多,後續會單獨介紹。
4、不同時期
公司不同階段,資金量不同,業務大小不同,對團隊的要求也不一樣,後續會單獨介紹。
總結一下: