H5:(H5->html5) 外界认为只要运行在手机上面的页面就是 H5
html5 页面只能运行在浏览器中
核心:
学完后,你的应用能够适配所有的系统。
优势:
跨平台,可以通用苹果和安卓系统
劣势:
不能轻易的调用系统中的摄像头、通讯录、重力感应......
APP:安卓(java-native)、苹果(object-c、swift)
2个系统使用的是不同的语言进行开发,所以安卓的应用不可以直接移植到苹果上
要实现同一时间上线,就要并行开发
开发出来的应用是要放到应用商店审核的,一般周期为7天,打回的次数越多,耗费的时间久越长,有可能开发完成上线,此应用已经GG了
优势:
性能高、速度快,天生就能使用本系统的大部分功能,比如摄像头,通讯录......
劣势:
不跨平台、开发周期长、审核复杂
web APP: H5+APP
html5 页面只能运行在浏览器中,app里面内嵌webkit内核;h5页面中如果需要调用摄像头,通讯录,重力感应器...;需要通知浏览器去调用这些功能;
优势:
跨平台、非用户自主更新,及时传达最新的消息
劣势:
性能相当不好、不能直接操作手机的软硬件
Hybird 混合开发
比如:
微信本身是原生应用,在应用中把常用的系统功能(摄像头,通讯录......)
封装为js能够调用的方法,并暴露在全局对象下,当用户操作应用中的浏览器的时候调用暴露出来的方法,实现原生的功能
(JsBridge)
web-view:http://xxx.cn/xxx.html
通过嵌套H5的网址,把页面再APP中呈现
(react-native ——> 相当于 Hybird 可以跨平台开发。 纯拿原生js写的app,不需要任何安卓或ios的支持)
产品(工作流程):
市场调研 --> 构造产品 -->
PM(产品经理)-->
召开一个产品分析会议(产品经理、UI、前端、后端、技术总监、测试、运营、运维)目的:确定需求,规划好排期、预期目标 -->
UI -->
前端工程师 --> 拿设计图、切图(html,css;工具:ps)、添加js逻辑 -->
后台写接口 --> 【接口文档】-->
联调【测试】-->
测试部门 --> 改bug(给测试回滚) --> 上线 -->
维护 --> code review(代码 审查);
一般情况,不是改完bug就完了,还会有bug的......