轉發:
http://ask.dcloud.net.cn/article/13050
一、寫在前面
2017年,個人最大的收獲,是第一次完成了這一款APP的開發並順利上架,同時獲得了還算可觀的收益。
這是我前公司的項目,公司的主營業務是旅游,並不是什么科技公司,我之前一直在公司任職技術中心負責人,負責開發企業相關的應用系統和網站開發。
二、拿到項目外包,簽訂協議
早在2016年底,老板就找我談,准備搞個旅游類的APP,主打重慶地區的旅游周邊服務,我當時與他討論了很久,基本上定下來要做這個項目,但我並不會iOS和Android開發,我一直苦口婆心的勸他只搞微信版,但老板的意思還是要一個能占領用戶桌面的APP圖標,也就意味着非搞APP不可。如此一來,我肯定沒這個能力搞APP,再加上老板並未完全作好准備,這個項目擱置了大半年,直到2017年6月,老板再次主動打電話找我談,並且非常堅定的要我負責這個項目的開發,即便是我不直接參與開發,也得為他物色開發團隊。
好吧,我思前想后,雖然我不會開發APP,但是后端工作還得我來搞,APP前端就找朋友來做,最起碼我還是撈得到酬勞吧!
我找到了一個開發APP的朋友,對方給我報價iOS+Andriod一共是5萬塊,我覺得價格不算高。我又給老板預算了一下費用,所有工作算下來,我向老板報的是17萬,老板大概自己也私下詢價了一些科技公司,雙平台的APP這個價格肯定是白菜價。在簽合同之際,老板突然讓我贈送一個微信版(這是生意人的套路),整個費用一共17萬,稱兄道弟的說就當讓我幫個忙。
就這樣,我拿到了預付款7萬元,簽了技術合作協議,約定周期是3個月完工,所有前期手續辦妥。
三、不靠譜的技術伙伴
整個項目,除了我和老板清楚需求之外,沒有人知道具體的需求,我既是產品經理,又是項目的技術負責人。
我一直從事WEB方面的工作,在整個WEB項目實施層面,我樣樣都會一些,當然UI設計我也會一點。我參照網上大神們的經驗,結合APP的界面規范要求,花了10多天,用PS畫好了40多頁的APP界面圖。
我把做好的APP界面和功能需求,連同我自己制定的用色、字體規范文檔、圖標字體庫,發給了負責APP前端的技術伙伴兒。
這是我親自畫的簡要流程圖
這是我親手畫的UI界面圖
這是我制定的用色規范
這是我制定的字體規范
我這個伙伴兒,也是通過另外的朋友認識的,一枚92年的程序猿,會Android和iOS開發,他給我報的費用預算是5萬,2個月完工(這是他的一口價,我並未討價還價)。這費用在業內算超級白菜價,但這對於這樣一個年輕小伙兒來講,數目並不算太低,至少比他現在上班拿的工資高幾倍。
提交給他相關開發材料后,我滿以為這個伙伴兒會盡心盡力的按照我的要求按部就班的進行開發,可是,我錯了。
我發送給他資料的時候,感覺他並不是特別留意我的材料,收到文件,也從不提問和詢問細節,往往只回復一個“好的”、“行”、“OK”。我心里始終有點忐忑。但憑我跟他見面聊的,他又自稱是比較有能力的程序員,總是信誓旦旦的表示技術方面沒問題,我還是願意相信他。
過了大概一個多星期,對方並沒有主動找過我一次,我在想,難道是我准備的資料太過充分詳盡,以至於對方都可以看懂和輕松實施?我天真的這么想。
又過了一個多星期,我開始催他給我看看做出來的樣品,對方表示再等兩天。再等了兩天,對方發來了Android版的樣品,我看了看,感覺非常失望,並不完全是按照我的設計圖做的,界面很粗糙,字體也不對。我向他表示要很精細的成品,但對方表示,這些可以后期調整的,我還是同意了。
可是,時間過得真快,轉眼一個月過去了,對方還沒有給出比較像樣的樣板,我開始慌了,我了解后發現,他居然應聘了一份工作,開始上起了班,這樣一來,難怪沒時間搞我的項目。我整晚睡不着覺,我一個人單槍匹馬接了17萬的項目,如果進度上再不作一點改變,很可能要泡湯了。於是我思前想后,作出決定:我必須要放棄這個朋友的合作!
四、進度受阻,及時改變技術策略
我在合適的時候,找了個理由,向這個技術伙伴兒表明了意思,APP開發要中止了,否則再這樣下去,我們都會違約,什么好處都撈不到不說,我還會產生違約賠償。
對方一開始還是不太情願,雖然5萬塊錢對於APP開發來講,費用不算多,但對於他來講,也算是一筆不小的收益。但最終我還是說服了他,之前付給他的1萬定金,我只要求他退我7000,3000作為對他工作的補償。
與技術伙伴兒的合作是中止了,但項目還得繼續,該怎么辦?如果我重新找人做,我覺得不太現實,也在網上找了一些人,都不是太理想,溝通成本也很高。於是我膽怯的決定了用HBuilder來搞混合APP開發,用MUI和H5+來做混合型APP!
但我之前一直沒做過這樣的工作,並且聽說iOS上架審核非常嚴苛,被拒絕的案例大有人在,我還是很害怕出現這樣的結果。我在MUI的QQ裙里也詢問了一下群友,並未得到明確的上架方面的答案,也沒吃到定心丸。我一直在想,這樣開發出來的APP,上架應該很難。
但是我沒有別的選擇,我毅然決然選擇用MUI和H5+來做,管他呢,聽天由命,博一把吧!
五、潛心開發,往原生靠攏
我用HBuilder開始馬不停蹄的開發APP,第一次開發APP,踩了不少坑,也從頭了解MUI和H5+。我盡量把自己的項目往原生效果靠攏,這樣我才有更多上架的勝算機會,我往往為了一個不起眼的效果而折騰幾天。
改變技術策略之后,我深知我的任務量很重,我加了不少班,通宵達旦的寫代碼。剛好我的兒子在我最忙的時候出生了,我把家庭上所有的事情交給了媳婦兒打理,還把我母親和丈母娘叫來幫我帶兒子,我幾乎是全身心投入到項目開發中,想到成功以后可以拿到不多不少的17萬,想到辛苦這三個月就可以帶着全家人出去度假,我一刻都沒懈怠,並且治好了以前頑固的拖延症。
大概前后搞了3個多月,我用HBuilder開發的APP成品基本上出來了,我一個人完成了所有的工作(包含各種第三方平台支付API申請、地圖API申請、打包證書創建)!整個項目APP前端一共有34個JS文件,14個CSS文件,24個HTML頁面。后端則有幾十個PHP類文件,10幾個API,58個Mysql數據表。基本上APP能夠跑起來了,開始進行測試。
六、內部測試,一波三折
APP能在真實手機環境下跑起來了,這是我比較欣慰的。安卓、蘋果手機都進行了安裝,看起來是個像模像樣的APP了。於是我找到老板,進行了一次員工測試前的動員會議。
公司雖然有幾十號人,一直以來,卻沒人知道我跟老板在搞什么名堂,只知道我們有一款APP在開發。當我們開會講到這款APP的時候,我拿出了演示。各部門體驗了一番,他們的負責人開始了他們的“演講”,各種思路和腦洞,充斥着整個項目的討論中,有些員工提出一些很不合實際的建議,但對於不懂技術和互聯網的老板看來,這些建議好像也很有道理,於是很多言論左右着老板對這個APP成品的看法。
果然,老板要求按照他們的建議作一些改動和功能添加(盡管這並不是合同上載明的),都到這地步了,我只能默默的同意了,盡量爭取到讓大家滿意,后面才好驗收。
我按照大家的建議作了APP的修改,讓各部門進行測試,又給了兩周時間來測試,心想,測試完畢,就該讓公司簽驗收報告了。
公司的員工並不積級,再三催促和老板施壓下,大家勉強進行了一輪測試,主要集中在交易環節,我讓大家從下單->付款->退款等環節進行了完整測試,保障所有資金走向正確無誤,這樣才能代表APP的交易功能形成閉環。
接下來我針對APP使用又組織了一次集中培訓,大家聽我講了各種操作,我估計認真聽的也沒幾個人,但我還是很認真的培訓完了,也算對公司有個交待。
整個項目至此花了4個多月時間,按照約定我是已經超出了一個月,雖然老板催促過我,但我畢竟是公司的前技術員工,同時以前也是老員工,獨立完成了公司的內部系統,老板比較信任我,公司並沒有在合同方面上綱上線。
七、APP驗收及尾款
到這個環節,應該是要進行驗收了,於是我向公司請求進行驗收,我內心其實一直認為驗收環節會存在一定的問題,老板應該不會那么爽快,畢竟項目開發費用也不是一點小錢。另外,之前我的一位同事用他的經歷告訴我,老板並不是那么爽快的。
但老板在資源方采購了很多資源,這些資源就等着APP上線,多等一天,老板就白花一天的錢。於是老板也敦促各部門快速完成驗收,不得拖拖拉拉,只要符合要求,就立即簽驗收報告!這一點,我比較感恩老板,他比有的老板誠懇爽快多了。
驗收方面,我不知道那幾天到底發生了什么,最開始幾個部門都不願簽驗收報告,怕擔責任,我感覺到非常難搞,但突然有一天,與我對接的小伙子打電話讓我去拿驗收報告,說所有部門都簽字了!我感到一陣意外和欣喜。
既然驗收報告簽了,也就意味着項目成功交貨了(此時APP還未上架,我心想交貨了再慢慢搞上架的事兒,一直到上架成功為止),也就是說應該拿尾款了。我並未期望一次性能拿到尾款,10萬塊對於這樣的公司也不算是太小的數目,不管從老板個人還是從公司財務而言,都不會輕易打給我吧。
可是,事情的順利程度超出我的想象,當我拿到驗收報告時,剛好碰見老板,他第一句話就是叫我去財務拿錢,說已經跟財務打好招呼了。
就在第二天,我成功收到財務打款的10萬元,當看到短信提示收款100000元的時候,我感到之前所有的辛苦終於有了回報。
我當時開車收到了10萬尾款到賬短信
八、APP一次性順利上架成功,一切變得很美好
收到公司的錢就完事兒了嗎?還沒有。錢是拿到手了,但APP還沒上架呢!我最擔心的事情就是iOS上架,不過,一切都要按照計划來。
我用HBuilder在線打好了原生包,然后向公司申請了一台Apple筆記本電腦,用於APP上架(公司在這方面還是很大方的,我說要什么,他們盡量滿足)。
其實非要用蘋果筆記本電腦,主要是為了使用Application Loader將ipa包上傳到iTunes Connect,用於APP提交。其它的環節倒不一定需要蘋果電腦(包括證書生成,都不一定要蘋果電腦,Windows下也可以完成),XCode什么的更是沒用到。
第一步:上傳ipa到iTunes Connect,在這個軟件的自動檢測環節我遇到問題了,原因是APP的contact權限有問題,后來按網上的資料改好了,將APP安裝包順利上傳到了iTunes Connect。這個環節成功了,我心里又踏實了一些。
第二步:准備提交,填寫APP資料。按照頁面上的提示和要求,亂七八糟的編好文案,上傳幾張APP預覽圖。
第三步:提交APP。我提交APP的時候剛好是聖誕節期間,蘋果APP提交后台剛好把【提交審核】按鈕置為灰色了,我以為是我的資料填寫有問題導致按鈕不可用,折騰了好久。過了聖誕節發現提交按鈕可用了,原因是前兩天蘋果公司過年放假,不接受APP提交(這種可能性都能碰到,日了狗了),於是我點了提交審核,頁面上呈現“正在等待審核”狀態,我便開始了內心七上八下、茶不思飯不想的等待……只希望出奇跡,蘋果審核人員讓APP通過審核,我幾乎是過幾分鍾就刷新一次頁面,看看狀態有沒有改變。我一整晚睡不好覺,夢里全是APP上架審核相關的內容,有時候夢見我的APP被拒絕了。(我其實是有心理准備的,被拒絕幾次應該是很正常,畢竟我的APP涉及到很多第三方API,包括支付功能,審核應該更加嚴格)
我是12月28日正式提交審核的,12月29日刷了一整天的上架后台,一直是“正在等待審核”,我明明知道沒這么快,可還是忍不住不停的去刷新頁面,期待審核狀態的更新。
12月30日上午我一醒來就刷頁面,但到9:40幾的時候我刷上架后台,發現狀態變成了“正在審核”,咦,蘋果公司在審核我的APP了,這個時間點,應該是中國團隊在審核!我的心都提到嗓子眼了,噗通跳個不停,很緊張很緊張,那感覺難以形容!
當天10:36,我萬分驚喜的發現,我的APP審核通過了,狀態變成了“等待開發人員發布”(這個狀態是我因為在提交時選擇了“手工發布”)!當時那種激動,可能超過了向心愛的女孩表白成功的感覺。
我把APP進行了發布,狀態就變成了“可供銷售”,也就是正式上架成功了,我第一時間在公司群里將這個好消息通知了所有人!
我完全沒想到第一次開發的APP上架如此順利,蘋果公司審核如此之快!(整個上架審核過程僅花了不到3天時間)
這是第一次上架審核成功,直接用的1.0.2的版本號
九、好事多磨,第一個版本有BUG,更新后提交了一次加急審核
由於打包上架的倉促和緊張,我畫蛇添足的在manifest配置中勾選了“根據重力自動橫豎屏”的第二個選項“upside down”,導致APP安裝后,畫面是倒置的,不得不重新打包,更新一下版本。
蘋果的更新審核可能並不那么快,我提交了兩三天,一點動靜沒有,我便申請了一次加急審核,理由是APP有重大BUG。不得不說,加急真是非常高效,申請加急的時間當晚9點左右,通過審核是次日0:30左右,是由蘋果美國公司審核的。
上圖是1月3日晚9點提交的加急審核通道
十、十全十美,再接再勵
這個APP的開發和上架過程,是我從業以來最為激動人心的一次經歷,雖然很辛苦,但結果很美好。我順利拿到了17萬的酬勞,更重要的是收獲了難能可貴的經歷和成就感!
感謝DCloud讓我在這段經歷當中獲得了寶貴的經驗,HBuilder很棒!MUI很棒,H5+非常棒!也期望DCloud將免費進行到底。
寫到這里,我也是想通過自己的經驗告訴各位初次開發APP的朋友們,跨平台混合開發出來的APP是可以被認可和接受的,HTML5用好了也是可以做出來讓人滿意的APP的。不要懼怕前面的困難,也不要道聽途說,導致你的畏首畏尾,請大膽去嘗試吧,願命運眷顧願意辛勤和努力付出的我們!