何为Web App,何为Hybird App
这些概念听起来很火,当下也很流行,真正理解起来却并非易事。如果让我来全面的解释Web App和Hybird App,我觉得还有些困难。
这篇文章只是我深入了解移动领域开发过程中的不断整理和总结,其中涉及到很多概念,观点,个人的看法,有不确切的地方,欢迎指正。
阅读这篇文章,您将了解到
移动网站版本现状
Web App 出现
web app由wap站发展而来
Web App 与移动站点区别
web app 与native区别
Hybird App 出现
更新与性能的矛盾
参考
移动网站版本现状
为了满足不同用户需求,移动网站一般分为3个版本 简版,触屏版,脑版。触屏版大多启用html5开发。笔者认为电脑版基本在手机端不可用。
以下是几个大公司的移动版本比较。
|
简版 |
触屏版 |
电脑版 |
|
凡客 |
||
|
简版 |
触屏版 |
电脑版 |
| 去哪儿 |
触屏版 |
电脑版 |
|
大众点评 |
触屏版 |
普通版 |
|
当当网 |
触屏版 |
普通版 |
单纯点说,触屏版专为大屏幕的触屏手机设计,而彩版在传统智能机上应用也很多。
从技术上讲现在常见的手机网站,所谓的触屏版很多都是以html5开发的了;而所谓的彩版WAP网站,普遍是基于WAP2.0开发的;在技术上,两者就不是一个层面。
因为开发技术的不同,让触屏版通常拥有更好的视觉效果及交互方式。这点在控件的使用上尤其明显。由此也有引出两者设计风格的区别。
Web App 出现
web app由wap站发展而来
AppCan 为Web App的定义是:
打包您的wap网站入口并生成应用,用户安装应用后无需输入网址,点击击图标直接访问你的网站。
如果在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快速生成工具、分发机制和运行平台
何为Web App,何为Hybird App的更多相关文章
- 开发框架-APP:Hybird App
ylbtech-开发框架-APP:Hybird App Hybrid App(混合模式移动应用)是指介于web-app.native-app这两者之间的app,兼具“Native App良好用户交互体 ...
- HyBird App(混合应用)核心原理JSBridge
目录 app分类 HyBird App(混合应用) JSBridge介绍 优势及应用场景 JsBridge的核心 1.Web端调用Native端代码 1.1 拦截URL Schema 1.2 注入ap ...
- Web App, Native APP,Hybird App 介绍
一.Web App 这个主要是采用统一的标准的 HTML,JavaScript.CSS 等 web 技术开发. 用户无需下载,通过不同平台 的浏览器访问来实现跨平台, 同时可以通过浏览器支持充分使用 ...
- Cordova+ionic 开发hybird App --- 开发环境搭建
Cordova 开发hybird App 开发环境搭建 一.一些基础概念: Ant : 简单说来可以这么理解,如果你用记事本写JAVA程序,然后在cmd里输入javac命令编译它,但是有一天你发现每次 ...
- 用ionic快速开发hybird App(已附源码,在下面+总结见解)
1.ionic简介 ionic 是用于敏捷开发APP的解决方案.核心思路是:利用成熟的前端开发技术,来写UI和业务逻辑.也就是说,就是一个H5网站,这个区别于react-native,native.即 ...
- hybird app混合开发介绍
一 概念 1 Hybird App,是用现有前端(html,js,css)技术来开发的app.特点:1 灵活(开发灵活 ,部署灵活) 2 拥有类似原生的性能体验. 2 不是h5页面,也不是在webvi ...
- native app、web app、hybrid app、react-native 区别
Native App:指的是原生应用程序,一般依托于操作系统,有很强的交互. 技术:Objective-C Java Native App开发的优点 提供最佳的 户体验 拥有系统级别的通知或提醒 可以 ...
- Hybird App(一)----第一次接触
App你知道多少 一 什么是Native App 长处 缺点 二 什么是Web App 长处 缺点 三 什么是Hybrid App 长处 缺点 四 Web AppHybrid AppNative Ap ...
- Hybird App ( 混合模式移动应用)开发初体验
最近1,2个月一直都尝试开发一款Hybird app,遇到了很多问题,谈谈自己的体会. Hybird app (混合模式移动应用),它利用例如安卓端webview组件+HTML5内嵌的方式混合的方式开 ...
随机推荐
- 递归,回溯和DFS的区别
递归是一种算法结构,回溯是一种算法思想一个递归就是在函数中调用函数本身来解决问题回溯就是通过不同的尝试来生成问题的解,有点类似于穷举,但是和穷举不同的是回溯会“剪枝”,意思就是对已经知道错误的结果没必 ...
- ui-router 之 $state.go
Ui-router 之 $state.go $state.go(arg1,arg2,arg3),有三个参数:第一个参数是你需要跳转的完整路由:第二个参数是query,当然不需要query,直接写{ ...
- Elasticsearch中的索引管理和搜索常用命令总结
添加一个index,指定分片是3,副本是1 curl -XPUT "http://10.10.110.125:9200/test_ods" -d' { "settings ...
- vscode怎样新建项目
首先,vscode本身没有新建项目的选项,所以要先创建一个空的文件夹喔. 然后打开vscode,再在vscode里面打开文件夹,这样才可以创建项目. 选择之前创建的空文件将作为vscode的文 ...
- django drf 自定义jwt用户验证逻辑
新建Backend类 from django.contrib.auth.backends import ModelBackend from django.shortcuts import render ...
- ASP.NET添加Mysql数据源
在ASP.NET的数据源控件上添加mysql数据库连接,首先需要在windows系统下添加mysql的数据源才能在vs中添加数据源 1.在控制面板下打开系统与安全-->打开管理工具-->点 ...
- spring的父子上下文容器及配置
本文由作者张远道授权网易云社区发布. spring父子容器 spring总的上下文容器有父子之分.父容器和子容器.父容器对子容器可见,子容器对父容器不可见. 对于传统的spring mvc来说,spr ...
- iOS View 外层奇怪的黑线
最近碰到一个问题,当时是为了建了一个能自动适应内容的 Label.根据内容,我计算出需要的尺寸,然后把新尺寸设置给 Label. 但是显示的时候,一个奇怪的现象出现了,Label 的顶端总是有一条浅浅 ...
- Ceph 基础知识和基础架构认识
1 Ceph基础介绍 Ceph是一个可靠地.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备存储和文件系统服务.在虚拟化领域里,比较常用到的是Cep ...
- 表格Table宽度设置无效的解决方法
表格Table宽度设置无效的解决方法 bootstrap中使用table时发现不管用width赋值方式都无法改变table>td的宽度 解决方法: 设置table:table-layout:fi ...