浅析三大主流的APP开发方式

简介: 我们都知道目前的几大主流的移动应用开发方式:Native App,Web App,Hybrid App。那他们之间的联系和优缺点各是什么呢? 1.Native App:本地应用程序(原生App) Native开发也即原生开发,如果你是做Android 开发,那么大部分都是用Java 语言来编写的,如果你是做IOS开发,则是使用Objecttive C 或者Swift来进行编写的,这些都是官方的标准,好处显而易见,利用官方提供的API ,开发的APP有更好的性能,可以实现各种酷炫的效果,有更好的兼容性,对用户来说体验更好。

我们都知道目前的几大主流的移动应用开发方式:Native App,Web App,Hybrid App。那他们之间的联系和优缺点各是什么呢?
1

1.Native App:本地应用程序(原生App)

Native开发也即原生开发,如果你是做Android 开发,那么大部分都是用Java 语言来编写的,如果你是做IOS开发,则是使用Objecttive C 或者Swift来进行编写的,这些都是官方的标准,好处显而易见,利用官方提供的API ,开发的APP有更好的性能,可以实现各种酷炫的效果,有更好的兼容性,对用户来说体验更好。

具体优点如下:

(1)打造完美的用户体验

(2)性能稳定

(3)操作速度快,上手流畅

(4)访问本地资源(通讯录,相册)

(5)设计出色的动效、转场

(6)拥有系统级别的贴心通知或提醒

(7)用户留存率高

具体缺点如下:

(1)分发成本高(不同平台有不同的开发语言和界面适配)

(2)维护成本高(例如一款App已更新至V5版本,但仍有用户在使用V2、V3、V4版本,需要更多的开发人员维护之前的版本)

(3)更新缓慢,根据不同平台,提交–审核–上线 等等不同的流程,需要经过的流程较复杂

2.Web App:网页应用程序(移动App)

Web App,顾名思义是指基于Web的应用,基本采用Html5语言写出,不需要下载安装。类似于现在所说的轻应用。基于浏览器运行的应用,基本上可以说是触屏版的网页应用。

2

具体优点如下 :

(1)开发成本低

(2)更新快

(3)更新无需通知用户,不需要手动升级

(4)能够跨多个平台和终端

具体缺点如下:

(1)临时性的入口

(2)无法获取系统级别的通知,提醒,动效等等

(3)用户留存率低

(4)设计受限制诸多

(5)体验较差

究其原因就是性能要求的问题。Web app之所以能够占领开发市场,主要是因为它的开发速度快,使用简单,应用范围广,但是在性能方面因为无法调用全部硬件底层功能,就现在讲,还是比不过原生App的性能。当然现在前端技术的急速发展也是有目共睹的,随着各种框架技术的突破,有一天Web App完全取代原生App也不是不可能。

3

3.Hybrid App:混合应用程序(混合App)

Hybrid app是指半原生态半Web的混合App软件,同时兼具“原生App软件改善与用户交流体验的好处”和“Web App软件跨平台开发的好处”。它需要下载和安装。它看起来像一个本地应用程序,但是只有几个用户界面网页视图,并且访问的内容是一个网页。混合App现在越来越受欢迎一个原因是“热更新”是可能的,不受监察和在线等复杂过程的限制。

App Store里的电商类、新闻类APP,视频类APP普遍采取的是Native的框架,Web的内容。如淘宝、腾讯新闻等等。Hybrid App 极力去打造类似于Native App 的体验,但仍受限于技术,网速,等等很多因素。目前,有几种流行的跨平台应用打包方法。

发展历程:

在国外,最大的是Cordova(PhoneGap,2011年广泛流行),在2012年12月开源。

在国内,按时间顺序,有:2012年AppCan,2014年9月APICloud

1.AppCan

AppCan成立于2010年,2011年推出产品并测试,2012年正式推出品牌,2013年商业模式成型,2014年开发者注册约70w。AppCan不是开源平台,同时,企业版和部分插件是收费的。换句话说,AppCan只是一个卖软件的商业公司。我们认为:这会对其市场的占有率有着直接影响,闭源而没有垄断,所以前景不会太好。

2.APICloud

APICloud提供本地应用的功能模块(例如,设备访问、接口布局、开放源SDK ),并且开发人员可以在JS中调用。前端工程师负责页面布局、用户界面演示和简单的交互,而本机模块负责性能和功能实现,它们结合起来形成一个完整的应用程序。此外,APICloud还提供了云数据库功能,前端无需了解PHP,而是了解后端语言,并通过JS接口或rest风格的API实现对数据库的其他更改调查。

但是APICloud的更新速度很快,版本不太稳定。而且,它是为不懂APP开发的人士准备的,不适合科技公司和程序员。

编辑:飞进科技 super丹

