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+是一个产业联盟
缺点:程序员很少能干预打包的过程;源代码被提交到了云端的服务器,存在项目核心代码被泄漏的风险
对于开发好的app希望进行内测分发的开发者可以使用,虾分发(xiafenfa.com)是一个值得推荐的平台。