Ember.js服务器端或客户端或两者?

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

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

Ember Doc。

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

Ember也可以为用户界面构build视图和组件。

那么,我很困惑,是Ember一个服务器端框架,客户端框架还是两者兼而有之?

谢谢。

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

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

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

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

  • 显示数据
  • 处理用户input

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

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

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

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

Ember是一个客户端框架 ,主要用于为Web平台编写单页面应用程序 。

Ember使用Node作为工具,通过NPM和一个名为Ember-CLI的CLI工具来提高开发过程和开发人员的工作效率。 这个工具包括诸如构build应用程序脚本,安装依赖项,合并资源,使用实时重新加载开发服务器等的东西。也就是说,您可以构build一个Ember应用程序,而无需使用Node,只需要做更多的工作你自己。

Ember还支持通过Fastboot在服务器上呈现其视图。