一、產品分析階段
需求分析
功能模塊劃分
用戶使用流程草圖
原型草圖
這一階段沒有什么技術要求,主要工具就是鉛筆加A4紙。麻煩一點的地方在于需求分析的過程中不斷有新的想法,推翻之前的重來,所以草稿畫了四五十張吧,目前是第一版需求。
技能:會削鉛筆、會畫線、會寫幾個字即可。
工具:鉛筆1支,中性筆一支,A4紙一盒
用時:跨度一個月,工作時間約60+小時吧。
二、設計階段
1. 參考各類分享、問答類網站。
2. 仔細設計UI流程。
3. 網站設計規范制訂:用色、Logo、通用組件、尺寸、自適應移動端方案等
4. 按功能模塊開始設計。
這一階段比較痛苦,設計是一個很扯淡的工作,因為沒人審稿,自己要求也不嚴格,所以初期的時候隨便弄了。待出了七八個頁面之后發現這也太!丑!了!。
于是重來,重來,重來...
幾版之后依然不滿意,哎,先這樣了,算了。
技能:會開機、會PS。
工具:筆記本電腦一臺、PS軟件一個(破解版的)
參考:各類網站,http://www.pinterest.com 給我的參考最多... 嘿嘿
用時:跨度一個月,工作時間大約100多個小時吧。
三、數據庫表設計
這沒什么好說的,根據業務來分表,具體也不好表述。
技能:SQL基本知識、數據庫基本知識
工具:sublime,sql
用時:10小時
四、前端技術
1. 技術選型
2. 開發環境搭建
3. 靜態頁、css組件、js組件、前端業務邏輯
最開始在猶豫是先寫React-Native App還是先寫PC網站。
后面想了想還是先寫PC,原因三點:
1. UGC網站沒有PC端會對內容產生環節帶來極大的不便。
2. App推廣我沒錢。
3. PC我熟??!
說一下技術選型吧。
首先只支持ie8+,或者ie9+。
業務框架:因這個網站的與用戶交互還是蠻多的,所以mvvm框架是必須的,所以選了React,因為現在還沒有開始寫業務代碼,后面用Angular或Vue也說不一定。
交互組件:因在前公司寫了一套React的組件,大約有十多個,可以拿來重用,所以組件就用React來寫了。
CSS:CSS Modules 想來想去沒必要,小網站搞這么多花樣做個啥呢。大手一揮,取bootstrap的less工具過來定制,相當的爽利。
構建:webpack
優化:還沒有
技能:熟悉CSS語言、熟悉UI模塊化、熟悉組件化、熟悉bootstrap。熟練的使用JavaScript完成前端的大部份業務(交互、通訊、展示)及組件,非常熟悉一兩個前端JS框架(讀過核心源碼或有不少的實際運用經驗)。
工具:lesswebpackwebstorm
用時:進行中,目前50+小時
五、后端技術。
1. 語言選擇
2. 架構設計
3. 開發環境搭建
4. 域名、服務器購買
5. 版本控制
語言在Java和Nodejs之間搖擺了很久,想用Java來練手(其他的不會,C略懂,但是用C寫服務器估計比較虐),都用Java寫了一些了,后面刪了,改用Node。因為項目后面會有其他朋友加入進來,都是Nodejs背景的,權衡之下,用Node了。
架構設計就比較扯淡了:
讀寫分離?沒有。
分布式?沒有。
其他呢?也沒有。
為什么沒有?因為沒弄過??!邊寫邊學習吧!
開發環境主要包括:
1. typescript環境,Nodejs用ts來寫,所以有構建環境(gulp+ts+babel)。
2. 工程目錄劃分。
3. 模塊劃分,模塊目錄。
4. Node服務層(sessionrouterviewstatic等)
5. 系統穩定層 (運行日志、性能監控、惡意請求捕獲等)
6. 數據庫:當然是mysql...
7. 安全層:準備在程序外層套一個安全過濾器,具體怎么做還沒想好,大概是在Node層外加
一個安全檢測層,主要檢測請求的合法與否,這一層應該有session驗證、防注入、sign驗等。
目前還沒做。
域名注冊了幾個.top域名,嘿嘿,相當的便宜...最貴的一個才3200,最便宜的5塊還是2塊忘了。
服務器在阿里云買了個最便宜的64塊一月,結果裝gitLab裝不上,被逼升了2G內存,120來塊一月吧。
版本控制就是gitLab了。
技能:一門或多門后端語言、SQL、數據庫、httptcpsocketcookie通訊、基本的Linux操作、ssh遠程基本知識、git基本知識、服務器->客戶端數據流轉基本概念、基本安全知識、基本加密及驗證知識
工具:babelgulptypescriptkoamysqlgit
用時:目前40小時左右
坑:第三方庫的d.ts文件真的差太多了,邊寫業務代碼邊補d.ts真是太刺激...
哦,對了,還有測試。
目前只有單元測試,而且只有功能模才有單元測試,業務模塊沒有...
測試框架選個常用的mocha就好了。