这些概念听起来很火,当下也很流行,真正理解起来却并非易事。如果让我来全面的解释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. 利用BeanUtils.copyProperties 克隆出新对象,避免对象重复问题

    1.经常用jQuery获取标签里面值val(),或者html(),text()等等,有次想把获取标签的全部html元素包括自己也用来操作,查询了半天发现$("#lefttr1"). ...

  2. CSS3: box-sizing & content-box 属性---元素的border 和 padding 影响内容的 width 和 height解决方案

    /* 关键字 值 */ box-sizing: content-box; box-sizing: border-box; /* 全局 值 */ box-sizing: inherit; box-siz ...

  3. pyhon 去除列表中重复元素

    Python set() 函数 描述 set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集.差集.并集等. 语法 set 语法: class set([iterabl ...

  4. invoke方法

    主要是为了类反射,这样你可以在不知道具体的类的情况下,根据配置的字符串去调用一个类的方法.在灵活编程的时候非常有用.很多框架代码都是这样去实现的.但是一般的编程,你是不需要这样做的,因为类都是你自己写 ...

  5. FNDLOAD Commands to Download Different Seed Data Types. (DOC ID 274667.1)

    In this Document Goal Solution References Applies to: Oracle Application Object Library - Version 11 ...

  6. 使用python读写excel

    项目中要在excel要跨工作簿根据一列数据获取另一列的数据,而excel本身的函数vlookup一直不太好用,只能用程序进行处理了,最近刚接触了python,灵机一动使用Python进行处理,先将js ...

  7. .Net Core使用HttpClient请求Web API注意事项

    HttpClient 使用HttpClient可以很方便的请求Web API,但在使用时有一些需要注意的地方,不然会给你的程序带来毁灭性的问题. HttpClient是一个继承了IDisposable ...

  8. JAVA异常的最佳工程学实践探索

    此文已由作者占金武授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 先说明一下背景: 项目日志中的Exception会被哨兵统一监控并报警 比较多的项目基于dubbo在做服务化 ...

  9. djang系列5.5-- 图书管理系统实例

    一.表格设计 E-R图 分析图 models.py from django.db import models # Create your models here. class Author(model ...

  10. Syncthing源码解析 - 源码目录说明!

    Syncthing是一个免费开源的p2p软件,Go语言编写的! 官网:https://syncthing.net/ 源码:https://github.com/syncthing/syncthing/ ...