【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】