移动APP开发之技术选择

移动APP开发之技术选择APP开发种类目前主流的APP主要为iOS版本和Android版本。早期APP的开发,两个版本需要分开独立进行,分别使用Objective-C/swift和Java语言。这些APP也称为NativeAPP,即原生系统。由于NativeAPP开发成本高、难度大,随着技术的发展,出现了Hybrid(混合)APP开发,即支持跨平台或支持原生+H5相结合的APP。除此之外,还有一种称为WebAp…

大家好,又见面了,我是你们的朋友全栈君。

APP开发种类

目前主流的APP主要为iOS版本和Android版本。早期APP的开发,两个版本需要分开独立进行,分别使用Objective-C/swift和Java语言。这些APP也称为Native APP,即原生系统。由于Native APP开发成本高、难度大,随着技术的发展,出现了Hybrid(混合)APP开发,即支持跨平台或支持原生+H5相结合的APP。除此之外,还有一种称为Web App的移动端Web系统,其完全使用Web技术进行开发,与操作系统无关。原生、Hybrid及Web APP之间关系如下图所示:
这里写图片描述

开发种类的比较

开发种类 优点 缺点
原生Native (1) 可访问手机所有功能(GPS、摄像头);(2) 性能高、用户体验最好(3) 可离线使用; (4) 支持图形和动画; (1) 开发及维护成本高; (2) 支持设备有限(系统只能运行在一个平台上);(3) 新版本需重新下载应用;
Web (1) 基于浏览器运行,可跨平台; (2) 开发工具选择多; (3) 不需要安装,控制更新容易;(4) 对开发人员要求相对低;(5) 开发成本低; (1) 只能使用有限的硬件设备能力; (2) 安全性低; (3) 必须联网; (4) 用户体验不是很好;(5) 性能低;
混合Hybrid (1) 可以混合使用原生和Web技术;(2) 可以跨平台;(3) 开发成本比原生低;(4) 可以利用手机的多种功能; (5) 可离线使用; (1) 用户体验不如原生; (2) 性能稍慢;(3) 技术还不是很成熟;

混合开发方式

方式一

这里写图片描述

方式二

这里写图片描述

比较

名称 优点 缺点
Cordova 可以跨平台;框架比较成熟;学习成本较低;基本不需要Android开发技能;对原生的特定要求,可以使用已有插件,也可以自定义开发 框架较重;性能可能稍差;中文参考文档少;自定义插件的开发,需要由原生开发人员完成
Android+H5 框架量级较轻;可以使用全部硬件功能;采用MVP模式,可以简化开发;可选前端框架比较多;性能比较好 不能跨平台;学习成本较高(需要了解android开发及前端框架);框架繁多,多数不成熟,可能会遇到一些陷进

其它

Android原生APP的开发有很多开源的框架可以使用,很多都可以从GitHub上找到。比如MVP架构的mvpart,以及基于事件的异步编程库RxJava2,以及前端框架vasSonic等。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138894.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker完全卸载重装_在docker中使用ubuntu

    docker完全卸载重装_在docker中使用ubuntuubuntu完全卸载docker及再次安装文章目录ubuntu完全卸载docker及再次安装卸载docker1.删除docker及安装时自动安装的所有包2.查看docker是否卸载干净3.删除没有删除的相关插件4.删除docker的相关配置&目录5.确定docker卸载完毕安装docker以下操作均在管理员权限下运行卸载docker1.删除docker及安装时自动安装的所有包apt-getautoremovedockerdocker-cedocker-enginedocke

    2022年9月25日
    3
  • SPI协议_Verilog实现「建议收藏」

    SPI协议_Verilog实现「建议收藏」SPI协议_Verilog实现概述:通过Verilog代码+仿真的形式来理解SPI的时序,此处只写了主机发送,从机接收的代码,后待续。。。SPI协议简介●SPI接口介绍  SCK:时钟信号,由主设备产生,所以主设备SCK信号为输出模式,从设备的SCK信号为输入模式。  CS:使能信号,由主设备控制从设备,,所以主设备CS信号为输出模式,从设备的CS信号为输入模式。  MOSI:主设备数据输出,从设备数据输入,所以主设备MOSI信号为输出模式,从设备的MOSI信号为输入模式。  MISO:主设

    2022年10月15日
    3
  • s3c2440中断体系

    s3c2440中断体系intmain(){while(1);return0;}

    2022年5月1日
    62
  • 华为手机屏幕锁屏时间设置_华为手机自动锁屏时间设置「建议收藏」

    华为手机屏幕锁屏时间设置_华为手机自动锁屏时间设置「建议收藏」设置华为手机自动锁屏2113时间的方法如下:们需5261要的材料分别4102有:华为手机、1653设置app。1、首先,打开华为手机,打开设置,在设置界面中找到“锁屏和密码”按钮。2、然后在锁屏和密码界面中,点击“安全锁定设置”按钮。3、最后在安全锁定设置界面中,点击“自动锁屏”,您就设置手机自动锁屏时间了。本回答被网友采纳,可能是打开了2113省电模式的原因,当电量低于20%时将提5261示开启…

    2022年9月29日
    2
  • java必背代码_Java编程中必须要死记硬背的几十个代码段

    java必背代码_Java编程中必须要死记硬背的几十个代码段向文件末尾添加内容字符串有整型的相互转换转字符串到日期java.util.Date=java.text.DateFormat.getDateInstance().parse(dateString);得到当前方法的名字StringmethodName=Thread.currentThread().getStackTrace()[1].getMethodName();使用JDBC链接O…

    2022年7月7日
    28
  • idea2012.2 激活码-激活码分享

    (idea2012.2 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~D…

    2022年3月26日
    105

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号