什么是移动App开发【重点】

  1. 苹果上的软件是如何开发出来的:使用IOS平台的开发工具和开发语言进行设计开发的!苹果上的开发语言:OC、Swift
  2. 安卓平台上的软件又是如何开发出来的:使用Java这么语言,结合一些Android控件,就可以开发安卓上的手机软件;
  3. 苹果和安卓平台上共有的软件是如何开发出来的:招聘两部分的开发人员,分别是苹果开发人员和安卓开发人员;
  4. 现在,我们可以使用混合App开发的方式,来同时进行两个平台上软件的开发;
  5. 也就是说,抛开OC、Swift、Java、Android;可以直接使用前端技术(HTML + CSS + JS)来进行移动端App开发;这种开发方式叫做混合App开发!

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

关于移动App开发,需要知道的几个概念:

  • 原生开发:是使用手机平台官方推荐的开发语言和框架,进行开发的方式,叫做原生开发!
  • 混合开发:抛开官方提供的开发方式,使用前端技术,进行移动APP开发的方式,叫做混合开发!
  • App的分类:App -> Application(应用程序):什么是应用程序:可以安装的、提供了某些具体功能的软件,叫做应用程序;
    • 按照平台来划分:

      • PC端:LOL、VS Code、网易云音乐、视频软件
      • 移动端:手机QQ、外卖、地图【战略资源】、亡者农药
    • 按照功能来划分:
      • 游戏:亡者农药、英雄联盟
      • 应用:Office办公软件、翻译软件、外卖软件
  • App和Web的区别:
    • APP:App是Application的缩写,含义为:“可安装的应用程序”,特点:需要安装;需要手动去升级;
      - 优点:性能稳定、体验好;内容丰富;安全;对网络要求比较低(受网络影响小);
      - 缺点:需要手动安装;需要手动去升级;不能跨平台
    • Web:特指基于浏览器开发的网站(说白了就是运行在浏览器中的网页)
      - 优点:免安装,只要安装了浏览器就能访问Web;不需要用户手动升级(升级过程对用户来说是透明的);能够跨平台;(因为Web天生就是跨平台的)
      - 缺点:严重依赖于网络的情况;用户体验没有App优秀;也有平台之间的兼容性!

为什么要学混合App开发

从程序员的角度分析:

  1. 挣钱多【知识多且杂】
  2. 对于找工作来说:市场需求量大,好找工作,提高我们的行业竞争力
  3. 能接触到前端流行的技术和框架 ES6 React
  • 前端是一个永恒的行业???【前端是基于 浏览器,只是行业要求变高了而已;】
  • 屌丝的崛起之路:只能做页面 -> Ajax前后台数据交互 -> Jquery、Bootstrap -> 前端的框架兴起 -> 可以做手机混合App/桌面应用 -> 可以做手机原生App -> 将来或许可以发射火箭发射卫星发射导弹 -> 终极目标:统一全宇宙
  1. 能购置一批牛逼的设备【第一件事:发朋友圈】

从企业的角度分析:(选择合适自身的移动App开发方式)【重点】

  • 节省开发成本
  • 从工资上
  • 从时间上:使用前端技术开发App的话,速度很快,因为前端技术够简单(HTML+CSS+JS),但是原生的 安卓和 IOS 语言就很难学,其次,一些复杂的概念比较难懂,
  1. 市面上常见的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搭建的出来的网页;
  1. 三种开发方式的原理和对比

  2. 谁在使用React Native???

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

如果企业中之前有用原生开发出来的App,那么需要继续使用原生的方式去维护;
如果企业是做手游的,也只能使用原生,或者,对app性能要求特别高,也要用原生;
一般,如果有了一个好的方案,就需要立即把方案实现为具体的应用;快速的推向市场,占领市场;基于这种需求,混合APP开发方式,更适合;尤其适用于小企业;【裤衩开发】

企业中项目开发流程

  • 需求调研:产品定位、受众群体、市场需求、开发价值;【产出物:需求文档】
  • 产品设计:功能模块、流程逻辑;【产出物:设计文档,交互稿】,确定项目的基本功能;
  • 项目开发:项目架构、美工、前端、后台、测试【产品的把控】要理解前后端分离的概念
  • 运营维护:上线试运行、调Bug、微调功能模块、产品迭代

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

企业技术选型 - 几大主流技术之间的关系

  1. Angular.js 和 Ionic
  1. Vue.js 和 Weex
  1. React.js 和 React-Native

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

前端混合App开发框架

  1. Html5+、ReactNative、Weex、Ionic
  2. 认识HTML5+
  • h5+是一个产业联盟,它有一些互联网成员,专门在中国推广H5
  1. HBuilder官网

