又历经一个多月的努力,学校的一个校友平台项目也接近内测的尾声了,简单的总结一下这次的项目开发。
与上次做Wing工作室的门户网站相比,同样是团队开发,参与的人员多了一个,用的时间也差不多一个月,但从总体做的情况来看,这次比上一次要做的好得多(不论是页面的样式还是后台的模块化封装),这是进步也是必然,这次自己的任务仍旧是负责后台以及后台与前台的拼接。
总的来说,用ASP.NET MVC开发网站的效率是相当高的(而且也相当的好部署),特别是针对后台的开发,只要前期对页面的功能分析到位,立马就可以开始进行数据库的设计以及后台代码的初步实现(后台与前台可以不同步,这就是MVC开发的魅力所在)。而这个校友平台的所有后台功能实现(包括数据库设计与后台所有逻辑控制)只用了一周,而花时间最多的仍旧是后台与前台的拼接(毕竟是多个人写的,整合起来是有点麻烦),用了十多天,然后再用了一周多的时间来不断改进与完善。
能力提升的总结:
(1)、这次开发最大的收获应该是接触与掌握了Ajax与Json的使用,学会了使用Json来进行前后台的数据传递,用Ajax解决局部刷新问题以及异步加载数据(特别是这对图片的加载,若是一次性加载完多张图片,网站会很卡很卡(工作室的门户网站的首页就是这个情况——后面会把这个问题解决),所以这个时候就可以考虑使用Ajax来实现数据缓存与异步加载)。
(2)、由于做了很多页面的拼接,于是接触的前台的东西就不可能少,这次也进一步的深入了解了js、jQuery、html、css。
(3)、又学会了几个前台组件的使用(瀑布流图片自动布局组件与prettyPhoto组件)以及组合使用。(或许有很多进行网站前端开发的人会对使用组件产生反感或不愿意,认为使用别人已经写好的组件对自身能力的提高没有很大的帮助。个人见解:使用组件不仅对于网站开发的效率有很大的提高,而且使得网站看起来更加高大上。而大部分认为使用组件没有多大能力提升的,是因为他/她们只是简单的调用了一下接口函数(这也是组件高度封装的一个必然结果)就实现了高大上的功能,对内部实现全然不知。而大多数情况,由于需求的变化多端,有的功能不是简单地调用一下接口函数就能很好的实现需求,这时就需要修改组件内部功能实现(然而有很多人在这一步的时候就放弃了或使用另外的组件),去定制自己的功能需求,若是能做到这一点,不论是对组件的掌握还是对自身能力的提高都有很大的帮助。我个人的学习之道之一:不会,就学;学不懂,就模仿;进而形成自己的东西。)
(4)、进一步掌握了前台页面框架的修改。
(5)、(针对不同浏览器以及同一浏览器的不同版本)对页面兼容性有了更进一步的认识,不仅仅标签、样式、属性的兼容性问题,还有js也会出现一定的兼容性问题。若是事先没有考虑到这个问题的话,后期改起来是相当令人头疼的事情。
(6)、对使用ASP.NET MVC这个框架去开发网站有了更进一步的理解与掌握,开发的效率又进一步的提高了。
(7)、对于安全性的检查(表单的合法验证等)有了更好地运用,三重验证:标签自身属性限制验证、js验证,后台数据验证。(简单的说一下:所有的前台验证都是可以绕过的(标签自身属性限制验证、js验证),所以最重要的是后台数据验证,但为了获得更好的用户体验以及效率,前台验证也是很有必要的。ASP.NET在安全性上有一点做的很好,就是默认过滤了很多非法标签的注入,这在很大程度上减轻了后台开发人员的负担)。
总的来说,这次的团队合作开发网站项目,对于自身的前台和后台能力都有不同程度的提高。
接下来的几篇博客会详细的谈一下一些具体的功能实现的实例。(比如说Ajax与Json的使用等等)
<我的博客主页>:http://www.cnblogs.com/forcheng/