本文僅從個人作為一個三流跑偏程序員的角度思考,而且對待產(chǎn)品的認知和思維也比較初級胁塞,實現(xiàn)方式也比較草根咏尝,沒法與真正的大型項目相提并論,其中有些觀點也可能是錯誤的啸罢,希望不要對他人產(chǎn)生誤導(dǎo)编检。
或許標題換成“如何一個人從0到1實現(xiàn)一款app產(chǎn)品“更合適些,關(guān)于這個問題扰才,我之前也有在知乎上回答過允懂,今天從新梳理下,因為每個人都有自己的答案训桶,一個人的不同階段累驮,也有不同的答案。
其實完成這樣一個任務(wù)并不難舵揭,只需要毅力與時間谤专,但對于如何成功完成我至今沒有答案,還在摸索中午绳。
下圖是我回憶自己開發(fā)過程中大概涉及到的解決方式置侍,條條大路通羅馬,每個人都需要選擇適合自己的拦焚,僅作參考蜡坊。
當(dāng)我頭腦中有了一個想法并想實現(xiàn)它的時候,流程如下
1.簡單的調(diào)研赎败。
前提條件是你沒有優(yōu)秀的技術(shù)團隊秕衙,沒有流量資源,沒有雄厚的資金支持等先天優(yōu)勢僵刮。
那么如何驗證自己的想法是否靠譜呢据忘,可以借助很多方式鹦牛,如果你的產(chǎn)品沒有自己的流量來源而是要和一眾產(chǎn)品廝殺,可以試試如下方式勇吊。
微信指數(shù)小程序曼追,搜索下關(guān)鍵字微信指數(shù),如果指數(shù)達到了你的心理預(yù)期汉规,則需求存在礼殊。
各大應(yīng)用平臺關(guān)鍵字搜索同類產(chǎn)品,這里也許有人會說针史,我的想法獨一無二晶伦,目前市面上還沒有同類產(chǎn)品,那我覺得該恭喜你悟民,如果你的產(chǎn)品邏輯ok坝辫,何不按照自己的思路實現(xiàn)出來交給市場驗證篷就。但絕大部分想法都會有同類產(chǎn)品已經(jīng)出現(xiàn)射亏,除非你是世界上少數(shù)的聰明人。
如果同類產(chǎn)品非常多竭业,說明大方向沒錯智润,但是很多人已經(jīng)走在了你的前邊,這時就要考慮要么你的產(chǎn)品足夠優(yōu)秀未辆,可以脫引而出窟绷,但對于一個人來說難度較大,要么你的產(chǎn)品有自己的唯一不可替代性咐柜。畢竟一個很殘酷的事實是兼蜈,關(guān)鍵詞搜索流量的相當(dāng)大比例只給了第一頁。
如果同類產(chǎn)品非常少拙友,但是評價很少为狸,說明用戶量不大,需要慎重遗契,如果評論很多辐棒,則需求存在。而且評價還有一個非常重要的用處牍蜂,可以分析自身和競品的缺陷與優(yōu)勢漾根,取長補短,幫助自己完善想法鲫竞。
2.初步構(gòu)思辐怕。
經(jīng)過初步的驗證,想法ok,便可以構(gòu)思產(chǎn)品从绘,我習(xí)慣用思維導(dǎo)圖來梳理和完善邏輯寄疏,發(fā)現(xiàn)問題其做。
構(gòu)思產(chǎn)品的初步模型,確定UI,能設(shè)計流程圖最好赁还,借助墨刀妖泄,Axure RP 等,或者采用你喜歡的方式艘策,我其實是沒有做設(shè)計流程圖這一步的蹈胡,能力有限,而且不太喜歡在這上花太多時間朋蔫。
3.技術(shù)選型罚渐。
我之前一年采用的方式一直是服務(wù)器用nodejs,客戶端用react native,這樣的原因是開發(fā)語言學(xué)習(xí)上不需要花太多的時間驯妄『刹ⅲ客戶端使用rn沒有使用原生的原因也是因為rn就可以滿足我的產(chǎn)品需求而且性能還不錯,節(jié)省時間成本青扔。但不得不承認我在rn上花了很多時間去填坑源织,這也是我在下一款產(chǎn)品中改用flutter的原因。
對于app前端跨平臺語言的選擇上微猖,需要考慮谈息,性能是否ok,與原生的交互凛剥,使用的人數(shù)侠仇,文檔的完善度,社區(qū)活躍度犁珠,學(xué)習(xí)成本逻炊,綜合考慮選擇適合自己的就好。
4.開始編寫
app端涉及的包括UI犁享,數(shù)據(jù)存儲余素,網(wǎng)絡(luò),推送饼疙,異常捕獲溺森,數(shù)據(jù)統(tǒng)計,云控系統(tǒng)窑眯,版本控制屏积,當(dāng)然有些產(chǎn)品還需要某一方面極強的專業(yè)性。我的原則是能用三方的盡量用三方磅甩,把時間節(jié)省出來炊林,而且我不認為自己實現(xiàn)的會比市場上驗證的三方更好。但我不會因為時間問題而去省去其中某一部分卷要,尤其是數(shù)據(jù)統(tǒng)計渣聚,看似可以忽略卻對產(chǎn)品后續(xù)至關(guān)重要独榴。
服務(wù)器端我不敢提及太多,因為服務(wù)器端我基本都是自學(xué)的奕枝,很初級棺榔,緊緊停留在能用的階段,說實話隘道,我希望有一天我的技術(shù)支撐不了我的產(chǎn)品症歇,那說明用戶已經(jīng)達到了一個量級,那時我會去尋找優(yōu)秀的人幫助谭梗。
編寫過程中忘晤,首先保證穩(wěn)定性,可擴展性激捏,如同武俠片中设塔,我更喜歡穩(wěn)扎穩(wěn)打,簡單有效而不是眼花繚亂的招式远舅,我可以在實現(xiàn)方式上偷懶闰蛔,但是我不會在功能邏輯上偷懶,盡量在設(shè)計功能上做到最大化的動態(tài)控制表谊,這里忽略了安全性钞护,原因是我對安全性方面理解還不是很透徹盖喷。
語言本身只是一種工具爆办,更重要的是思路,有了思路后要做的就是使用相應(yīng)的語言實現(xiàn)方式课梳,畢竟語言都是給人用的距辆,不存在會與不會的問題,學(xué)習(xí)時間長短確實是有差別的暮刃。
對于遇到難題跨算,可以解決但需要花時間的問題,假如有其他方式解決椭懊,我會選擇退而求其次诸蚕,有些也可以從設(shè)計上作出讓步,這也是我喜歡一個人編程的原因之一氧猬。
第一個版本上線時間節(jié)點很重要背犯,盡量只完成核心功能,這樣做好處是縮短開發(fā)周期盅抚∧海可以盡快讓市場去驗證,而且用戶反饋可以讓你及時作出調(diào)整妄均,還能調(diào)動你的積極性柱锹。至今仍然謹記曾經(jīng)一位老大說過“小步快跑”哪自。
我覺得這比把一個產(chǎn)品做的自己覺得完美再上線更好。而且開發(fā)周期越長禁熏,人的耐心會越小壤巷,很容易出現(xiàn)半途而廢。打磨產(chǎn)品本就是一個漫長且磨人心智的過程瞧毙,如果能獲得用戶反饋隙笆,無論認可或者批評都會給人很大動力。
現(xiàn)階段升筏,我基本不會去提前做技術(shù)儲備撑柔,基本都是遇到了問題才會去找網(wǎng)上找實現(xiàn)方式,而且選擇的大都是簡單初級的方式您访,這確實比較low铅忿。
5.產(chǎn)品完成,部署服務(wù)器灵汪,申請域名檀训,準備上線。
蘋果審核涉及到技術(shù)網(wǎng)址享言,隱私政策峻凫,而且誰都希望自己都app最起碼有個下載頁,對于提高產(chǎn)品都逼格是有幫助的览露,所以最好申請個心儀的域名荧琼。還有就是小程序需要支持https的域名。服務(wù)器的選擇差牛,我使用的是阿里云命锄,還是一樣選擇適合自己的。
關(guān)于服務(wù)器的運維是需要了解學(xué)習(xí)一下的偏化,即使有人可以幫忙脐恩,最好也還是自己來維護會比較方便及時。
很高興侦讨,終于到了提交這一步驶冒,目前安卓渠道原則上都需要軟著,正常申請周期3-5個月韵卤,涉及支付等敏感功能等還需要公司資質(zhì)骗污,這些最好也都提前了解下。
提交平臺怜俐,app store的提交流程相比android會麻煩些身堡,應(yīng)用寶,百度對軟著要求比較嚴格拍鲤,應(yīng)用寶第一次審核通過后贴谎,后續(xù)版本審核會比較快汞扎,有時甚至幾十分鐘過審,一般也在幾小時以內(nèi)擅这,百度澈魄,阿里聯(lián)盟一般在一天以內(nèi),小米平臺拒絕盒子類app審核仲翎,應(yīng)用截圖有改動必須及時更換痹扇。如果能申請某個平臺的首發(fā)對初始流量獲取也幫助很大。android平臺眾多溯香,其他渠道我了解不多鲫构。
6.產(chǎn)品上線,剛剛開始
當(dāng)app過審玫坛,用戶開始下載使用结笨,服務(wù)器一條條日志輸出,一個產(chǎn)品的生命才剛剛開始湿镀,當(dāng)我看到后臺一條條日志輸出時炕吸,覺得那就像流動的血液。至此也就是完成了從0到1的過程勉痴,后邊是從1到100赫模,我覺得相比于從0到1,從1到100才是給我們最大到挑戰(zhàn)蒸矛,這也是我一直在摸索和學(xué)習(xí)到階段瀑罗。
aso可以幫助更好獲得流量,如果你的產(chǎn)品關(guān)鍵字優(yōu)化到第一頁會有可觀的流量莉钙。
切勿重技術(shù)輕運營廓脆,沒有孰輕孰重。
盡可能找到好的流量獲取入口磁玉,有效的引流。
7.有時也許可以改變一種方式
驗證一個想法沒有必要非得依賴app驾讲,畢竟開發(fā)周期比較長蚊伞,可以嘗試使用小程序去驗證,周期會縮短吮铭,甚至有些想法完全可以通過社群等簡單方式去論證时迫,當(dāng)可行后再開始也許更合適。
以上是我總結(jié)自身的一點點經(jīng)驗谓晌,希望可以對你有所幫助掠拳,最近我在思考一個人如何高效的運營自己的app,這其實是我遇到的一個問題纸肉,我沒有辦法把有限的時間同時分配給產(chǎn)品的運營和技術(shù)開發(fā)溺欧,所以希望可以找到行之有效的方式喊熟。
初步構(gòu)思是實現(xiàn)一個運營機器人,它包括基礎(chǔ)的客服功能姐刁,建立與客戶的聯(lián)系芥牌,接近人的認知功能,比如可以在用戶作出一個動作后給出近似人的反饋聂使,用戶畫像功能壁拉,分析用戶從而發(fā)現(xiàn)問題反饋給開發(fā)者,智能的內(nèi)容維護系統(tǒng)柏靶,給予用戶優(yōu)質(zhì)的內(nèi)容提供弃理。這可能會涉及到機器學(xué)習(xí),但就像之前我提到不會提前做技術(shù)儲備屎蜓,只有當(dāng)我需要時案铺,我才會去跟進。
總之梆靖,我希望的是讓產(chǎn)品有它的生命控汉,它會成長,會進化返吻,甚至不需要我的干預(yù)姑子,我所做的就是創(chuàng)造出初級的它,而它的成長過程中我需要做的就是服務(wù)于它测僵。