App混合开发(英文名:HybridApp),是指在开发一款App产品的同时为了提有效率、节省成本即利用了源生的开发技术还软件了HTML5开发技术,是源生和HTML5技术的混合软件。目前App的开发重要涵盖三种方法:源生开发、HTML5开发和混合开发。
原生软件开发,是在Android、IOS等移动平台上利用官方提供的开发语言、开发类库、开发工具进行App开发。例如安卓是利用java、eclipse、Androidstudio,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、更新和部署比较方便,不需求每次升级都要上载到AppStore进行考核了,只需求在服务器端升级就可以
3、代码维护方便、版本更新快,降低产品成本
缺点是:
1、由于不能直接操控硬件有些方面性能不是很好
2、另外有技术比较新版本的兼容性比较差,还有就是即懂源生开发又懂H5开发的高端人才难找。
混合App开发是未来的趋势,目前混合开发中采取的技术也很多,重要的混合开发技术有jQueryMobile、ReactNative、Cordova、APICloud、AppCan等。虽然混合开发可以提有效率节省成本,但也有很多的限制,除了硬件、缓存等的限制,各大平台之间的兼容性也不足。有的也比较消耗资源。