2015-02-12 67 views
0

this article从制作的Airbnb全栈JavaScript框架是否在客户端或服务器上创建HTML?

它说

一种混合的方法

在一天结束的时候,我们真的希望新老 方法的混合体:我们要服务从服务器完全形成HTML为 的性能和SEO,但我们希望客户端应用程序逻辑的速度和灵活性为 。

为此,我们一直在Airbnb上尝试使用“Isomorphic JavaScript”应用程序,它们是可在客户端和服务器端运行 的JavaScript应用程序。

因此,我对整堆JavaScript框架是否在服务器或客户端上呈现HTML文件感到困惑。我目前受过教育的猜测是,有些框架在客户端独占地创建HTML文件,有些仅在服务器上创建,有些则混合使用。但哪些是哪些?

+2

也许有用的信息给你:http://garann.github.io/template-chooser/ – jdphenix 2015-02-12 07:06:14

回答

1

说实话,它可能会有点混乱。特别是如果你只是阅读它并不实际尝试。

我尝试很快澄清,但如果有不清楚的地方,让我知道:)

第一件事,第一:什么是同构的JavaScript?简化它意味着你在前端和后端使用相同的代码,这通常可以感谢Node.js(或新的fork iojs)。现在

,直到最近,这是正常的,提供或多或少的静态HTML页面到客户端。如果html在服务器上实际上是静态的,或者服务器动态地创建它,那么无关紧要 - 客户端只是呈现它所获得的HTML。

有了这样的角或作出反应的方法,新的框架是不同的:基本上,你在客户端动态生成HTML和要求服务器只为数据。这意味着你的服务器通常只是一个(json)API!

但是,一些框架有一个“预渲染”html服务器端的选项,它基本上只是意味着初始请求返回正确的html,因为我们已经知道它,并从那里客户端接管操纵DOM再次。

通常你做,因为你想有多个页面“单页”应用程序。单页只是意味着你不需要重新加载。 而你想要的主要原因是你的webapp在智能手机/平板电脑上看起来更好。 目标是获得“本土”的感觉,即使它只是一个网站。

它有几个优势,显然也有不少缺点,但如果你有兴趣在他们努力学习这些框架之一,并从那里。 Angular.js是目前大多数人使用的“标准”框架 - 所以在这里不会出错。

我个人很喜欢React.js相当多,但它并不像流行的角(没有?)。

一些人甚至合并他们俩,但你真的需要知道你做了什么,使这项工作在某种程度上是有道理的所以才去与一个 - >它们都提供了你需要的一切。

你也可以看看灰烬或主干但概念是非常相似的角度,可能有点不太复杂,但没有被广泛使用。

希望这是更清晰一点,现在我没有让事情变得更糟:)

+0

好了,所以它的声音就像你肯定我暗示我的问题一样。你能澄清一下你的回应,哪些框架在HTML渲染服务器/客户端方面有哪些选项?如果你还没有阅读我最初发布的文章! – 2015-02-13 09:22:17

+1

他们通常都使客户端,因为如果你这样做服务器端,你可以回退到一个经典的方法。 然而,反应DEF有一个可选的服务器端预渲染选项(同构 - 让您使用相同的代码的服务器/客户端)。 有最有可能的一些模块,提供相同的角或类似的框架,但据我所知它不会用它来开箱... – 2015-02-13 09:27:24

+0

该文章的Airbnb似乎影射流星是为数不多的同构框架,是一个采用文章所指的“混合方法”。 – 2015-02-13 09:29:28

相关问题