开发框架之间的区别

  1. Html5+ 和 Ionic
  2. ReactNative 和 Weex

使用HBuilder生成安卓应用(在线)

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

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

好处:本地不用配置开发环境;操作方便,对于程序员来说不关心打包的过程,打包过程对于我们来说是透明的;
缺点:程序员很少能干预打包的过程;源代码被提交到了云端的服务器,存在项目核心代码被泄露的风险;

环境变量的使用

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

移动app的更多相关文章

  1. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  2. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  3. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  4. 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付

    前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...

  5. SQLSERVER走起 APP隆重推出

    SQLSERVER走起 APP隆重推出 为方便大家查看本微信公众以前推送的文章,QQ群里面的某位SQLSERVER重度爱好者开发了<SQLSERVER走起>的APP 以供大家一起交流 网页 ...

  6. 从中间件的历史来看移动App开发的未来

    在移动开发领域我们发现一个很奇怪的现象:普通菜鸟新手经过3个月的培训就可以拿到 8K 甚至上万的工作:在北京稍微有点工作经验的 iOS 开发,就要求 2 万一个月的工资.不知道大家是否想过:移动应用开 ...

  7. 搞个这样的APP要多久?

    这是一个“如有雷同,纯属巧合”的故事,外加一些废话,大家请勿对号入座.开始了…… 我有些尴尬地拿着水杯,正对面坐着来访的王总,他是在别处打拼的人,这几年据说收获颇丰,见移动互联网如火如荼,自然也想着要 ...

  8. app开发外包注意事项,2017最新资讯

    我们见过很多创业者,栽在这app外包上.很多创业者对于app外包这件事情不是特别重视,以为将事情交给app外包公司就完事了,实际上不是的.无论是从选择app外包公司还是签订合同.售后维护等各方面都有许 ...

  9. 【Win 10 应用开发】在App所在的进程中执行后台任务

    在以往版本中,后台任务都是以独立的专用进程来运行,因此,定义后台任务代码的类型都要位于 Windows 运行时组件项目中. 不过,在14393中,SDK 作了相应的扩展,不仅支持以前的独立进程中运行后 ...

  10. 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS

    一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...

随机推荐

  1. vue-DevTools安装使用

    方式一:通过谷歌应用商店进行安装 vue devtools 方式二:手动安装  下载https://github.com/vuejs/vue-devtools 安装 方式一:打开谷歌浏览器 点击扩展程 ...

  2. mybatis in查询

    原文地址:https://blog.csdn.net/u012427355/article/details/79580561 foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集 ...

  3. 创建Account控制器 安全性与收尾工作 精通ASP-NET-MVC-5-弗瑞曼

  4. 从maven安装配置到idea成功创建maven项目

    在文章开始之前,我还是想安抚下你躁动的心情,说实话这一套操作下来的确花了我不少时间,的确头疼. 不过对于现在在看文章的你,我还是想提倡多多尝试,耐心哈,别砸键盘......废话少说切入正题 一. ma ...

  5. mysql--->innodb引擎什么时候表锁什么时候行锁?

    mysql innodb引擎什么时候表锁什么时候行锁? InnoDB基于索引的行锁 InnoDB行锁是通过索引上的索引项来实现的,这一点MySQL与Oracle不同,后者是通过在数据中对相应数据行加锁 ...

  6. linux下的特殊模式

    单用户模式 ubuntu 16.04 单用户操作 1.重启操作系统,BIOS引导过后一直按住shift,出现GUN Grub菜单: 2.选择Advanced options for Ubuntu选项回 ...

  7. freemark 基本使用

    实际上用程序语言编写的程序就是模板. FTL (代表FreeMarker模板语言). 这是为编写模板设计的非常简单的编程语言. 模板(FTL编程)是由如下部分混合而成的: 文本:文本会照着原样来输出. ...

  8. 基于Arduino开发的简易“高水位报警系统解决方案”

    长期以来,针对“某些办公室空调没有排水系统,只能用水桶接水,经常造成水漫金山的问题”而提出来的. 材料:Arduino开发板一块.水位传感器一个.高电平蜂鸣器一个.杜邦线若干. 原理:将水位传感器置于 ...

  9. openstack 架构

    openstack 概念架构: openstack逻辑架构 常见的架构:

  10. LR中解决接口请求中包含中文字符,服务器不识别的问题

    在LR中,直接写的接口请求,如果请求字段包含中文字段,服务器会不识别,这个时候就要用到lr_convert_string_encoding这个函数: 具体用法: lr_convert_string_e ...