作为一个前端职场小白第一次听Razor的时候是一脸懵逼的。。研究了一个下午,总算是想明白asp.net体系分类以及它与自己平时所接触的html+css+js+react+…的体系的区别。在此浅显的总结一下。
用数据渲染DOM
MVC
- 有Razor、jade、ejs、handlebars等
- 后三者的语法并没有razor简单
- 有Razor、jade、ejs、handlebars等
MVVM
- Vue.js、Angular.js、React.js等(这正是之前所熟悉的前端体系)
最原始的方法
- jQuery一点一点写…然而并不想这么做
Razor & aspx
大学期间学.net时文件后缀都是.aspx,今天才知道aspx和Rezor是两种不同的模板引擎,但都是MVC自带的视图引擎。
- ASP.NET下的文件后缀是.aspx;Razor生成的文件后缀是.cshtml
- cshtml 使用 razor rendering engine,aspx 使用 webform engine
- 在MVC3中两者都可以使用,不过开发MVC3的话Razor是主流
asp.net 开发中html+js 和cshtml ,aspx 的选择
- aspx + webform web控件:几乎不用js,c#都可以搞定;开发快速,有控件可以拖,前后端交互方式简单;可定制化不佳,UI样式美化不易,性能较低,大部分操作都会刷新页面
- Asp.net MVC 开发较快速,灵活控制,性能高;对技能要求较多,需要掌握js,css,html等内容
- 纯html+js + Asp.net WebApi (前后端分离),高性能,多端可复用;对js的要求较高,大部分逻辑前置
关于语法以及分别的优缺点,推荐一个博文 [ 小窥.NET MVC 自带的两种视图引擎——Razor、Aspx ]
Razor特点
- 网页生成都在后端
- 对大多数应用来说,远没有把用户逻辑放在前端的那些设计好
- 本身做不了漂亮的页面交互,还需依赖html\css\js
- 对那些必须把页面渲染逻辑放在后端的应用比较友好
- 以简洁的优势替代传统webstorm
- 相比aspx视图引擎更加轻量高效
- 官方首选推荐视图引擎
先总结到这里吧。
要学的东西真的好多好多好多……Fighting!