Ember.js 服务器端或客户端或两者兼而有之?

win*_*ter 7 javascript node.js ember.js

我对 Ember.js 有点迷惑,我不了解与 Ember 相关的一些基本概念。我在官方页面上看到 Ember 是一个客户端框架。

造成这种差异的原因是 Ruby on Rails 是一个服务器端框架,而 Ember 是一个客户端框架。

Ember 文档

但同时,我知道 Ember 在 Node.js 下运行,这是一个服务器端框架。

使用 Ember 也确实可以为用户界面构建视图和组件。

所以,我很困惑,Ember 是服务器端框架、客户端框架还是两者兼而有之?

谢谢。

yka*_*gol 6

服务器端渲染不同于服务器端框架

我们通常在服务器端框架中拥有

  • 数据源访问(数据库访问)
  • 交易管理
  • 安全管理
  • 计划任务

我们通常在客户端框架中拥有

  • 显示数据
  • 处理用户输入

因此,Ember.js是客户端框架。

当然,您可以从 ember.js 访问数据源(例如 pouchdb),或者您需要在客户端实现安全策略。但事实并非如此,安全的核心实现必须在服务器端完成。

Ember.js 有两个关于渲染 UI 的选项:

  • 客户端渲染:渲染放置在用户的浏览器中。
  • 服务器端渲染:渲染放置在服务器中,而不是将结果发送到客户端的浏览器。(通过快速启动)