用于移动应用的rAppid.js——是服务器端渲染的实用工具
rAppid.js for mobile app - is server-side rendering practical?
我正在评估rAppid.js框架作为新项目的候选。该项目将是一个主要针对移动设备的web应用程序(我将使用web视图来包装它作为一个应用程序,可以提交到苹果和Android应用程序商店)。我意识到这不是rAppid.js构建的主要用例,但我认为它可能会很好地工作,至少在我的情况下,感谢rAppid.js的基于xml的UI语言。
理论上,我可以使用新的rAppid.js服务器来渲染模板,并将渲染的HTML发送给客户端吗?
考虑到我希望页面尽可能快地加载,并且应用程序不需要离线工作,我更愿意在服务器端呈现模板,并将它们作为纯HTML发送给客户端。显然,在这种情况下,框架只能为我提供单向数据绑定(除非我重新编写rAppid.js代码以支持类似于Derby框架的服务器渲染模型),但我认为应用程序的性能改进可能是值得的。
也许我对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支持基于路由的模块加载,所以也可以用预选的模块启动应用。
- 如何使用skip参数使用angular ui引导进行服务器端分页
- Webpack开发服务器和React服务器端渲染
- 提示使用服务器端事件处理程序激活JavaScript
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- 将表单数据提交到服务器端
- 使用ajax的服务器端分页&jQuery
- 显示具有服务器端自动时间注销的同步倒计时计时器
- 使用FormData上传AJAX图像;t在服务器端显示图像
- React路由器服务器端渲染和ajax获取数据
- renderReact/Rect Router+Node/Express.js的服务器端/同构渲染中未定义renderP
- Meteor如何运行服务器端python脚本
- CORS-服务器端cookie没有保存在chrome浏览器上
- 加载服务器端渲染的React组件后执行脚本
- 在服务器端创建的 DIV 元素的工具提示
- 我们如何使用 Javascript 将 HTML 表单数据存储到 XML 文件中(并且不使用任何服务器端工具,如 asp
- MSoft是否为服务器端错误插件或工具提供持久的客户端错误报告,以便与MVC3应用程序一起使用
- 是否有任何Javascript代码覆盖工具的脚本运行在服务器端(没有浏览器)
- 用于移动应用的rAppid.js——是服务器端渲染的实用工具