一個APP是如何被開發出來的

這是一個系列的文章。系列主題《人人都可以懂的網際網路技術》

本系列主要分為三大部分:設計,技術,商業。

喜歡的朋友記得

右上角點選【關注】

,持續更新。

【第零章】網際網路/技術公司是怎麼運轉的?

【02】你正在使用的APP是怎麼被製造出來的(下)

繼上文中【 你正在使用的APP是怎麼被製造出來的 】;經過電光火石間,“深思熟慮”後冒出來的想法,“仔細”調研,“友好”研討,“認真”準備,邁出了前半步之後,要準備開始動手邁出後半步了,然後,接著開會吧。

一個APP是如何被開發出來的

興奮地搓搓小手

完善的落地計劃

團隊針對自己的職能部分做出仔細的評估之後,大家坐到一起,開始描述(SHOW)自己的前期準備,用什麼主色調,什麼開發語言,什麼框架,測試流程等等;一陣專屬的高光時刻之後,大家開始進入定專案落地時間表的環節;

先需要制定milestone(里程碑),即什麼時候上線。然後各團隊負責人就可以開始拆解任務提交各自的模組時間表。經過友好和睦的討論之後,大家對未來充滿信心,對自己負責的模組是時間點表示完全沒有問題,就開始動手了。

一個APP是如何被開發出來的

開工了

分工合作

設計

的小夥伴首當其衝,在和產品經理深入溝通後,開始動手製作設計圖;這裡主要是解決,這個APP最終長什麼樣。這個實際過程中,往往包含了平面設計和互動設計。

平面設計(graphic design),也稱為視覺傳達設計,是以“視覺”作為溝通和表現的方式,透過多種方式來創造和結合符號、圖片和文字,藉此作出用來傳達想法或訊息的視覺表現。

互動設計(Interaction Design),是定義、設計人造系統的行為的設計領域,它定義了兩個或多個互動的個體之間交流的內容和結構,使之互相配合,共同達成某種目的。

簡單來說,就是讓APP看上去怎麼好看,排版佈局怎麼讓才用得更加舒服。這裡往往產品經理要和設計師投入大量的時間去做討論和處理。而設計圖也並不是一套走天下,如果是涉及不同的平臺(Android iOS PC),還要對應不同的平臺規範做出不同的處理和調整以符合平臺使用者使用規範。

一般來說,設計師是不會一下子把圖全部做完的,因為面對一個新的,沒有固定風格的產品,設計師往往會先出幾套不同的設計和配置,叫做風格稿。然後找團隊小夥伴(客戶/使用者)評審一下,讓大家挑選一個。在邊緣瘋狂試探之後確定風格之後才輸出完整的一套設計圖。要不,萬一大家都不喜歡,做完一套還有三套,這是件杯具的事情。

一個APP是如何被開發出來的

設計

開發

的小夥伴這裡的分工可能稍微細一點。有架構工程師,前端工程師,APP工程師,服務端(後端)工程師。大家在完成前期的評估之後,架構師會根據需求制定系統開發上的架構,就是這個系統,我們打算怎麼做,怎麼分模組,怎麼實現,有那些技術細節,有哪些難點。

接下來是服務端工程師,根據產品需求和架構,進行服務端開發,也就是我們說的後端。這裡是整套系統的核心邏輯和流程,但是使用者看不見但是不可獲取的部分,所以也很形象得叫做【後端】,因為使用者看不見摸不著,但是沒有不行。服務端工程師根據需求實現邏輯,演算法,資料結構和儲存,並輸出介面(API)和文件。

API很好理解,其實計算機就是一個【輸入-處理-輸出】的過程,但是輸入從哪裡輸入呢,就是從API介面輸入,然後根據邏輯進行處理之後返回輸出結果。

比如:你輸入了手機號,然後把你的手機號透過API介面傳送給服務端,服務端經過一系列的邏輯判斷和處理,最後給你發了一個驗證碼,並返回告訴你,好了,請輸入驗證碼,這就完成了一個閉環操作,APP前端就會根據提示你,請輸入驗證碼。

與後端工程師對應的,就是前端工程師了(包括前端工程師和APP工程師,APP工程師又包含主流的Android和iOS工程師),一般我們把網頁/小程式的開發工程師稱為前端工程師。

H5,其實也是網頁;HTML5是第五代HTML語言標準,只是大家叫多了就用H5來代替網頁了。

小程式在很多技術層面上體現上和網頁差不多,所以也是前端工程師負責了。

這裡有點繞,總而言之,負責編寫被使用者看到的,與使用者互動的介面的工程師統稱前端工程師,也有叫介面工程師的。

前端工程師根據設計師的介面和產品需求和邏輯,編寫使用者介面,嵌入邏輯,將使用者行為和資料透過API介面與服務端進行互動並獲取對應的結果顯示。

一個APP是如何被開發出來的

開發

測試

的小夥伴,根據產品經理的需求,編寫對應的測試用例。簡單來說,就是,產品設計是使用者填寫了手機號之後能獲取登入/註冊驗證碼,那麼前置的準備就是在登入/註冊介面上有一個輸入框和提交按鈕,過程就是輸入手機號之後,有一個提交的按鈕或者觸發方式,然後期望得到一個登入/註冊的驗證碼簡訊。這就是一個簡單的測試用例,當然,測試工程師不會按照你預設好的套路進行的,他們會考慮到使用過程中的一系列問題,比如輸少以為手機號,這個時候你應該是給個錯誤提醒,而不是提交成功。

然後拿到開發工程師打包好的APP進行 介面/流程/邏輯等等的測試,並將問題(BUG)記錄下來反饋給產品經理或者開發部門。

一個APP是如何被開發出來的

測試

驗收交付

大家熱火朝天,一頓操作猛如虎,齊心協力地把第一個版本,一般叫做阿爾法版本或者貝塔(Beta)版本給整出來了。

一個APP是如何被開發出來的

可以交付驗收了

當然,這過程中,產品經理和專案經理也不是閒著打醬油,會跟進團隊的開發進度,遇到的問題,解答問題,記錄、解決、升級在過程中發現的問題,可以理解成是奶爸和監軍的模式。

完成之後,就要進行驗收交付,大家把做好的專案產品給裝上,業務部門(一般是產品部門或者老闆/客戶)開始使用,體驗,檢查是否達到預期,是否實現了預設目標,達到里程碑。同事開發過程中的相關文件,記錄整理歸檔備案。運維工程師也要開始忙前忙後進行準備保障即將到來的正式線上環境的正常運轉。

釋出準備

釋出準備一般包含兩個部分,一個是在專案立項完成之後就開始了,諸如域名的申請註冊,備案,正式伺服器的準備,各大應用市場的賬戶,認證,資質的申請等等比較零散的事情。

第二部分就是上線前,準備市場介紹材料,客服的準備工作,系統專案的打包,簽名,部署正式環境等等。

一個APP是如何被開發出來的

Ready

上線

然後就是專案產品上線了。大家開開心心地期待大量使用者湧入,投資人(VC)蜂擁而至,使用者資料蹭蹭蹭地暴漲,走上人生巔峰。

一個APP是如何被開發出來的

上線了

下一個迴圈

上面的只是想想而已,接著,一般情況下,就會有各種使用者反饋,各種需求,各種BUG,各種投訴紛至沓來,產品經理收到之後,要根據情況做出調整和處理,和使用者團隊溝通,然後進入下一個迭代流程,把從前文開始的流程再輪迴一次。