谈谈App的混合开发
一、概念
App混合开发,顾名思义,是一个开发模式,指的是开发一个App一部分功能用native构建一部分功能用html5构建,英文名叫:Hybrid App。
在几年前就已经出现了App混合开发模式,但是真正开始流行始于2014年末,到了2016年已经很流行了,2017年将是鼎盛的一年,因为现在连银行app都开始用混合开发了,比如招行、建行等。
二、优缺点
混合开发最大的优点是:节约成本和时间,缩短App开发周期。
最大的缺点我个人认为有两个:一是性能不是很好,二是兼容性比较差。
但随着Android 5.0+的普及以及iOS 9.0+的普及,性能缺陷和兼容性问题都在下降,也就是说如果哪一天Android最低支持版本从5.0开始,iOS最低支持版本从9.0开始了,那么混合开发App的缺点就明显会下降了,而这一天将在2017年末至2018年初到来。
三、工具和框架
混合开发一些开发工具和框架其实很早就有了,比如AppCan、PhoneGap(Cordova)等,他们都主张一站式开发,简单的说,一个纯html5的开发人员就可以开发和发布Android和iOS的App了,不需要专门的Android和iOS开发人员。虽然感觉这样开发起来很快很简单,但是遇到问题和特殊需求的时候,就开始头疼了,再加上框架本身也存在一定的性能消耗,在Android 5.0和iOS 9.0以下,开发出来的App就显得很鸡肋。所以依我的经验来看,并不推荐找几个纯html5的开发人员就开始“干大事”。
四、怎么去做好混合开发
上面说了,找几个纯html5的开发人员就开始做混合开发,这个是不实际的。主要是因为:1、不是所有的App就用html5来做就可以满足需求,有些特殊场景和特殊的页面以及高性能页面需要用到原生的支持,2、一些复杂算法/重要信息用html5来实现和管理。
综上,我认为以后大部分混合App以后都会朝着以下方向去努力:
1、努力做到原生部分占20%,html5部分占80%。
2、原生将实现:App主界面框架(可能含启动页面)、要求高性能的页面(如聊天/视频通话页面)、复杂算法/重要信息的存储或通信。
而目前这两年来说(2017~2018年),大部分App只能做到35%左右的原生以及65%左右的html5。
一个混合App项目的前端开发人员的分布大概会是1:1:2.5,即:
小型项目:1个Android,1个iOS,2~3个html5
中大型项目:2个Android,2个iOS,4~6个html5
五、混合开发产生影响
1、以后几年Android和iOS开发人员需求量将逐渐减小,而html5开发人员需求量将越来越大,而从Android或iOS转html5的开发人员将慢慢越来越吃香。
2、html发展进程将加快,将越来越多的html框架和工具出现。
后续将写一些混合开发的经验随笔
原创随笔,转载注明出处。
谈谈App的混合开发的更多相关文章
- [Hybrid App]--Android混合开发,Android、Js的交互
AndroidJs通信 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !imp ...
- H5、原生app、混合开发三者比较
一.概念 a) H5:即Html5,接触过互联网的都知道html,所以很明显h5是html的第5次重大修改的一项超文本标记语言的标准协议. b) 原生:使用原生制作APP(Native app),即在 ...
- Hybrid App(混合开发) 移动端开发调试
1.下载项目,npm install安装依赖 本地运行 npm run dev(根据具体packjson配 置而定) 2.局域网访问:http://172.20.9.35:8080/ 3.手机端访问: ...
- APP手机商城系统选择,混合开发与原生开发哪个好?
关于手机APP开发用混合还是原生现在说法不一,有说混合开发好:时间短.费用低.效果也不错,有说原生开发好,原生APP在性能方面比较好.而商城系统中的手机APP用混合开发还是原生开发比较好呢? 最近我参 ...
- 移动web、webApp、混合APP、原生APP、androd H5混合开发 当无网络下,android怎么加载H5界面
PhoneGap是一个采用HTML,CSS和JavaScript的技术,创建移动跨平台移动应用程序的快速开发平台.它使开发者能够在网页中调用IOS,Android,Palm,Symbian,WP7,W ...
- 基于ionic+angulajs的混合开发实现地铁APP
基于ionic+angulajs的混合开发实现地铁APP 注:本博文为博主原创,转载时请注明出处. 项目源码地址:https://github.com/zhangxy1035/SubwayMap 一. ...
- Hybrid APP混合开发的一些经验和总结
http://www.cnblogs.com/kingplus/p/5588339.html 写在前面: 由于业务需要,接触到一个Hybrid APP混合开发的项目.当时是第一次接触混合开发,有一些经 ...
- ios&h5混合开发项目仿app页面跳转优化
前言:本人原本是ios开发工程师,但由于现今H5的兴起,行内刮起了一阵混合开发的风气,趁着这股劲,我也学了前端开发,不说研究的多深,但也能胜任日常的开发工作.长话短说,现今的混合开发应该还处于摸索阶段 ...
- H5混合开发app常用代码
1.Android与H5互调可以让我们的实现混合开发,至于混合开发就是在一个App中内嵌一个轻量级的浏览器(高性能webkit内核浏览器),一部分原生的功能改为Html 5来开发.然后这个浏览器又封装 ...
随机推荐
- Python 自学 之 String 常见操作
这是在Python 3.5.3版本下测试的.# Author Taylor_Manitoname ="my name is alex"#capitalized 大写的print(& ...
- 【MySql系列】MySql踩坑系列
问题一:远程登录报错Host '192.168.181.201' is not allowed to connect to this MySQL server 解决: 问题二:MySql access ...
- SpagoBi开发示例——员工离职人数统计
1.开发工具:SpagoBIStudio_5.1,操作界面和使用方法和eclipse没差 安装参考:http://www.cnblogs.com/starlet/p/4778334.html 2. ...
- 听翁恺老师mooc笔记(8)--字符串2
字符串的赋值 字符串的输入与输出 对C语言的基础类型,比如int.double等类型,scanf.printf有专门的格式转换,而对字符串,scanf.printf使用%s格式字符进行输入与输出.当使 ...
- 《团队-手机app便签-开发文档》
项目托管平台地址:https://github.com/Vcandoit/Notepad.git 我主要负责文件存储部分,文字部分使用sqlite保存. 因为我们想实现备忘录记录照片.语音的功能,所以 ...
- 201621123050 《Java程序设计》第14周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容. 2. 使用数据库技术改造你的系统 2.1 简述如何使用数据库技术改造你的系统.要建立什么表?截图你的表设计. 答 ...
- 201621123068 Week04-面向对象设计与继承
1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 答:继承.多态.重载.关键字.父类与子类 1.2 尝试使用思维导图将这些关键词组织起来. 2. 书面作业 1. 面向对象设计(大 ...
- python的测试
测试 知识点 单元测试概念 使用 unittest 模块 测试用例的编写 异常测试 测试覆盖率概念 使用 coverage 模块 实验步骤 1. 应该测试什么? 如果可能的话,代码库中的所有代码都要测 ...
- class AClass<E extends Comparable>与class AClass<E extends Comaprable<E>>有什么区别?
new ArrayList<>()与new ArrayList()一样 都是为了做限定用的 如果不了解你可以看API 这个Comparable里面有一个方法compareTo(T o) 如 ...
- Django-rest-framework源码分析----认证
一.前言 1.1.安装 两种方式: github pip直接安装 pip install django-rest-framework 1.2.需要先了解的一些知识 理解下面两个知识点非常重要,djan ...