4

我最近刚接触到 MV* 框架,并有机会通过他们网站上的TodoMVC应用程序教程试用Ember.js 。

我正在考虑将 Ember 用于我即将进行的一个项目(一个Ruby on Rails CRUD 应用程序,在某些功能上类似于 Twitter),但我仍然有点困惑,在我做出最终决定之前,如果有人我会喜欢它可以消除以下顾虑:

  1. 将 Ember 这样的高级框架用于中型多页面 CRUD 应用程序是否是个好主意?与使用 jQuery 的 DOM 操作和 AJAX 功能构建的交互层相比,它会缩短开发时间和维护吗?还是仅在开发复杂的单页应用程序(例如:Grooveshark )时才使用 Ember(等)?

  2. 考虑到应用程序将使用 Rails 开发,并假设将使用 Ember,是否可以为禁用 JavaScript 的浏览器和/或搜索引擎爬虫提供基本功能的后备?它会需要代码重复或其他肮脏的技巧吗?你知道任何可以用来实现它的技术吗?

  3. 是否有可能使网站适应移动浏览(仅使用 CSS)并获得有效结果,或者在手机上运行 Ember 所带来的开销是否会使设备难以以保持响应的方式呈现网站?

4

3 回答 3

3

我们现在正在进行一个非常大的 Ember 项目,所以这是我对您的问题的看法。

  1. 我们发现 Ember 在为我们的单页应用程序创建丰富的 UI 方面非常有效,但我不知道如果您正在创建一个为传统多页(查看页面)设计的应用程序,它会更有帮助,提交表格等)布局。

  2. 我认为这是关键——Ember 完全基于 JS,所以如果你需要支持没有 JS 的浏览器,你基本上必须编写一个并行应用程序。如果这是您的应用程序的硬性要求,我认为 Ember(或任何 MV* JS 框架)将是不可能的

  3. 我们在移动设备上遇到的性能问题非常少——我们的网站具有完全响应能力,并且可以在从黑莓到最新的桌面版 Chrome 浏览器的所有内容上进行渲染,并具有良好的性能。

于 2013-06-25T16:43:16.810 回答
0

@Scott Rankin,已经解决了使用 Pure Ember 方法的大部分问题。我将添加一种快速做出此决定的方法。

如果应用程序在登录之后,请使用 Ember/MVVM。然后你不必考虑搜索引擎,因为内容通常是私有的,不应该被索引。

对于 SEO,您必须构建至少部分内容,使其可索引。Discourse应用程序就是一个很好的例子。他们使用 Ember,但也将一些生成的 html 与应用程序 html slugs 一起发送,以便搜索引擎可以索引它们。你可以在这里阅读他们的方法。

于 2013-06-26T04:16:12.933 回答
0

我们有一种不同的方法,可以看作是一种回退:我们预渲染应用程序中每个页面的静态版本(每日计划任务)。此静态版本作为 HTML 文件存储在服务器上。每当我们作为蜘蛛/机器人用户代理嗅探时,我们都会提供该版本。

于 2015-01-20T15:03:56.113 回答