因为移动互联网特别火爆,很多企业公司都想开发一个属于自己的app,但是因为原生app开发的成本比较高,而且后期维护比较困难,这些开发成本和后期维护成本对于个人创业者来说或者初期创业公司来说是玩不起的,所以就寻求一种方式既可以低成本,也可以快速开发移动应用,那么web app是最好的选择!

web app是用HTML5编写的移动web运用,依赖于浏览器(微信浏览器、qq浏览器),可以不加修改,直接运行在Android、iOS、pc端。看起来像是一个app,其实就是给web站变异打包了个app壳,可以发布到各个平台上,比如:安卓、iOS、黑莓、win phone等等。

但是web app与原生app相比有几点不足

  • Web基于DOM,而DOM很慢。浏览器打开网页时,需要解析文档,在内存中生成DOM结构,如果遇到复杂的文档,这个过程是很慢的。可以想象一下,如果网页上有上万个、甚至几十万个形状(不管是图片或CSS),生成DOM需要多久?更不要提与其中某一个形状互动了。

  • DOM拖慢JavaScript。所有的DOM操作都是同步的,会堵塞浏览器。JavaScript 操作 DOM 时,必须等前一个操作结束,才能执行后一个操作。只要一个操作有卡顿,整个网页就会短暂失去响应。浏览器重绘网页的频率是60FPS(即16毫秒/帧),JavaScript 做不到在16毫秒内完成 DOM 操作,因此产生了跳帧。用户体验上的不流畅、不连贯就源于此。

  • 虽然现在浏览器也支持多线程,比如JS解析在一个线程,渲染在一个线程,但一般是按照先解析再渲染再执行 JS 这样的顺序执行的。

  • 在Android早期的版本中,webview的性能很差

所以web app还有很大的发展空间,未来指不定是它的天下。

什么是web app相关推荐

  1. web App libraries跟referenced libraries的一些问题

    该博文内容经参看网上其他资料归纳所成,并注明出处: 问题一:myeclipse中Web App Libraries无法自动识别lib下的jar包(http://blog.csdn.net/tianca ...

  2. 解决myeclipse中新建javaweb工程,无法使用Web App Libraries问题

    在myeclipse中新建的java web工程,lib中的jar包无法自动加载工程,不能像eclipse那样使用Web App Libraries. 即使添加了Web App Libraries这个 ...

  3. iOS progressive Web App (PWA) 技术

    随着 iOS 11.3 的发布,iOS + PWA 的时代终于来了!本文对 iOS 中 PWA 的能力进行了分析,并将其与 iOS 上的 Native App.Android 上的 PWA 进行了深度 ...

  4. 在 Azure 上部署 Asp.NET Core Web App

    在云计算大行其道的时代,当你要部署一个网站时第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core的网站呢?Azure 的 Web App ...

  5. 如何使用Next.js创建动态的Rick and Morty Wiki Web App

    Building web apps with dynamic APIs and server side rendering are a way to give people a great exper ...

  6. Web App、Hybrid App与Native App的设计差异

    目前主流应用程序大体分为三类:Web App.Hybrid App. Native App. 一.Web App.Hybrid App.Native App 纵向对比 首先,我们来看看什么是 Web ...

  7. BasicModal - 简单易用的现代 Web App 弹窗

    BasicModal 是为现代 Web 应用程序打造的弹窗系统.它包括所有你需要显示的信息,问题或接收用户的输入.这里的弹窗还可以链接起来,所以你可以很容易地建立一个预定义顺序的安装帮助或显示对话框. ...

  8. 基于Java的webapp_几乎所有基于Java的web app都需要Model 2 (part II) (转)

    几乎所有基于Java的web app都需要Model 2 (part II) (转)[@more@] 几乎所有基于的 app都需要Model 2 当Web容器从客户端接收到一个请求时,控制流开始运行. ...

  9. 你的首个 Progressive Web App

    Progressive Web Apps 是结合了 web 和 原生应用中最好功能的一种体验.对于首次访问的用户它是非常有利的, 用户可以直接在浏览器中进行访问,不需要安装应用.随着时间的推移当用户渐 ...

  10. REM+SVG Sprite,web app案例

    REM+SVG Sprite,构建新时代web app <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN&quo ...

最新文章

  1. 白盒测试和黑盒测试_黑盒测试与白盒测试的比较
  2. HTML+CSS+JS实现燃烧的火焰火花动画特效
  3. Git 本地项目添加多个远程仓库
  4. [luoguP2463] [SDOI2008]Sandy的卡片(后缀数组 + st表)
  5. p10可以适配鸿蒙吗,鸿蒙系统支持旧机型吗
  6. 什么是php渲染,php数据渲染输出
  7. Android开发笔记(序)写在前面的目录
  8. spring-页面模板配置
  9. 爱上MVC系列~过滤器实现对响应流的处理
  10. Swift开发教程--怎样设置状态栏的文字颜色
  11. 水晶报表图表出现红叉叉的解决方法
  12. 普京任命卡德罗夫为车臣总统
  13. 大学三年来的心路历程分享
  14. 【国产替代】推动安全芯片产业国产化,华秋电子与华翼微达成合作!
  15. java domino 单点登录_Domino单点登录LTPAtoken生成原理
  16. 一个简单的SpringBoot项目 demo
  17. redhat enterprise 5 上安装oracle 10.2.0.1
  18. 华为Sx900存储的监控(使用Zabbix)
  19. nacos+gateway服务发现lb路由报503 Service Unavailable
  20. php 二级下拉菜单源码,二级联动菜单-PHP源码

热门文章

  1. 微信浏览器调起微信登录
  2. baidu patchrom项目 内存溢出解决方法
  3. CCF关于举办2019年NOI教师培训(首师附中)的通知
  4. 项目Tips---使用阿里的OOS实现简单的文件上传
  5. 【有利可图网】PS实战系列:用ps做出雨中油画的质感
  6. odoo13 学习 Actions 动作的定义
  7. python实现向qq邮箱发送邮件
  8. 用java定义图书book类_Java封装图书信息类
  9. 做成事情的3个要素:意愿、能力、资源
  10. ODU帧转OTU帧流程