百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

常用的三大APP开发模式,环境配置及APP运行有什么不同?

zhezhongyun 2025-01-29 19:09 24 浏览

智能手机的应用开发也随着手机的发展成为一个火热的行业,有着不错的收入。为了方便而有效的进行开发选择一套合适的开发模式是十分重要的。智能手机APP的开发模式可以分为三类分别是Native APPWeb APP和Hybrid APP开发模式。


1三种移动APP开发模式



1. Native APP


NativeAPP开发模式,即本地开发模式,又称为传统型开发模式。这种开发模式基于移动终端的操作系统进行开发,可以良好的利用系统的硬件资源。其缺点也是显而易见的,其应用只能在一种移动终端的系统中安装使用,而且由于APP对硬件的依赖,应用升级会比较麻烦。


1.2 Web APP

Web APP开发模式基本依靠网络技术实现。其APP 是一个针对手机优化后的 Web站点,优点是实现了跨平台,而且对硬件几乎没有依赖,开发周期短。缺点也很明显,APP 对网络的依赖很大,数据基本都来自服务器,因此网络状况会直接影响用户体验。在没有网络的情况下,APP的功能基本不能使用。而且APP无法调用手机的硬件API功能受到一定的限制。


1.3 Hybrid APP


HybridAPP开发模式即混合开发模式。这种开发模式使用第三方的跨平台开发框架,将一种语言开发出应用兼容到不同的移动设备上。这样开发者就可以用Java Web技术或另一种不针对某具体系统的第三方的开发技术,实现应用的功能。APP同时具有了跨平台性和不错的硬件资源调用能力。


2三种开发模式的环境配置及APP运行



2.1 Hybrid APP的PhoneGap开发框架


Nitobi公司(现在已被Adobe公司收购)推出了基于Web技术的移动解决方案PhoneGap,这一方案在其官网上的定义是“可以使用Web技术编写手机本地应用程序的Htm15应用程序平台”。简单来说PhoneGap是一套基于Htm15的移动应用开发框架6PhoneGap开发框架成功将Java Web开发技术应用到了移动设备的开发上。已经具备 Java Web开发能力的开发者们可以使用熟知的HTML、CSS和JavaScript来开发手机APP。


PhoneGap 开发框架支持包括IOS、Android、Windows Phone在内的多种手机平台。开发者通过PhoneGap 提供的插件可以调用API使用摄像头联系人、地理定位等功能。PhoneGap 的使用是免费的它的兼容性强而且开发成本低。但PhoneGap本身也有不少缺点,它的运行需要依靠移动设备具有内置的浏览器引擎WebKit,PhoneGap的APP运行速度较慢,硬件调用能力也不如Native APP。安卓手机使用 PhoneGap 框架开发的Hy-bridAPP的基本结构。


2.2PhoneGapAPP开发环境搭建


开发PhoneGap APP可以使用Dreamweaver工具来制作Java Web页面,并使用 PhoneGap Build(PhoneGap的在线编译云服务)生成安装包。但如果想测试某一平台的硬件功能,就必须配置对应的开发环境,再进行编译和测试。例如安卓开发的SDK工具包提供了手机模拟器,可以在PC机上进行APP测试。

下面介绍在配置好安卓开发环境后,如何使用PhoneGap框架开发应用。首先,下载好 PhoneGap的工具包,打开 Eclipse后,按照创建步骤,新建一个安卓应用项目。复制cordova-xxxjar 文件到项目中的lib 文件夹下,右击该jar 文件添加引用。然后在项目的assets 目录下新建文件,复制 PhoneGap 工具包内的cordovajs 文件到个文件夹下,并创建Ja-va Web运行的级联样式表,Html文件和其他is 文件。创建完成后的文件结构。


