首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么我不直接在Javascript和Javascript HTML模板中构建整个web应用呢?

为什么我不直接在Javascript和Javascript HTML模板中构建整个web应用呢?
EN

Stack Overflow用户
提问于 2011-03-07 03:33:20
回答 3查看 3.5K关注 0票数 18

在一个应用程序中,我需要开始缓存数据,这让我开始思考……

  1. 在应用程序的某些部分中,我渲染表格行(jqGrid、slickgrid等)。
  2. 在应用程序的其他部分,我只用纯超文本标记语言(服务器端的HAML模板)呈现信息,如果有搜索/分页功能,我只需转到一个新的网址并加载一个新的超文本标记语言页面。

现在问题出在缓存和可维护性上。

一方面,我在想,如果一切都是使用Javascript HTML模板构建的,那么我的应用程序将只提供一个HTML布局/shell和一堆JSON。如果你看看Facebook和Twitter的HTML源代码,这基本上就是他们正在做的事情(95%的json/javascript,5%的html)。这将使我的应用程序只需要缓存JSON (页面、操作和/或记录)。这意味着,无论您是访问JSON api的远程api开发人员,还是访问strait应用程序的远程api开发人员,都会访问缓存。也就是说,我不需要两个缓存,一个用于JSON,一个用于HTML。这似乎会将我的缓存存储减少一半,并使事情变得更简单。

另一方面,我认为,根据我所见/所见,在服务器端生成静态HTML,并进行缓存,似乎跨浏览器的性能要好得多;您可以立即获得图形,而不必等待javascript渲染它。StackOverflow似乎每件事都是用普通的超文本标记语言做的,谷歌也是如此,你可以看出……所有内容都会同时出现。请注意,尽管在twitter.com上,页面在0.5-1秒内是空白的,并且页面会分块: javascript必须呈现json。这样做的缺点是,对于任何动态的东西(如无休止的滚动,或网格),我无论如何都必须创建javascript模板。所以现在我有了服务器端的HAML模板、客户端的javascript模板,还有更多的东西需要缓存。

我的问题是,对于如何处理这个问题,有没有达成共识?你将两者混合在一起的经验与100%将一个放在另一个上的经验有什么好处和缺点?

更新:

我还没有决定使用100% javascript模板的一些原因是:

  • Performance.尚未正式测试,但据我所见,原始html的渲染速度比javascript生成的html跨浏览器更快、更流畅。另外,我不确定移动设备如何处理动态html performance-wise.
  • Testing.。我有很多集成测试可以很好地处理静态HTML,因此切换到只使用javascript将需要1)更专注于纯javascript测试(jasmine),以及2)将javascript集成到水豚集成测试中。这只是时间和工作的问题,但很可能是significant.
  • Maintenance.摆脱HAML。我喜欢HAML,它很容易写,打印出来的HTML也很漂亮……它使代码干净,使维护变得容易。使用javascript,没有什么比concise.
  • SEO.更好的了我知道谷歌处理ajax /#!/path,但还不知道这将如何影响其他搜索引擎,以及较老的浏览器如何处理它。这似乎需要一个重要的设置。
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5212859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档