App(Application):意思是可安装的应用程序
App的分类
- 按照平台分
- pc端:浏览器,代码编辑器、pc端游戏、音乐软件、聊天软件等
- 移动端:手机QQ、手机微信、手机视频软件、手机游戏等
- 电视
- 按照功能分
- 游戏
- 应用
App和web的区别
- App概念:可安装的应用程序
- 优点:流畅、稳定、一些App课脱网运行,用户体验好
- 缺点:不能跨平台
- Web概念:特指基于浏览器的web网站(本质:网页)
- 优点:可以跨平台(浏览器天生就是跨平台的)
- 缺点:没有App流畅,不稳定,受限于网速和网络
App的开发方式
- WebApp:基于浏览器实现的,有特定功能的网站
- 优点:跨平台
- 缺点:依赖网络,有白屏问题,相对原生用户体验差,不能调用硬件底层设备,如摄像头
- 原生开发(NativeApp):指的是用IOS、Android官方提供的工具、开发平台、配套语言进行手机App开发的方式。
- 优点:体验好,适合做游戏,可调用硬件底层API
- 缺点:不能跨平台
- 混合开发(HybirdApp):使用前端已有的技术,HTML+CSS+JS,再搭配一些相关的打包编译技术,就能够开发出一个手机App,安装到手机中进行使用。
- 优点:跨平台,体验比webApp好一些,可调用硬件底层API
- 缺点:比原生体验稍微弱一些,不适合做游戏
- 两种方式:
- 第一种原生容器里面套一个网页(Webview,是一个基于webkit引擎,可以解析DOM 元素,展示html页面的控件);
- 第二种react native打包出来也是个原生app,但是组件不够丰富
企业app开发流程
- 需求调研:产品定位、受众群体、市场需求、开发价值【产出:需求文档】
- 产品设计:功能模块、流程逻辑【产出:设计文档,交互稿】,确定项目基本功能
- 项目开发:项目架构、美工、前端、后台、测试【产品的把控】
- 维护运营:上线试运行、调试bug、微调功能模块、产品迭代
技术选型
- angular 和 Ionic
- vue 和 Weex
- react 和 React-Native
- HBuilder和5+Runtime+Mui:HTML5+是一个产业联盟
- 缺点:程序员很少能干预打包的过程;源代码被提交到了云端的服务器,存在项目核心代码被泄漏的风险