移动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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm中格式化快捷键是什么_pycharm快捷键大全

    pycharm中格式化快捷键是什么_pycharm快捷键大全(1)快捷键:Ctrl+Alt+L可以将代码格式工整化(2)鼠标点击

    2022年10月27日
    0
  • 用python实现植物大战僵尸(游戏截图+动态演示+源码分享)「建议收藏」

    用python实现植物大战僵尸(游戏截图+动态演示+源码分享)「建议收藏」大家好,我是梦执,对梦执着。希望能和大家共同进步!下面给大家带来python实现植物大战僵尸的的源码分享,只含有冒险模式。截图+动态演示+源码分享游戏截图动态演示源码分享state/tool.pystate/constants.pystate/main.py主执行文件main.py游戏截图动态演示源码分享state/tool.pyimportosimportjsonfromabcimportabstractmethodimportpygameaspg..

    2022年8月23日
    4
  • ipsec iptables_iptables -p

    ipsec iptables_iptables -piptablesiptables[-t表名]命令选项[链名][条件匹配][-j目标动作或跳转]-t表名可以省略,指定规则存放在哪个表中,默认为filter表用于存放相同功能的规则filter表:负责过滤功能能,nat表:网络地址转换功能mangle表:拆解报文做出修改并重新封装的功能raw表:关闭nat表上启用的连接追踪机制命令选项-A在…

    2022年10月7日
    0
  • sql触发器

    sql触发器在SQLServer里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。常见的触发器有三种:分别应用于Insert,Update,Delete事件。我为什

    2022年7月3日
    21
  • artcam2011教程_keil5中文版使用教程

    artcam2011教程_keil5中文版使用教程1.介绍介绍.ArtCAMPro可以从二维矢量或位图生成三维浮雕。这些矢量和位图可以在ArtCAM里产生,或从其它系统输入。ArtCAM可以装载三维模型,并从它们生成浮雕。ArtCAMPro包含了编辑浮雕和存储浮雕的功能。产生三维浮雕以后,可以生成刀具路径。不但能够轻松产生初加工、精加工和雕刻的多条刀具路径,还可以模拟刀具路径,这样在加工前就可以看到完成的产品。培训文档位于C:/ProgramF…

    2022年9月5日
    2
  • 国产 Linux 发行版再添新成员,CutefishOS 系统简单体验

    国产 Linux 发行版再添新成员,CutefishOS 系统简单体验本文转载自IT之家随着众多开发者的加入,现代化且功能强大的Linux发行版不断涌现。现在国产Linux发行版再多一员大将,其名为CutefishOS,它在Ubuntu上提供了桌面环境,在国外Linux开源社区相当受欢迎。CuteFishOS的目标是“做更好的桌面操作系统”。为此,开发者使用KDE框架、Qt和KDEPlasma5构建一个新的桌面环境(’CuteFishDE’),似乎还借鉴了深度操作系统(DDE)、MATE和JingOS。据官网介绍,这是一款简

    2022年5月16日
    109

发表回复

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

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