另外,安卓的应用需要依靠Activity启动。要让Activity启动后,加载html页面并运行JavaScript代码,需要对Activity进行修改。改动包括两步,要将Activity 继承的类改为 DroidGap,导人需要的cor-dova包。然后将 setContentView(R.layout.activi-ty-main)改为 super.loadUrl(“file://android-asset/www/indexhtml”)其中www是新建的文件夹的名字index.html是该文件夹下的html文件

编写好文件夹下的html和is代码生成apk安装到安卓手机上就可以运行了。


2.3NativeAPP的开发环境配置及APP运行


对于Native APP发模式,不同的手机系统都有套成熟的开发框架与对应的开发语言”。例如,苹果手机的APP需要用Object-C 编写,AndroidAPP主要用Java开发,而属于微软公司的Win-dows Phone应用主要使用C#语言开发。如图4 所示是安卓手机的Native APP的基本结构。其中Activity可以理解为活动窗口或者是一个单独的页面,它是与用户交互的最基本的成像单元。在XMI文件中记录了手机页面的组件信息,Activity启动后加载XML文件显示页面。开发者在 Activity里编写Java代码绑定组件,给绑定的组件添加监听事件,在监听事件中实现功能和API的调用。


Android手机的Native APP开发环境配置主要包括两个方面,一方面是配置程序设计语言的运行环境,需要下载JDK工具包并安装。另一方面是开发平台的搭建,需要将安卓开发的ADT插件安装到Eclipse 开发平台上,并用SDK 工具配置好安卓虚拟机JDK工具包只需要点击按照提示即可安装,配置完环境变量成后在dos下输人命令java - version,若显示 java 的版本则安装成功。ADT的安装需要打开 Eclipse,选择工具栏的安装新软件,输入地址https://dl-ssl.google.com/android/eclipse/,进行在线安装。最后是虚拟机的创建,要将下载好的SDK包解压并将路径配置到 Eclipse 上,随后在 eclipse 的工具栏打开AVD Manager下载适合自己的手机系统镜像并更新到对应的平台工具。然后打开SDKManager 创建一台虚拟机,环境配置工作就基本完成了。


2.4WebAPP的环境配置及APP运行


Web APP开发模式的环境搭建主要是服务器端的环境搭建,Web APP的使用一般是用手机自带的浏览器访问站点,不需要下载安装。这里选择Java Web的应用。Java Web的开发环境配置,需要下载Java EE 版的 Eclipse,安装Tomcat服务器并配置Java运行环境。仅仅靠 Java Web 技术开发出的页面并不适合手机显示,界面往往太大,操作起来也不方便。开发者可以使用成熟的移动 Web 开发框架来解决这个问题。现在已经有了很多优秀的移动 Web开发框架,例如Sencha TouchjQuery Mobile、DHTMLXTouch等。这些框架对HTML5和CSS3都有不错的支持。用JQuery Mobile界面奈材创建的 Web APP在安卓模拟器上运行的效果。


出处 长春理工大学学报(自然科学版)

原标题 移动APP开发模式研究

作者 李莉 张超然 刘丹 李纪成

相关推荐

JPA实体类注解,看这篇就全会了

基本注解@Entity标注于实体类声明语句之前,指出该Java类为实体类,将映射到指定的数据库表。name(可选):实体名称。缺省为实体类的非限定名称。该名称用于引用查询中的实体。不与@Tab...

Dify教程02 - Dify+Deepseek零代码赋能,普通人也能开发AI应用

开始今天的教程之前,先解决昨天遇到的一个问题,docker安装Dify的时候有个报错,进入Dify面板的时候会出现“InternalServerError”的提示,log日志报错:S3_USE_A...

用离散标记重塑人体姿态:VQ-VAE实现关键点组合关系编码

在人体姿态估计领域,传统方法通常将关键点作为基本处理单元,这些关键点在人体骨架结构上代表关节位置(如肘部、膝盖和头部)的空间坐标。现有模型对这些关键点的预测主要采用两种范式:直接通过坐标回归或间接通过...

B 客户端流RPC (clientstream Client Stream)

客户端编写一系列消息并将其发送到服务器,同样使用提供的流。一旦客户端写完消息,它就等待服务器读取消息并返回响应gRPC再次保证了单个RPC调用中的消息排序在客户端流RPC模式中,客户端会发送多个请...

我的模型我做主02——训练自己的大模型:简易入门指南

模型训练往往需要较高的配置,为了满足友友们的好奇心,这里我们不要内存,不要gpu,用最简单的方式,让大家感受一下什么是模型训练。基于你的硬件配置,我们可以设计一个完全在CPU上运行的简易模型训练方案。...

开源项目MessageNest打造个性化消息推送平台多种通知方式

今天介绍一个开源项目,MessageNest-可以打造个性化消息推送平台,整合邮件、钉钉、企业微信等多种通知方式。定制你的消息,让通知方式更灵活多样。开源地址:https://github.c...

使用投机规则API加快页面加载速度

当今的网络用户要求快速导航,从一个页面移动到另一个页面时应尽量减少延迟。投机规则应用程序接口(SpeculationRulesAPI)的出现改变了网络应用程序接口(WebAPI)领域的游戏规则。...

JSONP安全攻防技术

关于JSONPJSONP全称是JSONwithPadding,是基于JSON格式的为解决跨域请求资源而产生的解决方案。它的基本原理是利用HTML的元素标签,远程调用JSON文件来实现数据传递。如果...

大数据Doris(六):编译 Doris遇到的问题

编译Doris遇到的问题一、js_generator.cc:(.text+0xfc3c):undefinedreferenceto`well_known_types_js’查找Doris...

网页内嵌PDF获取的办法

最近女王大人为了通过某认证考试,交了2000RMB,官方居然没有给线下教材资料,直接给的是在线教材,教材是PDF的但是是内嵌在网页内,可惜却没有给具体的PDF地址,无法下载,看到女王大人一点点的截图保...

印度女孩被邻居家客人性骚扰,父亲上门警告,反被围殴致死

微信的规则进行了调整希望大家看完故事多点“在看”,喜欢的话也点个分享和赞这样事儿君的推送才能继续出现在你的订阅列表里才能继续跟大家分享每个开怀大笑或拍案惊奇的好故事啦~话说只要稍微关注新闻的人,应该...

下周重要财经数据日程一览 (1229-0103)

下周焦点全球制造业PMI美国消费者信心指数美国首申失业救济人数值得注意的是,下周一希腊还将举行第三轮总统选举需要谷歌日历同步及部分智能手机(安卓,iPhone)同步日历功能的朋友请点击此链接,数据公布...

PyTorch 深度学习实战(38):注意力机制全面解析

在上一篇文章中,我们探讨了分布式训练实战。本文将深入解析注意力机制的完整发展历程,从最初的Seq2Seq模型到革命性的Transformer架构。我们将使用PyTorch实现2个关键阶段的注意力机制变...

聊聊Spring AI的EmbeddingModel

序本文主要研究一下SpringAI的EmbeddingModelEmbeddingModelspring-ai-core/src/main/java/org/springframework/ai/e...

前端分享-少年了解过iframe么

iframe就像是HTML的「内嵌画布」,允许在页面中加载独立网页,如同在画布上叠加另一幅动态画卷。核心特性包括:独立上下文:每个iframe都拥有独立的DOM/CSS/JS环境(类似浏...