如何制作像flipkart或亚马逊一样加载的网络应用程序?

时间:2017-04-20 09:30:40

标签: jquery angularjs node.js performance lazy-loading

基本上我想知道这些webapp使用哪种技术或语言?

我想实现以下目标:

  • 主要内容应首先加载,辅助内容应在主要内容加载后在后台加载。
  • 第三内容应仅在滚动
  • 上加载

我所知道的并且不想使用

  • 基本的ajax通话
    1. 当主要内容加载时,触发辅助内容的ajax调用
    2. 当用户滚动
    3. 时,触发针对第三方内容的ajax调用
  

我愿意使用任何技术

1 个答案:

答案 0 :(得分:3)

在谈到Web App时,主要作用是“架构”而不是语言

在开发服务器端企业应用程序时。它必须支持各种不同的客户端,包括桌面浏览器,移动浏览器和本机移动应用程序。该应用程序还可能公开供第三方使用的API。它还可以通过Web服务或消息代理与其他应用程序集成。该应用程序通过执行业务逻辑来处理请求(HTTP请求和消息)。访问数据库;与其他系统交换消息;并返回HTML / JSON / XML响应。有逻辑组件对应于应用程序的不同功能区域。

问题:应用程序的部署体系结构是什么?

解决方案::定义一种体系结构,将应用程序构造为一组松散耦合的协作服务。

示例: 虚拟电子商务应用程序

让我们想象一下,您正在构建一个电子商务应用程序,该应用程序可以接收客户的订单,验证库存和可用信用,然后发货。该应用程序由几个组件组成,其中包括实现用户界面的StoreFrontUI,以及一些用于检查信用,维护库存和运输订单的后端服务。该应用程序由一组服务组成。

此解决方案有很多好处:

  • 实现大型复杂应用程序的连续交付和部署。
  • 可测试性更好-服务更小,测试更快
  • 更好的可部署性-服务可以独立部署
  • 每个微服务相对较小
  • 使开发人员更容易理解
  • IDE更快使开发人员提高生产力
  • 应用程序启动速度更快,这使开发人员更加 高效,并加快部署速度
  • 改进的故障隔离。例如,如果存在内存泄漏 一项服务,那么只有该服务会受到影响。另一个 服务将继续处理请求。相比之下, 整体架构的行为不当会降低 整个系统。
  • 消除了对技术堆栈的任何长期承诺。什么时候 开发新服务,您可以选择新技术堆栈。 同样,在对现有服务进行重大更改时,您可以 使用新技术栈对其进行重写。