之前一直在做JAVA的项目。近期要开发移动端。对App的开发刚開始的时候是没有不论什么概念的。有接触也就是玩手机用过的N多App,这算是真正意义山的第一次和App握手相识!

App,你知道多少?


眼下主流的应用程序有三大类:

一、 什么是Native App?

Native App即原生应用。即我们一般所称的client,是针对不同手机系统单独开发的本地应用,如需使用须要先下载到手机并安装,下载Native App的最常见方法是訪问应用程序商店,如苹果的App Store、安卓市场、Google Play等。

在技术实现上一般採用针对操作系统的特定语言进行编写,如:使用Objective-c开发IOS应用,使用Java+Android开发android应用。

长处

  • 执行效率高
  • 可调用各种设备资源

缺点

  • 人力成本高
  • 公布速度慢(AppStore确认的时间非常长)
  • 更新版本号的问题(用户就是不更新。)
  • 实现图文混排等功能拥有各种坑!

二、 什么是Web App?

Web App又叫Web应用。简单的说就是一个触屏版的站点。Web应用全然用HTML、JavaScript和CSS等Web技术开发,通过移动设备的浏览器来訪问,缺点是这些基于浏览器的应用无法调用系统API来实现一些高级功能。也不适合高性能要求的场合。WebApp的核心思路:

常见Web App框架对照:

长处

  • 开发成本低,使用现有的Web开发技术就可以
  • 适用范围广。覆盖全部智能手机,跨平台和终端
  • 方便、快捷地部署,无需用户安装
  • 用户总能訪问到最新版本号。迭代更新easy
  • 可被搜索引擎收录并带来流量

缺点

  • 浏览体验短期内还无法超越原生应用
  • 不支持离线模式(HTML5将会解决问题)
  • 消息推送不够及时
  • 调用本地文件系统的能力弱
  • 较差的和较慢的性能体验(大部分须要链接互联网)
  • 支持图形和动画效果较差
  • 不适用于应用商店及没有靠下载应用盈利机会
  • 限制用户使用功能(比方。相机、GPS等)

Web APP 的开发基于Html5语言。

而Html5语言本身又有着不可避免的局限性。

正是这些局限性的存在,使得Web App在体验中要逊于Native App。详细的首先因素及设计要点大家能够去參考《聊聊Web App、Hybrid App与Native App的设计差异

三、 什么是Hybrid App?

Hybrid App又叫混合应用,是一种介于Native App、Web App之间的App,它尽管看上去是一个Native App,但仅仅是一个UI WebView,里面訪问的是一个Web App。Hybrid App实质是伪造一个浏览器的apk/ipa原生程序,并执行了一个Web APP。Hybrid App兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。它能够使web开发人员能够差点儿零成本的转型成移动应用开发人员,而且同样的代码仅仅需针对不同平台进行编译就能实现在多平台的分发。而相较于Web App,开发人员能够通过包装好的接口。调用大部分经常使用的系统API。

长处

  • 综合了开发效率和执行效率
  • 发版本号更方便

缺点

  • 执行效率中等(切换等交互效果)
  • 须要写一点原生代码(至少2个平台)

四、 Web App、Hybrid App、Native App比較

条件\应用程序 Web App Hybrid App Native App
开发成本
维护更新 简单 简单 复杂
体验
Store或market认可 不认可 认可 认可
安装 不须要 须要 须要
跨平台
开发语言 网页语言HTML5+JS 网页或原生语言 原生语言ObjectC、java、net等
跨平台性
设备能力
向后兼容

从上面的表格中能够看出,没有哪一种开发方法总是提供全部的长处。

每一种开发方法有天生的局限性,没有哪一种方法能够满足现代移动企业的全部要求、应对复杂情况。选择一种合适的方法取决于企业的详细要求,可能取决于诸多因素,比方预算、时间表、内部资源、目标市场、所需的应用程序功能、IT基础设施及其它很多方面。可是有一点非常清楚:现在的大多数公司显然在两个方面之间作取舍:一是用户体验和应用程序功能,还有一是开发成本和产品上市时间。问题就变成了选择一种合适的开发方法,能兼顾企业的要求和其在预算和产品上市时间方面的限制。

參考文章:

