这些概念听起来很火,当下也很流行,真正理解起来却并非易事。如果让我来全面的解释Web App和Hybird App,我觉得还有些困难。

这篇文章只是我深入了解移动领域开发过程中的不断整理和总结,其中涉及到很多概念,观点,个人的看法,有不确切的地方,欢迎指正。

阅读这篇文章,您将了解到

移动网站版本现状

Web App 出现

web app由wap站发展而来

Web App 与移动站点区别

web app 与native区别

Hybird App 出现

更新与性能的矛盾

参考

移动网站版本现状

为了满足不同用户需求,移动网站一般分为3个版本  简版,触屏版,脑版。触屏版大多启用html5开发。笔者认为电脑版基本在手机端不可用。

以下是几个大公司的移动版本比较。

     

简版

触屏版

电脑版

凡客

   

简版

http://m.vancl.com/?r=668

触屏版

http://m.vancl.com/

电脑版

     
   
去哪儿

触屏版

http://touch.qunar.com/

电脑版

大众点评

触屏版

http://m.dianping.com/

普通版

http://wap.dianping.com/

当当网

触屏版

http://m.dianping.com/

普通版

http://wap.dianping.com/

单纯点说,触屏版专为大屏幕的触屏手机设计,而彩版在传统智能机上应用也很多。

从技术上讲现在常见的手机网站,所谓的触屏版很多都是以html5开发的了;而所谓的彩版WAP网站,普遍是基于WAP2.0开发的;在技术上,两者就不是一个层面。

因为开发技术的不同,让触屏版通常拥有更好的视觉效果及交互方式。这点在控件的使用上尤其明显。由此也有引出两者设计风格的区别。

Web App 出现

web app由wap站发展而来

AppCan 为Web App的定义是:

打包您的wap网站入口并生成应用,用户安装应用后无需输入网址,点击击图标直接访问你的网站。

http://doc.appcan.cn/dev_web.html#dev2

如果在AppCan上创建一个Web app ,只需输入一个网址就会生成一个安装在手机上的应用,实际上是内部对网站做了一层包装,以快捷方式的形式访问移动网站。

笔者认为这只是对web app的初步理解,这样直接转换的可用性也很差,大多是字体严重变小等问题。

资料说

百度SiteApp是致力于为开发者、站长提供从生成WebApp到流量、用户引入再到变现的综合服务平台,亦是国内首家的WebApp在线生成服务平台。

http://jingyan.baidu.com/article/4f34706e8ae529e387b56dd5.html 这里有一篇SiteApp制作步骤,看完以后,我直接理解为用户还是需要输入域名才能访问这个webapp!

优点:企业的开发成本低

弊端:这个app的入口与网址有关,不利于输入和发现。

不过百度把这个siteApp服务划分到LightApp模式的一种,与其并列的还有 Clouda服务和AppBuilder服务

Web App 与移动站点区别

笔者认为在实际应用中,客户是不会严格区分到底是移动网站还是webapp的,这和设计风格,实现功能密切相关。移动网站会无限趋近于webapp

Web App 与native区别 

Web App 与native本质区别是 Native App是独立的可执行文件,直接与操作系统进行联系,Web App则在浏览器里面运行,通过浏览器引擎与操作系统通信。

主流的浏览器引擎:

WebKit 是一种浏览器引擎,支撑着 iPhone 内的 Mobile Safari 浏览器以及 Android 内的浏览器背后的技术。WebKit 也在其他的移动环境内有自己的用武之地,但是我们还是将我们的讨论一般集中于 iPhone 和 Android 平台。

浏览器本身是可直接访问操作系统API的一种Native App,但是只有数量有限的这些API向浏览器里面运行的Web App公开。

虽然Native App可以完全访问设备,但是许多特性只是部分可供Web App使用,或者根本不可使用。预计这种情况在将来会随着HTML的改进而改变,但是如今的移动用户无法使用这些功能。

Hybird App 出现

介于WebApp和NativeApp模式之间的一种应用,现在越来越觉得百度提出的Light App就是基于这种模式的变种,看看百度的定义:

即轻量级应用,是一种基于平台级手机客户端而产生的服务;开发门槛低、占用系统资源少;体验优于 Web APP,比 Native APP 轻但能实现等同 Native APP 的丰富功能和精致交互体验

还有一个观点:

我们曾多次提及微信的公众账户就是一个简易的 APP,而整个微信则变身一个简易的 APP Store。而做入口,做平台是巨头们一贯的思路,显然百度也想通过 Light APP 重塑百度客户端的入口和平台地位,变身移动 APP Store

个人感觉百度推出这个Light App对于开发者的分发渠道途径,也不会提高到哪里。和当初的网页集成应用类似。像内置的嘀咕打车,58同城,都是公司之间深入的合作,普通开发者应该没有这样的能力和机会。

更新与性能的矛盾

相比于webapp,hybird app 把Web代码封装到App里面可以提高性能和可访问性,但是不允许远程更新。性能有一定保证,更新还是要走app store。

笔者之前做移动网站时 曾经考虑多大程度的使用js,主要因素就是js库对网络环境的依赖,实际上如果是hybird应用,可以认为整个js库是封装到本地的,这样就减少了对网络环境的依赖度。

注意:以上所说的hybird app区别于Light App,比较出名的hybird app有淘宝客户端App

以上是文章的所有,如果觉得我的文章稍微有些价值,就推荐并留言讨论吧

