這是我第一次寫博客爬虱,在此之前,經(jīng)常在網(wǎng)上也會看到一些比較好的博客腾它,當(dāng)時只是覺得如果寫博客能成為一個興趣跑筝,一種習(xí)慣也是一件不錯的事情,當(dāng)然后來也就只是想想而已.......
言歸正傳瞒滴,本文講的是我之前做的個人項目(技術(shù)棧:html+css+php+mysql+ajax)曲梗,也是第一個全過程開發(fā)(前期設(shè)計赞警、前端開發(fā)、后端開發(fā)虏两、測試愧旦、上線、維護(hù))的項目定罢,目的是給沒有負(fù)責(zé)全過程開發(fā)的及像我這樣的菜菜提供個思路笤虫,大神就請略過吧。廢話不多祖凫、直接上效果圖
1琼蚯,項目背景
根據(jù)客戶要求 在一個月的時間內(nèi) 開發(fā)一個類似一個外勤管家的app和管理系統(tǒng)平臺,app的功能比較大概是登錄惠况、定位遭庶、下訂單、打考勤等等稠屠。后臺管理要求有訂單管理罚拟、報表、導(dǎo)入導(dǎo)出完箩、角色管理blabla......當(dāng)時我一聽這需求 赐俗、我去 我一個人在一個月同時完成前后端的開發(fā)工作,怎么想都感覺不可能的事弊知,最后沒辦法 誰叫你在朋友面前吹牛逼吹到天了呢 ?只能硬著頭皮干了阻逮。
既然決定干了,但是從何著手呢秩彤? ?如果進(jìn)行原生開發(fā)從頭開始造輪子 叔扼,那搞半年也搞不定。最后只能借助現(xiàn)成的成熟框架和平臺開發(fā)了漫雷,還好不負(fù)有心人瓜富,還真有這樣的平臺。降盹。与柑。。下面分別說說我使用過程中的一些感受及思路
2蓄坏,corethink框架(由thinkphp的基礎(chǔ)上開發(fā)的)
corethink是零云開發(fā)的价捧,其官方介紹:零云是一套國內(nèi)領(lǐng)先的互聯(lián)網(wǎng)積木式開發(fā)云平臺,追求簡單涡戳、高效结蟋、卓越∮嬲茫可輕松實(shí)現(xiàn)支持多終端的互聯(lián)網(wǎng)產(chǎn)品快速搭建嵌屎、部署推正、上線。系統(tǒng)功能采用模塊化宝惰、組件化舔稀、插件化等開放化低耦合設(shè)計,應(yīng)用商城擁有豐富的功能模塊掌测、插件内贮、主題,便于用戶靈活擴(kuò)展和二次開發(fā)汞斧。夜郁。。粘勒。
之所以選corethink作為管理后臺的框架竞端,是因?yàn)閏orethink是php語言,基于thinkphp? 入門快庙睡,容易上手,最重要的是免費(fèi)的事富,而且有比較全的官方文檔,在你遇到坑的時候能及時爬出來乘陪。
這套框架自帶系統(tǒng)和用戶模塊统台,還有就是框架本身是針對cms的所以還有cms模塊,使用者可以模仿現(xiàn)有的模塊及根據(jù)官方文檔進(jìn)行自定義開發(fā)啡邑,由于thinkphp是基于MVC架構(gòu) ?所以還有在corethink開發(fā)app的api接口贱勃,就這樣后臺管理系統(tǒng)和接口就解決了,至于數(shù)據(jù)庫mysql這塊谤逼,corethink也集成了贵扰,并給出了mysql設(shè)計規(guī)范,包括自帶的系統(tǒng)和用戶模塊對應(yīng)的數(shù)據(jù)庫表流部,基本可以一眼就能看懂...ok 戚绕,后臺+接口+mysql 就沒有顧慮了,接下來就可以專心的開發(fā)app了
3枝冀,app端(apicloud)
對于沒有一點(diǎn)原生基礎(chǔ)的同學(xué)來說舞丛,利用混合開發(fā)(嚴(yán)格來說是html5)的方式輸出客戶想要的app是最好不過了,現(xiàn)在支持混合開發(fā)的流行的平臺有appcan宾茂、Dcloud以及apiCloud等 ?至于他們的優(yōu)缺點(diǎn)及區(qū)別 大家自行度娘瓷马,但個人認(rèn)為拴还,如果第一次混合開發(fā) 建議還是用apicloud跨晴,原因如下:
a、教程及文檔全片林、并且有較多的大牛給出案例端盆,容易上手怀骤、有利于敏捷開發(fā)
b、社區(qū)活躍焕妙、新手難免會遇到坑蒋伦,在活躍的社區(qū)里能很快的找到解決辦法?
c、官方提供了非常豐富且免費(fèi)的功能模塊接口及其使用文檔 比如焚鹊、地圖類痕届、支付等等 這樣你只管知道怎么使用就行
d、官方提供app創(chuàng)建末患、上傳研叫、包的版本更新(更重要的是支持熱更新 這對ios版本更新簡直是方便多了)、輸出android和ios兩個包璧针、統(tǒng)計等一條路服務(wù)
......
值得一提的是嚷炉,apicloud社區(qū)的大牛提供了整套UI(AUI)這又使得更多開發(fā)者使用,這個UI不僅體積小 而且易學(xué)易用探橱,基本只要擼一遍文檔就可以上手了
ok申屹,技術(shù)選型已經(jīng)選好了,接下來就是專心開發(fā)與爬坑了
4隧膏,開發(fā)
開發(fā)前確定好前后端通信的數(shù)據(jù)格式及方式哗讥,這里是 JSON+ajax ,在功能需求確定的情況下開發(fā)的流程如下:
a胞枕、app端的靜態(tài)頁開發(fā)忌栅,由于使用AUI 大大的加快了開發(fā)速度 整套下來三天左右就好 之所以先寫靜態(tài)頁 是因?yàn)榭蛻舻男枨笫墙?jīng)常會變的這里類似一個demo 讓客戶看到效果
b、數(shù)據(jù)庫設(shè)計:這一步比較關(guān)鍵曲稼,直接關(guān)系到后續(xù)的開發(fā)及維護(hù)效率索绪,一個好的數(shù)據(jù)庫設(shè)計可以減少前后的的工作量
c、管理后臺:如果擼了幾遍corethink和thinkphp使用手冊的話 基本上粘貼復(fù)制就能搞定 ?個別功能可能要自個擴(kuò)展
d贫悄、接口編寫:這里建議有接口文檔方便后續(xù)的維護(hù) 推薦個線上接口文檔管理平臺ShowDoc瑞驱,如果時間不夠或業(yè)務(wù)不復(fù)雜也可以不用文檔,畢竟前后端都是自己開發(fā)的窄坦,沒人扔磚頭唤反,但最好加上注釋,方便維護(hù)
e鸭津、app開發(fā):功能邏輯及接口確定好了彤侍,app端的開發(fā)就快了,這個階段基本是邊開發(fā)邊聯(lián)調(diào)逆趋,如果a步驟越詳細(xì) 包括假數(shù)據(jù)(json) 這里花的時間就越少盏阶,反之亦然。這里時間主要用在 apicloud模塊的使用及聯(lián)調(diào)上
f闻书、測試聯(lián)調(diào):管理后臺測試名斟、app端測試脑慧、接口測試、性能優(yōu)化等
5砰盐,部署上線
服務(wù)器端用的是集成環(huán)境phpstudy或者Xampp? 我用的是Xampp ?需要保證后端服務(wù)運(yùn)行的穩(wěn)定性
手機(jī)app端:
ios----比較麻煩的ios上線闷袒,之前apicloud有提供免費(fèi)企業(yè)號,可以直接運(yùn)行在非越獄的ios設(shè)備上的岩梳,后來好像被ios官方發(fā)現(xiàn)了囊骤,非越獄設(shè)備只能運(yùn)行上線的app,(測試賬號及證書也能用但有數(shù)量限制)冀值,這簡直是惡夢淘捡,只能自己買一個了,心疼啊池摧,畢竟99刀焦除,當(dāng)然你買個別人的賬號也可以,只不過appstore上顯示的開發(fā)者名稱不是你而已作彤。
android端---因?yàn)橛脩舳际峭粋€企業(yè)單位的膘魄,所以不需要在各個應(yīng)用市場上線,給個下載鏈接或二維碼就ok了竭讳。
6创葡,其他
以上是本人開發(fā)此項目的過程及思路,在此做個小結(jié)绢慢,也希望能給各位提供些思路(大牛略過哈)灿渴,如果您有什么疑問或建議歡迎提出來哈,本文將持續(xù)更新胰舆。骚露。。缚窿。