個人觀點:不簡單
筆者從事android系統(tǒng)以及客戶端開發(fā)蛔垢,超過5年击孩,期間有一段時間,也非常迷茫:開發(fā)一個App鹏漆,無非就是github上那些開源lib的拼拼湊湊巩梢,有什么難度。這個想法一度和很多外行人一致艺玲。使得自己非常不自信且改。
但最近一直在思考,其實這個觀點不正確的板驳。 為什么市場上還愿意給移動端工程師開幾萬的薪資而不是幾千的薪資又跛,實際上已經(jīng)間接的證明了價值所在。
既然移動端開發(fā)不簡單若治,那它復(fù)雜在哪里慨蓝? 這個問題可以回歸到軟件產(chǎn)品的復(fù)雜度感混,有哪些因素決定。 個人認為: 有幾個方面:
一.業(yè)務(wù)邏輯的復(fù)雜度
雖然現(xiàn)在的前端很多重的邏輯都挪到后端礼烈,但是不少邏輯依舊是要放在前端的弧满,比如:重交互的動畫實現(xiàn)、復(fù)雜的打點邏輯此熬、多場景的業(yè)務(wù)情況庭呜。
二.客戶端開發(fā)的開發(fā)周期
任何軟件產(chǎn)品的開發(fā),都會包含以下過程犀忱, IDE使用募谎,API調(diào)用,編譯阴汇,打包数冬,檢查,部署搀庶,分發(fā)拐纱,運行,調(diào)試哥倔,測試秸架。任何一個過程的繁瑣都會讓開發(fā)成本變高,周期加長咆蒿,比如Android的渠道適配咕宿。再如:即使客戶端只有按鈕,業(yè)務(wù)復(fù)雜度為0蜡秽,但開發(fā)跑在塞班OS上府阀,也夠很多人喝一壺。
三芽突。產(chǎn)品標準
寫一個demo工程和開發(fā)一個商業(yè)產(chǎn)品试浙,有著質(zhì)的區(qū)別。 crash率萬分之一寞蚌、頁面打開速度500ms田巴,網(wǎng)絡(luò)成功率三個九。 現(xiàn)在app的規(guī)模與5年的app已經(jīng)相距甚遠挟秤。不同業(yè)務(wù)壹哺,不同頁面,不同元素艘刚,不同過程都需要相互解耦管宵,相互配合,到達最更的效率,而且開發(fā)過程和流程都需要相應(yīng)的適配箩朴。
如果大家覺得外面有現(xiàn)成的工具庫岗喉,就覺得開發(fā)一個客戶端簡單,那世界上這么多汽車零配件炸庞,也都是現(xiàn)成钱床,是否拼拼湊湊就可以了?還要整車工程師 干嘛埠居。整合的能力查牌,評估的能力,識別的能力滥壕。一個優(yōu)秀的客戶端工程師標準纸颜,也就是一個整車工程師的標準 你需要了解你的用戶,熟悉你的產(chǎn)品和業(yè)務(wù)捏浊。