App混合开发(英文名:Hybrid App),是指在开发一款App产品的时候为了提高效率、节省成本即利用了原生的开发技术还应用了HTML5开发技术,是原生和HTML5技术的混合应用。目前App的开发主要包含三种方式:原生开发、HTML5开发和混合 开发。

原生应用开发,是在Android、IOS等移动平台上利用官方提供的开发语言、开发类库、开发工具进行App开发。比如android是利用java、eclipse、Android studio,IOS是利用Objective-C 和Xcode进行开发。原生应用由于利用的是官方提供的语言和工具并且能够直接操控硬件设备(比如多点触控、NFC、读取短信等),在应用性能上和交互体验上应该是最好的,但是原生应用的可移植性比较差,特别是一款原生的App,Android和IOS都要各自开发,同样的逻辑、界面要写两套。

HTML5应用开发,是利用Web技术进行的App开发,我们知道web技术本身需要浏览器的支持才能进行展示和用户交互。主要用到的技术是HTML5、JavaScript、CSS等。现在还有一些开发框架可以利用,比如phoneGap、bootstrap、jquery等。H5开发的好处是可以跨平台,编写的代码可以同时在Android、IOS、Windows上进行运行。由于Web技术本身的限制,H5移动应用不能直接访问设备硬件和离线存储,所以在体验和性能上有很大的局限性。

混合应用开发正是结合原生和H5开发的技术,取长补短的一种开发模式,原生代码部分利用WebView插件或者其它的框架为H5提供了一个容器,程序主要的业务实现、界面展示是利用H5相关的Web技术进行实现的。比如现在的京东、淘宝、今日头条等都是利用的混合开发模式。

混合开发的优缺点:

优点是:

1、开发效率高,节约时间同一套代码Android和IOS基本都可用

2、更新和部署比较方便,不需要每次升级都要上传到App Store进行审核了,只需要在服务器端升级就可以

3、代码维护方便、版本更新快,降低产品成本

缺点是:

1、由于不能直接操控硬件有些方面性能不是很好

2、另外有技术比较新版本的兼容性比较差,还有就是即懂原生开发又懂H5开发的高端人才难找。

混合App开发是未来的趋势,目前混合开发中使用的技术也很多,主要的混合开发技术有jQuery Mobile、React Native、Cordova、APICloud、AppCan等。虽然混合开发能够提高效率节省成本,但也有很多的限制,除了硬件、缓存等的限制,各大平台之间的兼容性也不足。有的也比较消耗资源。

案秀云Android端利用WebView进行混合开发(有兴趣的同学可以进qq群交流:161154103 或者搜索微信公众号“案秀云”下载最新代码)


三种开发模式基本功能的对比(因平台版本、应用情况不同经供参考)


原生

HTML5

混合

应用程序特性




图形

原生API

HTML、Canvas和SVG

HTML、Canvas和SVG

性能

快速

慢速

慢速

原生外观和感觉

原生

模拟

模拟

分发

应用程序商店

Web

应用程序商店

设备访问




摄像头

通知

联系人和日历

离线存储

安全的文件存储

共享式SQL

安全的文件系统和共享式SQL

地理位置

手势




滑动

缩放

连接

在线和离线

主要是在线

在线和离线

开发技能

ObjectiveC和Java

HTML5、CSS和JavaScript

HTML5、CSS和JavaScript



更多相关文章

  1. 【开发框架】GreenDao数据库框架的搭建和使用
  2. 解决eclipse开发的android工程在linux上编译不过的@Override问题
  3. Android(安卓)微信分享icon黑边代码解决
  4. Android(安卓)html开发框架:Rexsee开源
  5. 搭建OPhone开发环境
  6. ArcGIS4Android开发----空间查询
  7. 建立Android开发环境
  8. Android内核开发的几个常用命令
  9. 【Android(安卓)开发教程】显示普通对话框

随机推荐

  1. HTML5实现图片预览功能
  2. “div > p”和“div p”是一样的吗?
  3. Jquery - 表单验证,为错误消息添加css样
  4. 里面的获得蓝色边框
  5. 使用hexo+github免费搭建个人博客网站超
  6. 利用HTML5的window.postMessage实现跨域
  7. Html5 Canvas+Javascript实现一个简单画
  8. 在同一个类中添加值并返回总和
  9. AngularJS使用双向数据绑定将img元素标签
  10. HTML5 标签audio添加网页背景音乐代码