1、三种移动端开发模式

现今流行的移动端开发模式共有三种:

  1. web(H5)
  2. Hybrid(混合开发)
  3. Native(原生)

1.1 Native APP(原生开发)

Native APP又称原生APP,就是我们平时说的手机应用软件。

原生APP 是针对IOS、Android、Windows等不同的手机操作系统要采用不同的语言和框架进行开发出来的,通常是由“服务器数据+APP应用客户端”两部份构成。

技术: iOS: Object C或者 swift Android: java

优点:

  1. 体验好,用户无法上网也可访问APP应用中以前下载的数据;
  2. 性能稳定,可调用手机的硬件设备(语音、摄像头、短信、GPS、重力感应等)和本地资源(通讯录,相册等);
  3. 操作速度快,能够实现出色的动效,转场动画;

缺点: 

  1. 跨平台差,每种平台都需要独立的开发语言。Java(安卓),Objective-C(iOS)等等;
  2. 用户要使用原生APP,必须通过安装到手机里面才行,而且APP软件体积大,占用较多手机内存容量;
  3. 要获取最新功能,需要升级应用,所以会容易出现有些用户不升级,导致多个不同功能版本出现,维护成本大;
  4. 开发周期长,开发人员工资起点高;
  5. 更新缓慢,根据不同平台,提交–审核–上线流程较复杂;

1.2 Hybrid(混合开发)

混合开发,就是Native结合Web的混合开发。内部本质是Web网页,使用打包软件给它套一层原生APP的外壳。可以在应用商店AppStore发布,可自主更新。

技术:React Native, phoneGap(cordova+android) ,APICloud, WeX5

优点:

  1. 既可以调用丰富的手机设备API,也能拥有Web APP的跨平台能力
  2. 可以在应用商店发布,实现收费下载
  3. 内部是网页结构,可以自主更新,做到开发一次,所有平台生效
  4. 降低开发成本和技术成本,降低维护和开发周期

缺点:

  1. 本质上就是一个Web APP使用了原生APP的壳,所以体验比不上原生APP
  2. 开发难度比Web APP高,有一定的学习成本,开发周期比Web APP长
  3. APP发布有可能无法通过审核,需要多次调整,才能发布
  4. 依赖开发框架本身提供的手机设备API,少部分设备功能只能借住原生语言进行调用才可以
  5. 对团队技术栈要求相对高,既要懂web开发的,也要懂原生APP开发的

1.3 Web开发

Web APP本质上是为移动浏览器设计的网站,可以在各种智能手机浏览器上运行。

技术:HTML5+Javascript+CSS3 vue组件化+项目打包

优点:

  1. 一套代码到处运行,可以同时在 PC、Android、iPhone 浏览器上访问
  2. 开发者不需要发布到应用市场审核,用户不需要下载、安装和更新
  3. 开发周期短,维护成本低
  4. 用户不需用户手动更新,可以自动更新,直接使用最新版本

缺点:

  1. 转场表现略差,要求联网
  2. 用户体验没那么炫。图片和动画支持性不高
  3. 没法在App Store中下载、无法通过应用下载获得盈利机会
  4. 对手机功能应用缺乏,有限制(摄像头、GPS、蓝牙等)

1.3 三种移动端开发模式的比较

  1. 开发难度:无疑web和Hybrid难度要小于原生app开发,而且可以利用现有的Web开发工具和工作流程;
  2. 发布渠道及更新方式:Hybrid可以在应用商店AppStore发布,可自主更新;原生App更新必须通过商店AppStore;
  3. 移动设备本地API访问:Hybrid可以通过jsAPI访问移动设备的摄像头,GPS等;原生App 可以通过原生编程语言访问设备的所有功能;
  4. 跨平台,可移植性:基于浏览器的移动web具有最好的可移植性和跨平台表现;混合开发也能节省跨平台的时间成本,只需要写一次核心代码就可以部署在不同的平台;原生App跨平台性能差。
  5. 消息推送:只有混合App 和原生App支持推送消息,增加用户忠诚度。

参考:

移动端开发相关概念_wangfan741的博客-CSDN博客

移动端开发模式_松鼠豪的坚果-CSDN博客_移动端开发模式

2. 移动端开发的基础知识

参考:

什么是移动端开发【重点学习系列---干货十足--一万字详解】_拎着壳儿跑的蜗牛-CSDN博客_什么是移动端开发

移动端开发基础知识_陈皮糖的博客-CSDN博客_移动端开发

