Javascript 脱机HTML的客户端与服务器端呈现
我正在创建一个HTML页面形式的交互式报告,需要离线访问。这些选项中的哪一个会产生更好的性能Javascript 脱机HTML的客户端与服务器端呈现,javascript,html,performance,rendering,Javascript,Html,Performance,Rendering,我正在创建一个HTML页面形式的交互式报告,需要离线访问。这些选项中的哪一个会产生更好的性能 提前创建所有HTML(通过服务器端脚本)并隐藏除一个(登录页)之外的所有“视图”。当用户单击菜单项时,隐藏当前可见的视图并取消隐藏与其选择相对应的视图 将所有数据作为JavaScript变量/对象包含。当用户从菜单中选择某个内容时,使用模板引擎(如handlebar.js)创建所需的HTML 我还发现了其他一些文章,涉及客户端渲染和服务器端渲染,但没有针对离线应用程序的内容,这些应用程序无法向服务器
- 提前创建所有HTML(通过服务器端脚本)并隐藏除一个(登录页)之外的所有“视图”。当用户单击菜单项时,隐藏当前可见的视图并取消隐藏与其选择相对应的视图
- 将所有数据作为JavaScript变量/对象包含。当用户从菜单中选择某个内容时,使用模板引擎(如handlebar.js)创建所需的HTML
我还发现了其他一些文章,涉及客户端渲染和服务器端渲染,但没有针对离线应用程序的内容,这些应用程序无法向服务器回拨以请求特定的数据点。在我的例子中,所有的数据(从几百到几千条记录)必须从一开始就包含在HTML中。我会将数据和模板发送到客户端,并在客户端上呈现HTML,原因很简单-它可能工作得更快(当然这取决于您的实际数据) 首先,如果在服务器上预呈现HTML,则要传输的数据量通常要大得多。模板和原始数据会小得多,因此应用程序的加载速度会更快 其次,用户可能不需要所有呈现的页面。如果只使用了部分页面,那么在服务器上呈现所有页面的资源将被浪费
还有一点——如果所有内容都在客户机上呈现,那么应该很容易使应用程序完全无需服务器。您可以随数据、应用程序代码和资产一起发送json文件,在这种情况下,它完全可以在没有服务器的情况下工作(当然,这只是一个要点,如果此用例与您的情况相关)。感谢您的回复!如果我们将服务器转移到等式之外的客户端传输时间,并且在HTML离线运行后只考虑页面加载时间,模板/原始数据仍然比预渲染HTML要快吗?很难预测什么会更快,你可以把数据取到客户端然后立即渲染所有的东西。这样以后就没有什么区别了。总时间将取决于服务器端渲染还是客户端渲染更快。但是,如果您有许多用户,则可以通过在客户端上渲染来减轻服务器的负载。