一年开发ASP.NET MVC4项目所用所学技术经验总结
阅读目录
- 文章背景
- 前端所用技术摘要
- 后端所用技术摘要
1. 文章背景
本人2014年从Java转行到C#从事BS项目的开发,刚开始接触的是ASP.NET WebForm,结果对于我这种从jsp+servlet时代的人非常的不适应,开发者不能自由的操作HttpContext及其原始的Web命名空间中的类库来开发,而是全部封装成基于事件的机制来操作,非常的别扭。后面就找到了ASP.NET MVC这个框架。发现不错,而且从Java Web方向转过来学习ASP.NET MVC还是容易接受的。 在其的学习上纸质书籍我看了两本(由于公司的IDE是VS2010,所以我就用的MVC4啦):
- 《Professional ASP.NET MVC 4》,wrox推荐的,这个感觉是一个入门教材,看完了你可能会使用这个框架及其里面的razor知识等,但是你可能不能全部了解框架内部的相关比如说路由机制的原理,那么你可以看第二本书。
- 《ASP.NET MVC 4 框架揭秘》,这是博客园大牛Artech写的书,在首页的博客推荐榜榜首可以看到他。看完这本书之后你大致就可以了解该框架对HttpModule和HttpHandler的封装和框架各种机制的内部实现原理了。
注:其实光看书你也看不下去,因为还是有点枯燥的,尤其是第二本。但是这个书当你在开发的时候遇到的问题上面有解决方案或者给你思路的时候,你就会豁然开朗,就像本人开发一年ASP.NET MVC项目之后我也没事就去看看这两本书,发现都有一番韵味。当然现在技术更新的快,ASP.NET已经到5了,MVC也是6了,但是这个你参透这个MVC 4版本,其他也好说。
然而我写这篇文章的目的不是详细讲解ASP.NET MVC 框架的详细知识。
而是总结概括这一年我开发所用到的比较好的技术和知识,目的是为了以后我反过头可以快速的想起以前的所学知识,加快我开发新项目技术选型的速度。
2. 前端所用技术摘要
既然是BS项目,不管这个开发框架对应视图的语言比如说Razor视图引擎多么强大,你也不会全部使用它来渲染你的html,这个可能是因为本人原先在CSS和JQuery用的比较多,所以Razor的HTML辅助方法我相对用得少,不习惯在方法的htmlAttribute属性中输入CSS style, 更加坑爹的是razor的html辅助方法没有data-bind参数来嵌入knockoutjs. 所以对razor的使用我只用在一些需要提交并跳转的表单页面上面。
本人开发的web项目由于异步Ajax比较多,有习惯了使用jquery的ajax方法,所以没有使用razor里面的Ajax辅助方法。好了不偏题,概括使用过的比较好的CSS和JS框架:
-
CSS框架及其新的知识
- Bootstrap: 其是现在前端开发非常火的一个前端开发框架,是最受欢迎的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。选择Bootstrap,可以同时兼容移动设备访问和PC浏览器访问,他内部里面也有非常好的一些JS插件,CSS组件也设计的非常美观大方,使用起来也相当简单,直接附加对应的class名字即可。在中文官网上介绍了相关的CSS&JS库。同时Bootstrap是可以定制的。
- Font Awesome: 是一个专门为bootstrap设计的图标字体,Font Awesome 中包含的所有图标都是矢量的,也就可以任意缩放,避免了一个图标做多种尺寸的麻烦。CSS对字体可以设置的样式也同样能够运用到这些图标上了。
- animate.css:一个浏览器兼容的CSS动画库,非常方便使用。
- CSS3 & HTML5:虽然都在说CSS3和HTML5,但是很多传统的web开发人员还是没有比较系统的看过其中的新的特性,这里我强烈推荐完整的看看,IE8是会被淘汰的,很多老页面里面必须要用JS来处理的效果都可以在在CSS3和HTML5中的新特性中找到。
-
JS框架及其插件相关
- 页面效果类
- Bootstrap推荐或者嵌入的JS框架: Click this
- JQuery.UI: 是在jQuery 基础上开发的一套界面工具,几乎包括了网页上你所能想到和用到的插件以及动画特效。它是免费开源的,用户可根据需要自定义甚至重新设计。
- jQuery.Pin插件:能将任意页面元素“钉在”某个容器顶部,而且在尺寸小的屏幕上能够自动禁用这种效果。
- Messenger插件:是一个非常酷的弹框(Alert)组件,能够非常好的与Bootstrap融合,单独使用效果也非常棒。
- Buttons: 是一个基于 Sass 和 Compass 构建的CSS按钮(button)样式库,图标采用的是Font Awesome,可以和Bootstrap融合使用。
- DateTime Picker插件:Bootstrap日期时间选择器(Bootstrap DateTime Picker)是一个Bootstrap组件,能够简化页面上日期、时间的输入。
- Boostrap-wysiwyg插件:bootstrap-wysiwyg是一个jQuery Bootstrap插件(5KB, < 200 行代码)可以将任何一个DIV转变成一个WYSIWYG富文本编辑器。
- FullCalendar插件:一款非常实用的日历页面开发插件。使用这款插件能够快速帮助你实现基于web的日历查看功能,类似于outlook的日历项功能。
- Nivo-Slider插件:最受欢迎的图片轮播插件。
- 3D Gallery插件:3D图片轮播插件。
- ScrollUp插件:一个可以点击定义区域使得页面返回顶部的jquery插件。
- jQuery-Backstretch插件:Backstretch是一个轻简的jQquery图片展示插件,它可以在页面相关区域增加动态大小的背景图片,图片的大小完全适应于区域的大小。
- 页面效果类