Javascript 移动应用程序的rAppid.js-服务器端渲染实用吗?

Javascript 移动应用程序的rAppid.js-服务器端渲染实用吗?,javascript,mobile,Javascript,Mobile,我正在评估一个新项目的候选框架。该项目将是一个主要针对移动设备的web应用程序(我将使用web视图将其包装为一个可以提交到苹果和安卓应用商店的应用程序)。我意识到这不是rAppid.js构建的主要用例,但我认为它可能工作得很好,至少在我的情况下,这要感谢rAppid.js基于XML的UI语言 理论上,我可以使用新的rAppid.js服务器在那里呈现模板并将呈现的HTML发送到客户端吗 考虑到我希望尽快加载页面,并且应用程序不需要脱机工作,我更愿意在服务器端呈现模板,并将其作为纯HTML发送到客户

我正在评估一个新项目的候选框架。该项目将是一个主要针对移动设备的web应用程序(我将使用web视图将其包装为一个可以提交到苹果和安卓应用商店的应用程序)。我意识到这不是rAppid.js构建的主要用例,但我认为它可能工作得很好,至少在我的情况下,这要感谢rAppid.js基于XML的UI语言

理论上,我可以使用新的rAppid.js服务器在那里呈现模板并将呈现的HTML发送到客户端吗

考虑到我希望尽快加载页面,并且应用程序不需要脱机工作,我更愿意在服务器端呈现模板,并将其作为纯HTML发送到客户端。显然,在这种情况下,框架只能为我提供单向数据绑定(除非我重新编写rAppid.js代码以支持与框架类似的服务器渲染模型),但我认为应用程序的性能改进是值得的

也许我对rAppidJS在移动设备上的客户端渲染速度过于悲观,但无论如何,我都很想听听对此的看法

理论上,我可以使用新的rAppid.js服务器在那里呈现模板并将呈现的HTML发送到客户端吗

是,使用节点渲染功能。但请记住,节点渲染是出于SEO原因开发的。 由于这种背景,应用程序的唯一状态是url。这可能适合应用程序概念(例如/user/{userid}/news)来呈现用户的新闻,但是呈现的站点将是完全静态的

因此,如果您依赖于用户输入、客户端验证,那么应该按照设计的方式使用rAppid:js,并在客户端上呈现完整的应用程序

考虑到我希望尽快加载页面,并且应用程序不需要脱机工作,我更愿意在服务器端呈现模板,并将其作为纯HTML发送到客户端。显然,在这种情况下,框架只能为我提供单向数据绑定(除非我重新编写了rAppid.js代码以支持类似于Derby框架的服务器呈现模型),但我认为应用程序的性能改进是值得的

我在RIA的经验是,有一个初始加载阶段(Flex应用程序显示加载程序,iOS本机应用程序显示图像,直到应用程序准备就绪),并且应用程序运行迅速,无需额外的加载时间。 如果将应用程序分成模块(rAppid.js非常支持这一点),并在启动时加载所需的模块,那么应用程序的加载速度应该非常快。如果将应用程序包装在web视图中,JS的性能将略优于在移动浏览器中运行它

您还可以尝试结合使用服务器端渲染和客户端渲染,但不要将它们混淆。因此,在服务器上呈现页面,并在应用程序的加载阶段显示静态html。只要应用程序完全加载,就切换视图

也许我对rAppidJS在移动设备上的客户端渲染速度过于悲观,但无论如何,我都很想听听对此的看法

在我们最新的项目中,我们还添加了一个预加载程序,并将项目分为多个模块。 与flash版本相比,我们还有10倍的体积更小,在桌面系统中的加载速度更快。在移动设备上,由于flash插件的缘故,它无法加载,所以我无法进行比较

如果您希望在移动设备上获得出色的性能,请将应用程序拆分为几个模块,并仅在需要时加载它们


rAppid:js支持基于路由的模块加载,因此也可以使用预选模块启动应用程序

谢谢你的详尽回答;这肯定会改变我的看法。在页面呈现期间显示静态HTML的想法非常聪明!这可以通过服务器端节点渲染功能实现,对吗?关于web视图与移动浏览器……web视图是否会更快,因为Javascript已经在手机上,而不需要下载,或者出于其他原因?