如何一天擼出一個完整的小程序

0 起因

隨着各種工具/輪子越來越多,做程序員可以說是越來越瀟灑,真真的吃着火鍋唱着歌,閒了調調BUG。

今天要分享的是一套完整的帶後臺的小程序,完全從0開始,沒有藉助微擎等小程序生成框架。

1 成果

從第一天早上10點的Idea到第二天凌晨6點提交上架,除去做飯+吃喝拉撒,總共花費約16個小時。

注:經過十天審覈,現在可以搜【一文一圖】看下實際效果了。

覆盤下來,覺得整個過程頗有代表性,故分享出來,供諸位拍磚。

2 工具清單

2.1 準備階段

2.2 開發階段

2.2.1 後臺]

  • 版本管理:碼雲
  • 後臺開發IDE:PHPStorm
  • 後臺框架:PHP + Laravel
  • 數據庫:MySQL
  • 微信後臺對接(Laravel插件):EasyWechat
  • 圖片存儲(Laravel插件):Aliyun-oss-storage

2.2.2 小程序

2.2.3 設計

2.3 運維階段

  • 小程序助手
  • 小程序數據助手
  • 小程序客服小助手

3 開發過程

3.1 從Idea到動手

吃夠了不經調研的動手開搞帶來的苦頭,近幾年對於Idea到產品是頗爲謹慎的。像這次乾淨利索的決定,顯然已經是好久不見。

其實我是不推薦這麼迅速的作出開發新項目的決定的,除非具備幾個因素:1、項目開發週期短,1-3天爲宜;2、具備立竿見影的效果;3、沒錢了。

從Idea到產品,首先需要梳理思路。之前用的xmind,最近一直用新出的幕布,後者更方便分享,多端可用,比較適合國內的使用習慣。


時間緊迫,簡單畫了畫。如果是較大的項目,則需要有比較系統的思路。這裏推薦下 processon,之前一直用他畫流程圖,最近發現它又新出了諸如商業畫布一類的工具,很好用。

3.2 着手設計

產品最終的形態,在開發之處最好是要有原型的,否則開發過程中,會逐步失去方向,被瑣碎的事情干擾,以致最終開發出的產品和最初的設想有很大出入。

產品原型的工具,在上面沒有列出來,是因爲項目太小,畫原型圖在時間上划不來。原型圖的工具推薦下 墨刀,和幕布一樣,也是可以在線分享演示的,這在團隊協作和給客戶演示時非常方便。

這次的設計,就是完全在腦子裏打了個草稿,又去找了找同類型的產品取了點經,一個大概的產品模型就有了。

至於風格什麼樣,那就只能靠天吃飯了。因爲這麼短的時間,不可能去動用設計的兄弟,所以就在 iconfont 和 ooopic 一類的設計網站上找靈感。好在iconfont上剛好有一組圖標,與心目中的產品比較契合,果斷下載。

至此,logo、圖標、框架等都齊了,開始最激動的擼代碼階段。

3.3 擼代碼

一個人搞定前後端,這裏面就有些門道了。
先幹啥後幹啥,每個人的喜好不同。以效率爲出發點,我有如下建議:首搭框架,先前再後,先橫再豎,敏捷交付。

【首搭框架】,是指先把前後端的基礎框架搭建起來,該配的基礎功能先做好。比如Laravel的本地調試環境、代碼倉庫、雲端服務器、備案過的域名、小程序的賬號、業務域名配置等等,這些環節先在腦子裏過一遍,再從頭到尾整個做完。

之所以一鼓作氣全部做完,是因爲在後面編碼的過程中,一旦被上面一些小問題卡住,思路就容易被打亂,影響效率。並且,很多事情是需要較長的時間的,比如域名備案,慢的話就得一二十天,如果被域名卡住,項目流產的可能性就會直線攀升。

第二是【先前再後】。這個意思則是在開發某個功能時,先設計前端界面和邏輯,再做後端接口和數據。反過來不行麼?行,但是不好。在這種快速迭代開發的情況下,前端頁面和邏輯沒有經過系統的設計,會經常發生變動。這和傳統團隊開發不太一樣,沒有概要設計到詳細設計再到開發的過程,更沒有並行開發的條件,因此要因地制宜,採取更適合這種小型作戰的方式方法。

當然,這個建議重點關注的是具體的功能開發,而不是完全取消前置設計。如果沒有整體的框架設計,是萬萬不行的。

第三是【先橫再豎】。我們從水平和垂直兩個方向,去劃分具體的功能。比如這個項目中有四個頁面,分別是發現頁、發佈頁、個人主頁、以及單篇展示頁。我在開發時,先把四個頁面建好,把tab和圖標都加進去,頁面切換做好,先感受下最終的效果。這種方式叫水平開發,好處在於讓你會對產品的最終形態先有所感知,如果有不舒服的地方,及時地進行調整。

當我們對某個頁面,或者某個跨頁面的功能進行開發時,則稱之爲垂直開發。此時的功能顆粒度就會相對較小,也更容易把控。

最後是【敏捷交付】,是脫胎于敏捷開發模式的。意思是要持續的向客戶交付可用的產品,這裏的客戶就是開發者自身。在前幾個原則的基礎上,要實現敏捷交付,還應該注意不要被細枝末節的點牽絆住。比如某個圖標的配色不好,某個按鈕的位置擺的不正等等。切記,一定要抓大放小,美化完善的工作一定放在最最後。再者,一款產品就是要在不斷的打磨下,才能奔着精品而去。

3.4 運營準備

一個產品的啓動是很有講究的,尤其是社交和UGC產品。當一個用戶初次使用時,如果覺得你這個產品冷冷清清毫無生氣,是很難沉下心來去體驗的。所以,適當的“作假”是提高用戶體驗的增長黑客手段。

在產品達到一定量級後,一定記得把這些措施去除。比如王者榮耀的排位匹配,當你的等級很低時,會匹配一些AI機器人陪玩,以鼓勵玩家。

當到達人數比較多的等級階段時,就會降低AI機器人的比率,因爲讓用戶等待時間過久,是一件體驗非常不好的事。同樣的,在我們這個產品中,用戶發出去的文章,在達到一定時間內,應當引入一定的激勵機制,以鼓勵用戶。當用戶較多時,真實的互動足夠激勵用戶再創作時,則可取消激勵機制,徹底度過項目的冷啓動階段。

4 後記

整個過程都是一個人完成的,對於小項目尚能如此,稍微大些的就需要考慮到協作問題。

改天會就中小型團隊協作的過程,以及用到的一些提高效能的工具進行分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章