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

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

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

智能手机的应用开发也随着手机的发展成为一个火热的行业,有着不错的收入。为了方便而有效的进行开发选择一套合适的开发模式是十分重要的。智能手机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开发模式研究

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

相关推荐

Chinese vice premier calls for multilateralism at Davos

DAVOS,Switzerland,Jan.21(Xinhua)--ChineseVicePremierDingXuexiangdeliveredaspeechatthe...

用C++ Qt手把手打造炫酷汽车仪表盘

一、项目背景与核心价值在车载HMI(人机交互界面)开发领域,虚拟仪表盘是智能座舱的核心组件。本项目基于C++Qt框架实现一个具备专业级效果的时速表模块,涵盖以下技术要点:Qt图形绘制核心机制(QPa...

系列专栏(八):JS的第七种基本类型Symbols

ES6作为新一代JavaScript标准,已正式与广大前端开发者见面。为了让大家对ES6的诸多新特性有更深入的了解,MozillaWeb开发者博客推出了《ES6InDepth》系列文章。CSDN...

MFC界面开发工具BCG v31.1 - 增强功能区、工具箱功能

点击“了解更多”获取工具亲爱的BCGSoft用户,我们非常高兴地宣布BCGControlBarProfessionalforMFC和BCGSuiteforMFCv31.2正式发布!新版本支...

雅居乐上调出售吉隆坡项目保留金,预计亏损扩大至6.64亿元

1月2日,雅居乐集团(03383.HK)发布有关出售一家附属公司股权披露交易的补充公告。此前雅居乐集团曾公告,2023年11月8日(交易时段后),集团子公司AgileRealEstateDeve...

Full text: Address by Vice Premier Ding Xuexiang's at World Economic Forum Annual Meeting 2025

DAVOS,Switzerland,Jan.21(Xinhua)--ChineseVicePremierDingXuexiangonTuesdaydeliveredasp...

手机性能好不好 GPU玄学曲线告诉你

前言各位在看测试者对手机进行评测时或许会见过“安卓玄学曲线”,所谓中的安卓玄学曲线真名为“ProfileGPURendering”。大多数情况下,在系统“开发者选项中被称为“GPU显示配置文件”或...

小迈科技 X Hologres:高可用的百亿级广告实时数仓建设

通过本文,我们将会介绍小迈科技如何通过Hologres搭建高可用的实时数仓。一、业务介绍小迈科技成立于2015年1月,是一家致力以数字化领先为优势,实现业务高质量自增长的移动互联网科技公司。始...

vue3新特征和所有的属性,方法汇总及其对应源码分析

vue3新特征汇总与源码分析(备注:vue3使用typescript编写)何为应用?constapp=Vue.createApp({})app就是一个应用。应用的配置和应用的API就是app应用...

China's stability redefines global trade in a volatile era

ContainersareunloadedatQingdaoPort,eastChina'sShandongProvince,December10,2024.[Photo/X...

QML 实现图片帧渐隐渐显轮播

前言所谓图片帧渐隐渐显轮播就是,一组图片列表,当前图片逐渐改变透明度隐藏,同时下一张图片逐渐改变透明度显示,依次循环,达到渐隐渐显的效果,该效果常用于图片展示,相比左右自动切换的轮播方式来说,这种方式...

前端惊魂夜:我竟在CSS里写出了JavaScript?

凌晨两点,写字楼里只剩下我工位上的一盏孤灯。咖啡杯见底,屏幕的光映在疲惫的眼镜片上。为了实现一个极其复杂的动态渐变效果,我翻遍了MDN文档,试遍了所有已知的CSS技巧,却始终差那么一口气。“要是CSS...

10 个派上用场的 Flutter 小部件

尝试学习一门新语言可能会令人恐惧和厌烦。很多时候,我们希望我们知道早先存在的某些功能。在今天的文章中,我将告诉你我希望早点知道的最方便的颤振小部件。SpacerSpacer创建一个可调整的空白空...

让我的 Flutter 代码整洁 10 倍的 5 种

如果你曾在Flutter中使用过SingleTickerProviderStateMixin来制作动画,猜猜怎么着?你已经使用过Mixin了——恭喜你,你已经处于一段你甚至不知道的关...

daisyUI - 主题漂亮、代码纯净!免费开源的 Tailwind CSS 组件库

漂亮有特色的CSS组件库,组件代码非常简洁,也支持深度定制主题、定制组件,可以搭配Vue/React等框架使用。关于daisyUIdaisyUI是一款极为流行的CSSUI组件库,...