116、对移动端开发的了解相关推荐

  1. 前端系列——vue2+高德地图web端开发(行政区边界绘制)

    vue2+高德地图web端开发(行政区边界绘制) 前言 原理 基础 实现步骤 1.eslint设置AMap为全局变量放置报错 2.Search.vue传输给MapContainer.vue数据然后进行 ...

  2. Erlang服务端开发(无需Erlang基础)笔试题

    某游戏公司Erlang服务端开发(无需Erlang基础)笔试题,面向C/C++程序员 一.用你熟悉的语言解决下面的问题. 1.反转输出字符串,并移除其中的空格. 2.快速的判断一个数是否素数的方法. ...

  3. 一场B站服务端开发面试之旅

    作者 | 蓝 来源 | 我是程序员小贱(ID:Lanj1995Q) 此次B站服务端开发面试之旅可谓惊险,不过通过对大部分面试题套路的掌握,不出意外还是拿下了,下面我们来看看这些题是不是常见的不能再常见 ...

  4. 飞桨端到端开发套件揭秘:低成本开发的四大秘密武器

    11 月 5 日,在 Wave Summit+2019 深度学习开发者峰会上,飞桨全新发布和重要升级了最新的 21 项进展,在深度学习开发者社区引起了巨大的反响. 很多未到场的开发者觉得遗憾,希望可以 ...

  5. JMessage Android 端开发详解

    JMessage Android 端开发详解 目前越来越多的应用会需要集成即时通讯功能,这里就为大家详细讲一下如何通过集成 JMessage 来为你的 App 增加即时通讯功能. 首先,一个最基础的 ...

  6. java服务端开发 php_PHP使用thrift做服务端开发

    php中文网最新课程 每日17点准时技术干货分享 php使用thrift做服务端开发 thrift采用接口描述语言定义和创建服务,用二进制格式传输数据,体积更小.效率更高,对于高并发.数据量大和多语言 ...

  7. taro 引入js_Taro跨端开发之多业务模块管理 React Native篇(终篇)

    React Native 热更新方案 rn的业务越来越庞大,同时协同的团队越来越多. rn的动态化就必须提上日程了. 对于rn热更新,首当其冲的问题就是分包. rn的基础库很大,再加上我们依赖了很多的 ...

  8. 移动端开发, 常用CSS单位

    (转)https://www.cnblogs.com/mylove103104/archive/2015/06/18/4584779.html rem "em" 单位是我们开发中比 ...

  9. 第13章 Kotlin 集成 SpringBoot 服务端开发(1)

    第13章 Kotlin 集成 SpringBoot 服务端开发 本章介绍Kotlin服务端开发的相关内容.首先,我们简单介绍一下Spring Boot服务端开发框架,快速给出一个 Restful He ...

最新文章

  1. 贝叶斯定理:AI 不只是个理科生 | 赠书
  2. 解决javah生成c头文件时找不到android类库的问题
  3. 【Android 逆向】ART 脱壳 ( InMemoryDexClassLoader 脱壳 | BaseDexClassLoader 构造函数 | DexPathList 构造函数及后续调用 )
  4. 华为云计算之储存基础知识
  5. 冒泡排序,swich语句,while循环...基础性的一道综合题初学者可以做一个简单的测试...
  6. tail将输出的日志放到文件中_如何将Spring Boot应用中日志输出格式改为JSON?
  7. 我的世界基岩版json_(1.8.0.13+)我的世界Minecraft【BE】基岩版 /function 使用教程
  8. 通用职责分配软件原则之1-信息专家原则
  9. Django MTV - 模型层 - (专题)知识要点与实战案例
  10. Synchronized与ReentrantLock的区别
  11. mysql导入数据库没创建表_mysqldump不会创建表或导入任何数据
  12. TypeScript:变量和数据类型
  13. 自然语言处理:简单解释
  14. 解决Eclipse10配置Pydev不成功的问题
  15. 华为崔景龙:FNV是下一代MBB网络演进的技术驱动
  16. 数据挖掘(数据分析)从业指南
  17. JavaScript 面试题汇总
  18. 人工神经网络与神经网络,带反馈的人工神经网络
  19. 基于Matlab 实现螺旋线 轨迹曲线绘制
  20. 从中医角度体检健身标准

热门文章

  1. 哨兵模式的redis实例重置脚本
  2. 记录一些关于学习摄影的东西(从入门到放弃)
  3. DRM-X 4.0 安全设置指南
  4. 让人眼前一亮的三维可视化平台
  5. vue评价星星加笑脸(娃娃头像)
  6. C语言中数组赋值问题总结
  7. mpvue小程序实现(购物车)左滑删除
  8. 震惊!!!html竟然被...... 一篇博客让你从0开始熟悉并掌握html 超详细html笔记 全网独一份
  9. 【Matlab 根据Excel名和sheet名字删除sheet】
  10. pkg.go.dev 的由来