Razor与Angular对比

2018/07/02 302

Razor

Razor提供了一种快速、简洁、干净和轻量级的方式,将服务端代码与HTML结合起来,创建动态的Web内容。在.Net平台中,它是官方的、优秀的模板引擎。

Razor的黑科技:

  1. 它是强类型,意味着你可以使用代码提示,也可以随意更改属性名
  2. 它支持C#代码块,意味着你可以在视图上放置一些与HTML有关的C#代码,例如动态生成class
  3. 模型绑定,你可以忽略表单的name、label、text,这一切都可以交给C#的Attribute来控制
  4. 支持防跨站伪造请求攻击,AntiForgeryToken
  5. 模型验证,简化后端模型验证与验证失败的消息

如果您不了解Razor,您可以将它理解为服务端模板引擎渲染

Angular

Angular是一款前端MVVM框架,它很优雅,关键是使用Typescript编写代码,所以Angular的代码是健壮了,可维护性的。

Angular特性

  1. 模块化
  2. 使用Typescript
  3. 良好的生态系统
  4. 体验接近原生
  5. 一套框架,多种平台

服务端渲染 VS Angular

Angular

优点

  1. 消除了在服务端生成HTML的过程,将此过程交给了客户端。
  2. 节省了带宽。
  3. 较简单的版本控制。
  4. 服务端的Api同样适用于移动端等其它平台

缺点

  1. 客户端必须启用Javascript
  2. 用户必须使用较新切较好的浏览器
  3. 客户端必须要足够强的硬件
  4. 无法被搜索引擎爬虫捕获

服务端渲染

上述缺点就是服务端渲染的优点,反之亦然。

  1. 对客户端要求较低
  2. 有利于SEO
评论