参考

http://www.tudou.com/programs/view/8OQEq1pntVs/

浏览器引擎WebKit一统江山

http://www.36kr.com/p/201330.html

百度将推出Light APP快速生成工具、分发机制和运行平台

http://www.36kr.com/p/203238.html

何为Web App,何为Hybird App的更多相关文章

  1. 开发框架-APP:Hybird App

    ylbtech-开发框架-APP:Hybird App Hybrid App(混合模式移动应用)是指介于web-app.native-app这两者之间的app,兼具“Native App良好用户交互体 ...

  2. HyBird App(混合应用)核心原理JSBridge

    目录 app分类 HyBird App(混合应用) JSBridge介绍 优势及应用场景 JsBridge的核心 1.Web端调用Native端代码 1.1 拦截URL Schema 1.2 注入ap ...

  3. Web App, Native APP,Hybird App 介绍

    一.Web App 这个主要是采用统一的标准的 HTML,JavaScript.CSS 等 web 技术开发. 用户无需下载,通过不同平台 的浏览器访问来实现跨平台, 同时可以通过浏览器支持充分使用 ...

  4. Cordova+ionic 开发hybird App --- 开发环境搭建

    Cordova 开发hybird App 开发环境搭建 一.一些基础概念: Ant : 简单说来可以这么理解,如果你用记事本写JAVA程序,然后在cmd里输入javac命令编译它,但是有一天你发现每次 ...

  5. 用ionic快速开发hybird App(已附源码,在下面+总结见解)

    1.ionic简介 ionic 是用于敏捷开发APP的解决方案.核心思路是:利用成熟的前端开发技术,来写UI和业务逻辑.也就是说,就是一个H5网站,这个区别于react-native,native.即 ...

  6. hybird app混合开发介绍

    一 概念 1 Hybird App,是用现有前端(html,js,css)技术来开发的app.特点:1 灵活(开发灵活 ,部署灵活) 2 拥有类似原生的性能体验. 2 不是h5页面,也不是在webvi ...

  7. native app、web app、hybrid app、react-native 区别

    Native App:指的是原生应用程序,一般依托于操作系统,有很强的交互. 技术:Objective-C Java Native App开发的优点 提供最佳的 户体验 拥有系统级别的通知或提醒 可以 ...

  8. Hybird App(一)----第一次接触

    App你知道多少 一 什么是Native App 长处 缺点 二 什么是Web App 长处 缺点 三 什么是Hybrid App 长处 缺点 四 Web AppHybrid AppNative Ap ...

  9. Hybird App ( 混合模式移动应用)开发初体验

    最近1,2个月一直都尝试开发一款Hybird app,遇到了很多问题,谈谈自己的体会. Hybird app (混合模式移动应用),它利用例如安卓端webview组件+HTML5内嵌的方式混合的方式开 ...

随机推荐

  1. 如何取得nginx做反向代理时的真实IP?

    1. 编译 对于client -> nginx reverse proxy -> apache, 要想在程序中取得真实的IP,在执行nginx的configure时,必须指定参数" ...

  2. MFC DestroyWindow[转]

    考虑单窗口情况: 假设自己通过new创建了一个窗口对象pWnd,然后pWnd->Create.则销毁窗口的调用次序: 1. 手工调用pWnd->DestroyWindow(): 2. De ...

  3. 基数排序简单Java实现

    基数排序(radix sort)又称“桶子法”,在对多个正整数进行排序时可以使用.它的灵感来自于队列(Queue),它最独特的地方在于利用了数字的有穷性(阿拉伯数字只有0到9的10个). 基数排序使用 ...

  4. [Postgres]Postgres复制表

    在需要把含有分表的总表备份的时候想到的笨办法,如果有什么更先进的办法万望告知. 比如TableOld是由TableOld1,TableOld2,TableOld3组合而成,现在需要对TableOld进 ...

  5. Hibernate实体类注解的问题

    刚刚和八千哥弄一个问题,这个很诡异的问题,困扰了我这么长时间.哎,说来惭愧. 用三大框架写毕设,结果今天获取前台数的时候,发现传值有个传不到. 我一开始用的是名为cows的数据,后来换了个数据库,加了 ...

  6. centos 中 mongodb 启动失败的修复

    mongodb是使用centos的yum命令安装的,整个的安装过程如下: 1. 运行 yum info mongo-10gen查看是否有mongodb源,如有跳至第3步. 2. 运行 vim /etc ...

  7. Solr中的概念:分析器(analyzer)、字符过滤器(character filter)、分词器(Tokenizer)、词元过滤器(Token Filter)、 词干化(Stemming)

    文本中包含许多文本处理步骤,比如:分词,大写转小写,词干化,同义词转化和许多的文本处理. 文本分析既用于索引时对一文本域的处理,也用于查询时查询字符串的文本处理.文本处理对搜索引擎的搜索结果有着重要的 ...

  8. 调用kylin的restAPI接口构建cube

    调用kylin的restAPI接口构建cube 参考:http://kylin.apache.org/docs/howto/howto_build_cube_with_restapi.html 1. ...

  9. angular 程序架构

  10. 纸壳CMS 3.0升级.Net Core 2.1性能大提升

    微软发布了.Net Core 2.1正式版,纸壳CMS也在第一时间做了升级,并做了一系列的优化和调整,性能大幅提升,并解决了一些历史遗留问题,添加了一些新功能. Github https://gith ...