码字非常辛苦,转载请注明出处:令仔非常忙—-《Hybird App(一)—-第一次接触

Hybird App(一)----第一次接触的更多相关文章

  1. hybird app(混合式app开发)cordova ionic 创建相应平台的app

    hybird app(混合式app开发) 之ionic 框架平台 guide cordova 创建相应平台的app 1. npm install -g cordova //全局安装cordova-cl ...

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

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

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

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

  4. 第一次接触终极事务处理——Hekaton

    在这篇文章里,我想给出如何与终极事务处理(Extreme Transaction Processing (XTP) )的第一次接触,即大家熟知的Hakaton.如果你想对XTP有个很好的概况认识,我推 ...

  5. 通过chrome inspect 来调试手机hybird APP

    hybird APP 虽然显示效果和编译前的前端页面大致相同,但是其中操作可能会调用一些浏览器中没有的接口,从而产生一些意料之外的问题,因此了解和掌握如何调试就变得尤为重要. 本文简要介绍了如何利用c ...

  6. [译]与TensorFlow的第一次接触(三)之聚类

    转自 [译]与TensorFlow的第一次接触(三)之聚类 2016.08.09 16:58* 字数 4316 阅读 7916评论 5喜欢 18 前一章节中介绍的线性回归是一种监督学习算法,我们使用数 ...

  7. hybird app混合开发介绍

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

  8. 开发框架-APP:Hybird App

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

  9. 何为Web App,何为Hybird App

    这些概念听起来很火,当下也很流行,真正理解起来却并非易事.如果让我来全面的解释Web App和Hybird App,我觉得还有些困难. 这篇文章只是我深入了解移动领域开发过程中的不断整理和总结,其中涉 ...

随机推荐

  1. configure.ac中AC_CHECK_LIB的问题

    编译Linux程序时,使用configure.ac生成的configure程序,时常会出现AC_CHECK_LIB检查某个库失败 而相应库通常是存在的,只是依赖于其他的库,此时,需要乃至AC_CHEC ...

  2. 欧拉函数O(sqrt(n))与欧拉线性筛素数O(n)总结

    欧拉函数: 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目. POJ 2407.Relatives-欧拉函数 代码O(sqrt(n)): ll euler(ll n){ ll ans=n; ...

  3. HDU 2612 Find a way【多起点多终点BFS/两次BFS】

    Find a way Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  4. 链式前向星写法下的DFS和BFS

    Input 5 7 1 2 2 3 3 4 1 3 4 1 1 5 4 5 output 1 5 3 4 2 #include<bits/stdc++.h> using namespace ...

  5. 最小生成树 (Minimum Spanning Tree,MST) --- Prim算法

    本文链接:http://www.cnblogs.com/Ash-ly/p/5409904.html 普瑞姆(Prim)算法: 假设N = (V, {E})是连通网,TE是N上最小生成树边的集合,U是是 ...

  6. linux程序与进程内存结构

    1.可执行文件结构: 1)代码区:包含操作码和操作对象.常量数据(const声明).立即数,代码区是共享的, 只提供只读. 2)全局/静态数据区:包含被初始化的全局数据和初始化静态数据. 3)未初始化 ...

  7. 学习LSM(Linux security module)之三:Apparmor的前世今生和基本使用

    感冒了,感觉一脑子浆糊,真是蛋疼. 先粗略讲一些前置知识. 一:MAC和DAC DAC(Discretionary Access Control),自主访问控制,是最常用的一类访问控制机制,意思为主体 ...

  8. ASP.NET Core 2.2 基础知识(九) 使用托管服务实现后台任务

    在 ASP.NET Core 中,后台任务作为托管服务实现.托管服务是一个类,而且必须实现 IHostedService 接口,该接口定义了两个方法: StartAsync(CancellationT ...

  9. 和java面试不得不说的故事

    一直都没有想到,可以有机会可以面试他人,很感谢现在的公司,给我不少的机会可以尝试从不同方面尝试一些工作,在入职现公司之前也作为面试者参加过不少面试,不过还好,面试通过率都还好,大部分是待遇谈不拢.现在 ...

  10. 【AC自动机】【动态规划】poj3691 DNA repair

    http://blog.csdn.net/kk303/article/details/6929641 http://blog.csdn.net/human_ck/article/details/657 ...