移动App开发、App和Web区别、开发移动app时技术选型

589 阅读4分钟

移动App开发

混合移动App:

移动端App开发有Android和iOS及混合App,开发它们采用不同的语言,如:

苹果软件使用: OC、或者Swift语言开发。

安卓软件使用:Java,安卓控件进行开发。

混合App使用:把前端特有的技术(HTML+CSS+JS)通过某种方式移植到移动App开发上,这种利用Web开发技术进行移动端开发体验的方式,叫做混合移动App开发。

移动App 开发的几个概念:

原生开发(NativeApp):指使用 IOS及Android 官方提供的工具和开发平台及配套语言进行手机App开发的方式;

混合开发(HybirdApp):指使用前端已有的技术(HTML + CSS + JS ),再搭配相关的打包编译技术开发移动App(需要安装到移动设备的app)的过程;

App定义: App是Application的缩写,意思是:可安装的应用程序;

App的分类:

1.按照平台来划分:

PC端:pc浏览器、pc代码编辑器、pc游戏软件、pc影视软件、pc社交软件

移动端:移动社交软件、移动影视软件、移动游戏软件

2.按照功能来划分:

游戏:通常对性能要求比较高,一般是原生开发,如lol、王者荣耀等。

应用:通常对性能要求不是很高,使用混合App就可以开发,如:支付宝、美团等。

App和Web的区别:

APP:优点:流畅、稳定、基本上一些App都可以脱网运行,用户体验好;缺点:不能跨平台,开发成本高。

Web:基于浏览器的web网站(本质:就是网页), 优点:可以跨平台,开发成本低 ; 缺点:没有App流畅、不稳定,受限于网速和网络

混合App开发的优势:

个人角度:挣钱多、市场需求大,好找工作、可以接触前端流行框架(这里采用React)、对技术的升华、跨平台等。

企业角度:节省开发资金、节省开发时间等。

市面上常见App开发方式:

WebApp:基于浏览器能够实现复杂功能的网站,如京东网站、在线xmind等;其优点:跨平台,开发成本低;缺点:依赖网络,用户体验差;不能调用硬件底层设备,如摄像头等。

NativeApp:用Android和iOS等原生语言开发的应用;优点:流畅,用户体验好,适合高性能开发游戏,可直接调用硬件底层API;缺点:不能跨平台,开发成本高。

HybirdApp:利用前端知识+打包技术开发移动端App;优点:能够跨平台,用户体检较网站好点,能够调用硬件底层API;缺点:相对于原生体验稍微弱点,不适合做游戏。

三种方式比较总结如下:
在这里插入图片描述

企业如何选择自己的App开发方式:

  1. 如果企业中曾经使用原生技术开发过一些APP,那么在维护的时候,必然使用原生技术来维护。
  2. 如果企业中需要做一些游戏级别的应用,那么推荐使用原生,原生运行效率高且对耗电量处理的很好。
  3. 如果企业做一些应用级别非游戏软件,如:社交、电商等,可以使用混合APP;
  4. 如果想要抢占市场快速出效果,推荐使用混合App开发,因为开发周期短且能快速上线等。

企业中项目开发流程:

1.需求调研:产品定位、受众群体、市场需求、开发价值;【产出物:需求文档】
2. 产品设计:功能模块、流程逻辑;【产出物:设计文档,交互稿】,确定项目的基本功能。
3.项目开发:项目架构、美工、前端、后端、测试。
4.运营维护:上线试运行、调Bug、微调功能模块、产品迭代等。

技术选型中主流技术之间的关系:

1.Angular.js 和 Ionic:Angular和IonIC搭配,相关文档推荐:angular.io/和http://www…

2.Vue.js 和 Weex:Vue.js 和 Weex搭配,相关文档推荐:cn.vuejs.org/和https://in…

3.React.js 和 React-Native:React.js 和 React-Native搭配,相关文档推荐:reactnative.cn/和http://rea…

注意:Angular, Vue, React 这三个都是前端框架,在进行混合App开发的时候,只是用到这三个框架的基础语法,且不能混搭;Ionic, Weex, ReactNatvie 这三个都是打包工具(提供了相关的命令行,只要运行指定的命令,就能够把项目打包成一个移动App),能够把我们开发出来的应用,最终打包成一个可安装的手机端程序安装包;同时,这三个东西,也提供了好用的一些小组件,方便我们去构建移动App的用户界面;

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海