相关文章
|
14天前
|
Web App开发 Android开发
FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo
实时数据传输在互联网中至关重要,不仅支持即时通讯如QQ、微信的文字与图片传输,还包括音视频通信。一对一通信常采用WebRTC技术,如《Android Studio开发实战》中的App集成示例;而一对多的在线直播则需部署独立的流媒体服务器,使用如SRT等协议。SRT因其优越的直播质量正逐渐成为主流。本文档概述了SRT协议的使用,包括通过OBS Studio和SRT Streamer进行SRT直播推流的方法,并展示了推流与拉流的成功实例。更多细节参见《FFmpeg开发实战》一书。
33 1
FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo
|
21天前
|
Web App开发 5G Linux
FFmpeg开发笔记(四十四)毕业设计可做的几个拉满颜值的音视频APP
一年一度的毕业季来临,计算机专业的毕业设计尤为重要,不仅关乎学业评价还积累实战经验。选择紧跟5G技术趋势的音视频APP作为课题极具吸引力。这里推荐三类应用:一是融合WebRTC技术实现视频通话的即时通信APP;二是具备在线直播功能的短视频分享平台,涉及RTMP/SRT等直播技术;三是具有自定义动画特效及卡拉OK歌词字幕功能的视频剪辑工具。这些项目不仅技术含量高,也符合市场需求,是毕业设计的理想选择。
52 6
FFmpeg开发笔记(四十四)毕业设计可做的几个拉满颜值的音视频APP
|
20天前
|
编解码 Java Android开发
FFmpeg开发笔记(四十五)使用SRT Streamer开启APP直播推流
​SRT Streamer是一个安卓手机端的开源SRT协议直播推流框架,可用于RTMP直播和SRT直播。SRT Streamer支持的视频编码包括H264、H265等等,支持的音频编码包括AAC、OPUS等等,可谓功能强大的APP直播框架。另一款APP直播框架RTMP Streamer支持RTMP直播和RTSP直播,不支持SRT协议的直播。而本文讲述的SRT Streamer支持RTMP直播和SRT直播,不支持RTSP协议的直播。有关RTMP Streamer的说明参见之前的文章《使用RTMP Streamer开启APP直播推流》,下面介绍如何使用SRT Streamer开启手机直播。
45 4
FFmpeg开发笔记(四十五)使用SRT Streamer开启APP直播推流
|
7天前
|
IDE Java 开发工具
探索安卓开发之旅:打造你的第一款App
【8月更文挑战第24天】在这篇文章中,我们将一起踏上激动人心的安卓开发之旅。不论你是编程新手还是希望扩展技能的老手,本文将为你提供一份详尽指南,帮助你理解安卓开发的基础知识并实现你的第一个应用程序。从搭建开发环境到编写“Hello World”,每一步都将用浅显易懂的语言进行解释。那么,让我们开始吧!
|
2月前
|
存储 开发框架 安全
鸿蒙 HarmonyOS NEXT星河版APP应用开发-阶段一
HarmonyOS NEXT星河版的应用开发标志着华为分布式操作系统的全新篇章,它聚焦于打造原生精致、易用、流畅、安全、智能和互联的极致体验。开发者可以利用其先进的API和工具集,如DevEco Studio,构建高性能、跨设备无缝协同的应用程序,从而充分利用HarmonyOS的分布式能力,为用户带来一致且丰富的多场景数字生活体验。随着“学习强国”、岚图汽车、中国电信等知名企业和应用的加入,鸿蒙生态正迅速扩展,引领着原生应用开发的新趋势。
55 3
鸿蒙 HarmonyOS NEXT星河版APP应用开发-阶段一
|
29天前
|
XML Android开发 UED
"掌握安卓开发新境界:深度解析AndroidManifest.xml中的Intent-filter配置,让你的App轻松响应scheme_url,开启无限交互可能!"
【8月更文挑战第2天】在安卓开发中,scheme_url 通过在`AndroidManifest.xml`中配置`Intent-filter`,使应用能响应特定URL启动或执行操作。基本配置下,应用可通过定义特定URL模式的`Intent-filter`响应相应链接。
61 12
|
2月前
|
Web App开发 缓存 编解码
FFmpeg开发笔记(三十八)APP如何访问SRS推流的RTMP直播地址
《FFmpeg开发实战》书中介绍了轻量级流媒体服务器MediaMTX,适合测试RTSP/RTMP协议,但不适用于复杂直播场景。SRS是一款强大的开源流媒体服务器,支持多种协议,起初为RTMP,现扩展至HLS、SRT等。在FFmpeg 6.1之前,推送给SRS的HEVC流不受支持。要播放RTMP流,Android应用可使用ExoPlayer,需在`build.gradle`导入ExoPlayer及RTMP扩展,并根据URL类型创建MediaSource。若SRS播放黑屏,需在配置文件中开启`gop_cache`以缓存关键帧。
101 2
FFmpeg开发笔记(三十八)APP如何访问SRS推流的RTMP直播地址
|
4天前
|
Java 程序员 Android开发
探索安卓开发:构建你的第一个App
【8月更文挑战第27天】在数字化时代的浪潮中,移动应用成为人们生活不可或缺的一部分。对于渴望进入软件开发领域的新手而言,掌握如何构建一款简单的安卓App是开启技术之旅的关键一步。本文旨在通过浅显易懂的语言和步骤分解,引导初学者了解安卓开发的基础知识,并跟随示例代码,一步步实现自己的第一个安卓App。从环境搭建到界面设计,再到功能实现,我们将一同揭开编程的神秘面纱,让每个人都能体会到创造软件的乐趣。
|
2月前
|
Android开发 Kotlin
kotlin开发安卓app,如何让布局自适应系统传统导航和全面屏导航
使用`navigationBarsPadding()`修饰符实现界面自适应,自动处理底部导航栏的内边距,再加上`.padding(bottom = 10.dp)`设定内容与屏幕底部的距离,以完成全面的布局适配。示例代码采用Kotlin。
88 15
|
2月前
|
JSON API 数据格式
App Inventor 2 天气预报App开发 - 第三方API接入的通用方法
通过调用第三方天气api,填入必要的参数,通过Web客户端请求url。返回json格式的数据结果,使用AppInventor2解析json结果,显示到App上即可。
97 5
下一篇
云函数