我在部署首款Web應用時總結出的五項經驗
譯文【51CTO.com快譯】 技術經驗談:我在部署首款Web應用時總結出的五項經驗
我開發的***款Web應用屬于畢業設計的一部分——當然,其最初目標只是為了完成設計,而非開發出能夠解決現實問題的成果。最終的開發方案為Cyber Manager,這是一款面向網吧管理員的在線網吧管理系統,自2011年上傳至SourceForge.net以來,其已經被下載了近3000次。在本文中,我將與大家分享我在項目開發當中總結出的五項重要經驗。
經驗一:不要費心于項目靈感,而應著眼于需要解決的問題。
在嘗試開發***款Web應用時,請不要單純考慮開發怎樣的項目,而應思考希望解決怎樣的問題。現實問題將帶來實際挑戰,同時幫助我們有效擴展個人能力。立足于此,大家將能夠積累起通過編程解決實際問題的經歷,從而更好地支持未來工作。過程中,您還將親身體驗編程標準與各類***實踐。
經驗二:為問題找到解決方案。
在學校里,我曾經去過朋友開的網吧,并利用網絡教程學習網頁開發。為了報答他的慷慨,我每周會在網吧中兼職做網管工作——而這也是Cyber Manager誕生的基本條件。
經驗三:利用開源工具開發解決方案。
在確定了創建目標后,接下來就是考慮開發方法。ASP.NET在高校學生中擁有極高人氣,Java也是一樣。每個項目都有利有弊,而我最終決定使用PHP、Apache加MySQL的組合——因為這是一套熱門、可擴展且可靠的開源語言堆棧。另外,PHP還擁有安全且具備良好開發者社區支持的優勢。
經驗四:導師比技術堆棧更重要。
在開始構建Web應用時,請首先找到理想的導師。技術只適用于單一項目,導師則能夠幫助我們開發出更好的應用,同時幫助我們提升開發水平與專業知識。除了在校教師之外,如果有機會,大家也可以尋找從業者作為您的起步向導。
幸運的是,我的朋友成為此項目的導師人選。他擁有豐富的PHP開發經驗,且最近還建立了自己的小型技術企業公司,旨在為城市提供網絡開發服務。他會監督我的進度、提供項目增值建議、評估可行性并以各種方式測試其中的錯誤及性能問題。
經驗五:尋找真正的用戶進行測試并使用。
如果不經測試與使用,那么應用程序根本稱不上徹底完成。因此,大家必須邀請目標用戶參與測試及使用,同時提供反饋。這一點對于提升應用程序的質量至關重要。
我的***款Web應用:Cyber Manager
Cyber Manager是一款Web網吧管理門戶,由PHP/MySQL構建而成。
Cyber Manager的儀表板
如大家所見,這款應用擁有九大模塊,具體為:
管理客戶:立足一套在線數據庫進行客戶追蹤。管理員能夠利用此模塊添加、編輯、搜索及刪除客戶記錄。
管理客戶:網吧注冊客戶列表
客戶登錄:在網吧設備上進行客戶登錄。當客戶登錄完成后,即啟動時間追蹤器并可由管理員進行手動登出。在用戶注銷后,管理員會看到總上網時間及費用。
客戶登錄模塊顯示當前登錄并使用網吧服務的活躍客戶
管理帳單/發票:根據客戶使用時長生成帳單。其會根據總使用時間及其它相關服務(例如打印文檔或者租用攝像頭)自動生成費用結果。該模塊還可列出一切帳單/發票歷史記錄。
帳單模塊顯示最近帳單及使用的服務與費用
管理服務:添加、編輯及移除可用服務。管理員亦可列出網吧中全部可用服務及對應費率。
服務模塊顯示網吧提供的服務/設備列表
輸出費率卡:輸出網吧的服務價目表,列出可用服務及外設與其對應費率。
輸出費率卡
查看客戶卡:生成并查看每位客戶的會員卡、姓名、出生日期、客戶ID以及會員資格有效期。
客戶會員卡由系統自動生成
過期會員報告:列出ID已過期的客戶名單,意味著其無法繼續使用網吧服務。管理員亦可查看已到期會員的客戶列表,向其發送提醒郵件以進行續訂。
過期會員報告
這就是我的***款Web應用了,目前其在SourceForge上已經被下載了近3000次。未來,我還計劃進行改進并添加更多新功能。敬請期待~
原文標題:5 lessons learned when developing my first web app 原文作者:Moin Shaikh
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】