天天看点

移动app

苹果上的软件是如何开发出来的:使用IOS平台的开发工具和开发语言进行设计开发的!苹果上的开发语言:OC、Swift

安卓平台上的软件又是如何开发出来的:使用Java这么语言,结合一些Android控件,就可以开发安卓上的手机软件;

苹果和安卓平台上共有的软件是如何开发出来的:招聘两部分的开发人员,分别是苹果开发人员和安卓开发人员;

现在,我们可以使用混合App开发的方式,来同时进行两个平台上软件的开发;

也就是说,抛开OC、Swift、Java、Android;可以直接使用前端技术(HTML + CSS + JS)来进行移动端App开发;这种开发方式叫做混合App开发!

什么是移动App开发:通俗的理解,就是把开发Web网站的技术,通过某种方式,移植到移动App开发上进行使用,这种利用Web开发技术进行移动端开发体验的方式,叫做混合App开发!

原生开发:是使用手机平台官方推荐的开发语言和框架,进行开发的方式,叫做原生开发!

混合开发:抛开官方提供的开发方式,使用前端技术,进行移动APP开发的方式,叫做混合开发!

App的分类:App -> Application(应用程序):什么是应用程序:可以安装的、提供了某些具体功能的软件,叫做应用程序;

游戏:亡者农药、英雄联盟

应用:Office办公软件、翻译软件、外卖软件

PC端:LOL、VS Code、网易云音乐、视频软件

移动端:手机QQ、外卖、地图【战略资源】、亡者农药

按照平台来划分:

按照功能来划分:

App和Web的区别:

APP:App是Application的缩写,含义为:“可安装的应用程序”,特点:需要安装;需要手动去升级;

- 优点:性能稳定、体验好;内容丰富;安全;对网络要求比较低(受网络影响小);

- 缺点:需要手动安装;需要手动去升级;不能跨平台

Web:特指基于浏览器开发的网站(说白了就是运行在浏览器中的网页)

- 优点:免安装,只要安装了浏览器就能访问Web;不需要用户手动升级(升级过程对用户来说是透明的);能够跨平台;(因为Web天生就是跨平台的)

- 缺点:严重依赖于网络的情况;用户体验没有App优秀;也有平台之间的兼容性!

挣钱多【知识多且杂】

对于找工作来说:市场需求量大,好找工作,提高我们的行业竞争力

能接触到前端流行的技术和框架   ES6    React

前端是一个永恒的行业???【前端是基于 浏览器,只是行业要求变高了而已;】

屌丝的崛起之路:只能做页面 -> Ajax前后台数据交互 -> Jquery、Bootstrap -> 前端的框架兴起 -> 可以做手机混合App/桌面应用 -> 可以做手机原生App -> 将来或许可以发射火箭发射卫星发射导弹 -> 终极目标:统一全宇宙

能购置一批牛逼的设备【第一件事:发朋友圈】

节省开发成本

从工资上

从时间上:使用前端技术开发App的话,速度很快,因为前端技术够简单(HTML+CSS+JS),但是原生的 安卓和 IOS 语言就很难学,其次,一些复杂的概念比较难懂,

市面上常见的App开发方式

WebApp:基于浏览器实现的,有特定功能的网站,称作WebApp(本质就是一个网站,只不过功能很复杂,所以把它叫做 Web 类型的 APP)

例如:百度脑图、https://m.jd.com/、https://m.taobao.com/#index

优点:跨平台(最大的优点)

缺点:依赖网络,有白屏效果,相对来说,用户体验差;不能调用硬件底层得设备,比如摄像头;

NativeApp:用android和Object-C等原生语言开发的应用

优点:体验好;用户使用起来很流畅;非常适合做游戏【性能高】;可以直接调用硬件底层的API;

缺点:不能跨平台

HybirdApp:利用前端所学的知识去开发移动端App,兼具2者的优势

优点:能够跨平台;体验会好一些;能够调用硬件底层API;

缺点:相对于原生体验稍微弱一丢丢;不适合做游戏;

混合App适合做应用类型得App,比如外卖,比如非游戏类型得软件;

混合APP开发的特点:外层用原生的NativeContainer来包裹所有的应用程序代码;同时这个NativeContainer也提供了调用硬件底层API的能力;注意:在NatvieContainer中,运行的不是原生的机器码,而是我们的HTML + CSS + JS搭建的出来的网页;

三种开发方式的原理和对比

移动app
移动app

谁在使用React Native???

如果企业中之前有用原生开发出来的App,那么需要继续使用原生的方式去维护;

如果企业是做手游的,也只能使用原生,或者,对app性能要求特别高,也要用原生;

一般,如果有了一个好的方案,就需要立即把方案实现为具体的应用;快速的推向市场,占领市场;基于这种需求,混合APP开发方式,更适合;尤其适用于小企业;【裤衩开发】

需求调研:产品定位、受众群体、市场需求、开发价值;【产出物:需求文档】

产品设计:功能模块、流程逻辑;【产出物:设计文档,交互稿】,确定项目的基本功能;

项目开发:项目架构、美工、前端、后台、测试【产品的把控】要理解前后端分离的概念

运营维护:上线试运行、调Bug、微调功能模块、产品迭代

根据需求搞设计,根据设计做开发

Angular.js 和 Ionic

Angular1官网

Angular2官网

Ionic 中文网

Ionic 英文官网

Vue.js 和 Weex

Vue.js官网

Weex文档

Weex - github地址 - 新

Weex - github地址 - 旧

React.js 和 React-Native

React.js英文官网

ReactNative中文网

ReactNative英文网

Angular, Vue, React 这三个都是前端框架,我们在进行混合App开发的时候,只是用到了这三个框架的基础语法而已; Ionic, Weex, ReactNatvie 这三个都是打包工具,能够把我们开发出来的应用,最终打包成一个可安装的手机端程序安装包;同时,这三个东西,也提供了好用的一些小组件;

Html5+、ReactNative、Weex、Ionic

认识HTML5+

h5+是一个产业联盟,它有一些互联网成员,专门在中国推广H5

HBuilder官网

Html5+ 和 Ionic

ReactNative 和 Weex

API地址

Hbuilder这个工具,是一个在线打包工具,使用很方便,不需要在本地配置开发环境;直接将做好的网站,通过一些简单的操作,就能在线打包为一个App出来;

在项目上右键 -> 发行 -> 发行为原生安装包

好处:本地不用配置开发环境;操作方便,对于程序员来说不关心打包的过程,打包过程对于我们来说是透明的;

缺点:程序员很少能干预打包的过程;源代码被提交到了云端的服务器,存在项目核心代码被泄露的风险;

作用:将需要全局使用的工具或者应用程序,配置到Path环境变量中,可以很方便的通过命令行的形式,在任何想要运行这些应用程序的地方,运行它们;

继续阅读