跨平台移动开发框架ISAS答辩.docx
- 文档编号:9704631
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:25
- 大小:1.64MB
跨平台移动开发框架ISAS答辩.docx
《跨平台移动开发框架ISAS答辩.docx》由会员分享,可在线阅读,更多相关《跨平台移动开发框架ISAS答辩.docx(25页珍藏版)》请在冰豆网上搜索。
跨平台移动开发框架ISAS答辩
项目组号3
密级公开
湖南科技职业学院软件学院
信息检索项目文档
ISAS文档
ISAS题目跨平台移动开发框架
专业软件技术(移动应用开发)
班级_____安卓3153________
指导教师唐俊
项目组长莫发达
项目成员胡子杰、沈穗敏、喻仕杰、周华生
二○一六年十月
前言
近年来随着硬件设备和平台的不断发展,手持设备的计算能力得到了显著的提高,智能手机和平板电脑越来越多的出现在人们日常生活中。
无论是多么强大的硬件或是多么优秀的平台,都要有软件来支撑。
但是厂商之间的竞争导致软件在不同平台中不兼容的现象。
比如安卓上的apk文件就无法在IOS上运行,甚至早起安卓上运行的一些APP在当前大屏手机上也无法正常显示。
作为一名开发者就不得不做出取舍,是选择自己精通的一个平台做好呢?
还是花费大量的时间和精力同时进行多个平台的开发,甚至是花钱雇人来开发其他的平台好呢?
这看似是一个难以抉择但是又没有完美答案的选择题。
能不能选择一种完美的方案呢?
当然可以,因为有跨平台移动开发框架。
所谓跨平台移动开发框架,可以简单地被分解为:
“跨平台”、“移动”和“开发框架”。
“跨平台”指的是只需要经过一次开发,得到的应用可以在多个平台上流畅通行。
目前比较主流的移动操作系统包括Android、IOS、WindowsPhone(简称WP)、BlackBerry、MeeGo等,为了实现在这么多系统之间的兼容,跨平台开发框架往往采用HTML5为开发语言,然后利用Web执行,或者专门的开发环境生成全部平台适用的安装文件。
一、JQueryMobile
—莫发达
1.基本介绍
jQueryMobile框架以“写更少的代码,做更多的事”的口头禅,到下一个水平:
不是写每个移动设备或操作系统的独特应用,jQueryMobile框架允许你设计一个高度品牌响应的网站或应用程序,将工作在所有流行的智能手机,平板电脑,和台式机平台。
今天,jQuery驱动着Internet上的大量网站,在浏览器中提供动态用户体验,促使传统桌面应用程序越来越少。
现在,主流移动平台上的浏览器功能都赶上了桌面浏览器,因此jQuery团队引入了jQueryMobile(JQM)。
JQM的使命是向所有主流移动浏览器提供一种统一体验,使整个Internet上的内容更加丰富。
JQM的目标是在一个统一的UI中交付超级JavaScript功能,跨最流行的智能手机和平板电脑设备工作。
与jQuery一样,JQM是一个在Internet上直接托管、免费可用的开源代码基础。
事实上,当JQM致力于统一和优化这个代码基时,jQuery核心库受到了极大关注。
这种关注充分说明,移动浏览器技术在极短的时间内取得了多么大的发展。
2.优缺点
优点
上手迅速并支持快速迭代:
在此之前我没有HTML5/JQueryMobile开发经验。
与Android和iOS相比,使用JQueryMobile和HTML5构建你的UI和逻辑会比在原生系统下构建快得多。
避免麻烦的应用商店审批过程以及调试、构建带来的痛苦:
为手机开发应用,尤其是iOS系统的手机,最痛苦的过程莫过于通过Apple应用商店的审批。
想要让一个原生应用程序发布给iOS用户,你需要等待一个相当长的过程(需要好几天,甚至可能是好几周)。
支持跨平台和跨设备开发:
一个巨大的好处是,应用程序马上可以在Android和IOS上工作,同样也可以在其他平台上工作。
为单个手机平台编写高质量的手机应用需要全职工作,为每个平台重复做类似的事情需要大量的资源。
应用程序能够在Android和IOS设备上同时工作对我来说是一个巨大收获。
缺点
比原生程序运行慢:
即使是在最新的Android和iOS硬件上(双核Tegra2Android手机,双核iPad2平板),JQueryMobile应用程序都会明显慢于原生程序。
古怪(跨浏览器、跨平台开发):
JQueryMobile现在仍是beta版本,因此遇到了很多bug。
也就是说,JQuery团队还在积极地回复GitHub上提出的问题。
。
应用程序可能看上去有些古怪——虽然JQueryMobile团队在widget和主题上做得很棒,但的确和原生程序看起来有显著的不同。
这个问题到底对用户有多大影响不得而知,但是这一点需要引起注意。
有限的能力vs原生程序:
很明显,运行在浏览器上的JavaScript不能完全地访问设备的很多特性。
一个典型的例子就是摄像头。
然而,类似PhoneGap这样的工具能够帮助解决很多常见问题。
3.安装配置
有多个办法可供您在网站上开始使用jQueryMobile。
您可以:
从CDN引用jQueryMobile(推荐)或者从jQ下载jQueryMobile库。
从CDN引用jQueryMobile
与jQuery类似,无需在您的计算机上安装任何程序;您只需直接在HTML页面中引用以下样式表和JavaScript库,这样jQueryMobile就可以工作了:
如果您希望在服务器上存放jQueryMobile,您可以从“jQ”下载文件。
4.示例
示例网址:
二、SenchaTouch
—胡子杰
1.基本介绍
SenchaTouch是世界上第一个支持HTML5和CSS3标准的移动应用框架,你可以使用HTML5来编写音频和视频组件,还可以使用LocalStorageProxy来存储离线数据,同时,大量CSS3样式表为你提供了创建健壮样式层的可能。
SenchaTouch将现有的ExtJS框架结合JQTouch、Rapha库而推出的,适用于最前沿TouchWeb的移动框架。
SenchaTouch可以让WebApp看起来更像NativeApp。
拥有美丽的用户组件和丰富的数据管理,全部基于最新的HTML5和CSS3的标准,全面兼容Android和IOS设备。
SenchaTouch所自带的主题样式可以说是所有开发框架中最接近IOS原生样式的,甚至能能以假乱真。
另外,它还给Android开发人员准备了若干套适用于Android的主题。
与其他移动开发框架相比,SenchaTouch最大的优点还在于其提供了增强的触摸事件处理机制,在touchstart、touchend等标准事件基础上,增加了一组自定义事件数据集成,如tap、waipe、pinch、rotate等。
这些事件使得SenchaTouch能够更好的处理页面中的手势判断等操作,为用户带来更强大的交互式体验。
2.优缺点
优点
高性能,本地外观的用户界面小部件:
SenchaTouch提供了高性能的UI控件如列表、业界最全面的收集传送带、形式、菜单和工具栏,专门为移动平台的建立。
该框架是本土寻找主题的所有主要的移动平台,所以你可以创建令人印象深刻的应用程序的外观和感觉原生的iOS、Android、黑莓、WindowsPhone,和更多。
自适应布局,动画和平滑滚动:
一种新的布局引擎,利用HTML5允许开发者建立应对和在移动设备上的一个单元负载的应用。
从景观到肖像的切换几乎是瞬间的,而布局引擎保证了像素的完美。
该框架会自动使用最好的滚动和动画的每个设备,在一个伟大的经验,在任何地方。
后端无关的数据包:
强大的数据包,包括在森恰接触分离的UI控件从数据层。
该数据包允许客户端的数据收集使用高度的功能模型,提供功能,如排序和过滤。
数据包协议无关的,并能消耗数据从任何后端源。
高级移动图表包:
该图表程序包允许您以广泛的图表类型来直观地表示数据,包括行、栏和饼图。
SenchaTouch图使用HTML5的canvas为了得到高性能的原生感觉。
在软件包中的动画和交互都是基于手势的,它可以让用户放大缩小,拖动到平移,等等。
设备功能和本地包装:
SenchaTouch应用程序工作在每一个手机浏览器,但存取装置的特点和本地部署经常是必不可少的移动应用。
SenchaTouch是完全集成的PhoneGap/科尔多瓦设备API如摄像头和加速度计,它还支持PhoneGap构建本土包装。
PhoneGap构建可以在SenchaCMD启动,并且可以包你的应用程序使用一个命令的多平台。
缺点
兼容性差,仅支持webkit内核的浏览器。
框架比较重量级,学习成本比较高。
商业化使用有版权问题。
3.安装配置
Touch所有相关文件。
进入之后点击右侧的下载,会进入一个界面需要填一下信息。
这里除了邮箱之外其他的都可以乱填。
填好之后他会把下载链接发到你填写的邮箱里。
在邮箱里点击下载链接就可以了。
下载好后,我们可以首先将他部署到我们本地的服务器上,这样就可以查看里面大量的demo,都比较好看,在example文件夹里(不需要现在就研究example的原理)。
另外也提供了完整的文档可供参考。
下面就是如何自己开始编写SenchaTouch应用了。
这里有一个地方需要格外注意:
SenchaTouch采用的是动态加载技术。
也就是说,不是仅仅在index.html内引入需要的js和css文件就可以了,而是要保证所有需要的文件都能在需要的时候正确的通过目录进行加载(所有需要动态加载的文件都在src中)。
因此,为了保证动态加载的正常运行,我们一定要按规定设定我们的工作目录。
在根目录下(touch-2.....)创建我们的工作目录Demo,在该文件夹下创建index.html文件和一个js文件夹,文件夹内创建app.js。
在index.html中,我们首先要引入必要的文件(注意:
这些基本操作可以不在服务器上进行也能实现功能,完全不涉及数据传输及后台逻辑)
其中第一个引入了必要的css文件,第二个引入的是js文件,使用这两个文件就可以搭建出SenchaTouch框架了。
app.js是我们自己编写代码的js文件,SenchaTouch是一个javascript框架,因此大多数功能、布局等都是通过app.js实现的。
4.示例
示例网址:
三、JQTouch
—喻仕杰
1.基本介绍
JQTouch是一个jQuery的插件,主要用于手机上的Webkit浏览器上上实现一些包括动画、列表导航、默认应用样式等各种常见UI效果的JavaScript库。
支持包括iPhone、Android等手机,是提供一系列功能为手机浏览器WebKit服务的jquery插件。
目前,随着iphone、itouch、ipad的流行,越来越多的开发者想开发相关的应用程序。
但目前,苹果只提供了Objective-C语言去编写iPhone应用程序。
但可惜的是,即使苹果的总裁乔布斯吹嘘它的易用性,C语言本身是不容易学习的语言,跟开发Web网站来比更加是复杂。
但是,这一切将发生变化,因为jQuery的工具jqTouch出现了。
JQTouch是一个开放源码的jQuery的Ajax库,使你可以很容易地建立和优化iPhone的相关应用,它还适用于建立其它有触摸功能的设备的应用,如google的Android应用。
可以在上下载到JQtouch。
你可以在该网站上观看JQTouch的演示,但你会发现用普通的浏览器无法正常浏览其中的不少功能,这是因为演示使用JQTouch其实是为iPhone等设备进行过优化和改造的,其中不少触摸事件和动画效果在普通的IE浏览器中无法实现(甚至在FireFox4中),但你可以在Mac上或者Safari浏览器上看到其效果。
2.优缺点
优点
jQTouch易用性强,相关文档也很全面。
它的特色是在使用HTML,CSS和JavaScript创建iPhoneApp方面拥有出色的能力。
jQTouch使用渐进增强的方案,在您相应的HTML顶层来实现像iPhone那样的用户体验。
它简单易用,提供了一个基础的小工具集以及动画方案,开发人员只需要编程控制其动态行为即可。
jQTouch也是轻量级框架、它的语言基于jquery语言。
上手容易。
加载时间比较快,优点是动画切换很流畅、在Android和IOS上表现都不错
缺点
不过在简单测试中发现app的性能存在一定的问题,页面在转换时可能出现跳转或者缺失的情况,以及在响应tap事件的时候还有周期性延迟。
该项目在技术上还活跃着,不过原作者的进展和部署都显得太慢了。
与其搭配的插件较少,需要一些外包插件来进行某些效果的支持,无法自定义布局样式等。
需要很多外部的插件相结合,另外,个别插件还需要解决与框架之间的兼容问题。
它的最大的一个弊端就是可利用和变通的布局较少。
3.安装配置
iPhone内置的浏览器是目前市场上最先进的浏览器之一。
它在如CSS、动画方面一直有相当优秀的功能,而这些功能后来才被引入到桌面的浏览器中。
首先到下载jqtouch,而jqtouch的源代码可以在下载。
同时,在该网站上,也有很多丰富的视频指导你的学习。
现在,我们开始将之前写好的HTML代码移植到移动设备上。
在页面的head元素中添加两个JavaScript库,如下:
同时要引入两个CSS文件,在每一个项目中都必须引入:
而第二个css文件,如下:
这个CSS是主题文件,主题文件是很重要的。
默认的主题让应用看起来象一个iPhone应用程序。
当然也可以在jqTouch上下载其他主题,让应用程序看起来像一个Android风格的应用。
事实上,如果你愿意,你甚至可以开发自己的CSS主题,并将其提交给jqTouch项目。
4.示例
示例网址:
四、APPCan
—周华生
1.基本介绍
AppC开发平台是基于HTML5技术的跨平台移动应用快速开发一体化解决方案。
开发者利用HTML5+CSS3+JavaScript技术可以快速地开发与原生应用体验相媲美的移动应用。
AppC平台提供了UI快速开发框架、本地功能调用API接口、应用打包系统、IDE集成开发环境和本地应用调试模拟器,预置数百套界面模板和数十种应用插件,提供多套应用模板。
AppCan是国内HybridApp混合模式开发的倡导者,AppCan应用引擎支持HybridApp的开发和运行。
并且着重解决了基于HTML5的移动应用"不流畅"和"体验差"的问题。
使用AppCan应用引擎提供的Native交互能力,可以让HTML5开发的移动应用基本接近NativeApp的体验。
与Phonegap支持单一webview使用div为单位开发移动应用不同。
AppCan支持多窗口机制,让开发者可以像最传统的网页开发一样,通过页面链接的方式灵活的开发移动应用。
基于这种机制,开发者可以开发出大型的移动应用,而不是只能开发简易类型的移动应用。
AppCan提供强大的设备调用能力,电话、短信、相机、LBS、传感器、数据库等常用的手机功能,开发者可以通过JS接口调用,轻松构建移动应用。
2.优缺点
优点
多窗口机制:
常见应用只支持单一窗口。
原生UI与交互支持:
大量原生UI与交互支持(如ActionSheet等),汽车引擎有混合动力,我们的技术同样Hybrid!
第三方开放平台支持:
相比国外中间件更具本土优势,微信、QQ、新浪微博、支付宝等。
HTML5+CSS3支持:
完全兼容HTML5,丰富支持CSS3。
终端设备调用API:
提供大量设备调用API,如各种传感器、摄像头等。
在线编译发布:
无需本地开发环境,通过在线设置图标和启动图片、证书、发布渠道,一键编译发布应用。
多平台支持且体验一致:
完美支持Android、iOS。
人性化的集成开发环境:
提供应用向导和界面向导,预置数百种界面模板和多套应用模板,支持应用本地调试和模拟。
支持全包/部分文件加密:
全新升级的强劲加密方式,支持全包加密及指定文件加密,全方位保障代码安全。
丰富插件支持:
开放插件接口,支持第三方插件,预置数十种应用插件。
快速准确的消息推送:
提供面向指定用户或群组的即时消息推送服务。
应用门户:
自有应用集中展示,便于下载与推广。
丰富的统计分析:
丰富强大的统计分析手段,为应用运营提供数据支撑。
缺点
这些比起原生的,在扩展性,稳定性,灵活度,运行效率等等都有差距。
3.安装配置
AppCanIDE是基于Eclipse定制的移动集成开发环境,专为无Native开发经验的HTML开发人员设计。
AppCanIDE帮助HTML开发人员在无需任何原生环境辅助下即可完成高体验效果应用的开发、调试、跟踪和模拟,并可借助内嵌的应用打包功能,创建可直接安装到手机的本地应用安装包以便后续测试应用。
AppCanIDE可以用于支持iOS、Android平台手机和平板的高体验Hybrid应用的开发。
通过AppCanHybrid技术,HTML开发人员遵循基于标准CSS技术的AppCan移动开发UI参考框架,即可完成一次开发,多平台适配,在各种分辨率的移动终端上保持相同的体验。
AppCanUI框架提供了极高的适配性和自主性,开发人员可以没有束缚地根据需求、UI设计完成应用界面及逻辑的开发。
AppCanIDE是专为AppCan平台开发者提供的全方位的集成调试环境,可以帮助开发者。
请在如下链接中下载:
下载后直接双击安装即可。
下载地址:
4.示例
示例网址:
五、PhoneGap
—沈穗敏
1.基本介绍
PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。
它使开发者能够利用IOS,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以调用。
业界很多主流的移动开发框架均源于PhoneGap。
较著名的有Worklight、appMobi、WeX5等;其中WeX5为国内打造,完全Apache开源,在融合Phonegap的基础上,做了深度优化,具备接近Nativeapp的性能,同时开发便捷性也较好。
Phonegap是一款开源的开发框架,旨在让开发者使用HTML、Javascript、CSS等WebAPIs开发跨平台的移动应用程序。
原本由Nitobi公司开发,现在由Adobe拥有。
它需要特定平台提供的附加软件,例如iPhone的IOSSDK,Android的AndroidSDK等,也可以和DW5.5及以上版本配套开发。
使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。
2.发展历史
2011年7月29日,PhoneGap发布了1.0版产品。
PhoneGap1.0的推出,该公司表示,重点是访问本地设备的API。
其他的改进包括:
API的整体稳定和“可插拔”的架构W3CDAPAPI的兼容性联系人API远程调试工具一个新的统一的桥接口,使增加平台和平台扩展容易改进的插件开发流程。
2011年10月1日,PhoneGap发布了1.1.0版产品。
新功能:
1.支持黑莓playbook的WebWorks并入。
2.orientationchange事件。
3.媒体审查(使用HTML5的音频和/或正常化的API)。
2012年3月6日,PhoneGap发布了1.5.0版产品。
2013年1月PhoneGap发布了2.3.0版产品
Adobe已经发布PhoneGap2.3.0完全支持WindowsPhone8。
它还包括支持inappbrowser这使您可以在全屏模式观看视频文件。
新版本提供了一个在文件传输失败能够删除不完整文件的新特性,还包括插件查询urlisallowed()方法抽象。
PhoneGap2.3.0包括辅助脚本转换cordova.plist向config.xml和包括了几个bug修复,详细的官方更新日志。
该device的name属性已被否决所有平台和一个新的属性被命名为device.model已被释放来取代它。
该inappbrowser具有相同功能的childbrowser,包括事件的支持和不使用软件白名单。
PhoneGap2.3.0有固定的例外而搜索邮件联系人。
它也修正了一个问题,而将照片从https地址联系和科尔多瓦的命令,在他们的空间路径。
3.优缺点
优点
快速发展=更好的应用程序:
以创造卓越的用户体验和产品历史的web开发者,PhoneGap是使用快速传输的Web开发技能变成可怕的移动应用程序的工具。
利用Web技术,你知道和爱做快速迭代和释放更多的时间。
通过释放你的移动应用程序的早期经常和采集数据,快速迭代,你的客户得到他们想要的和需要的。
跨平台=远:
没有什么比让你的巨大期待的/成功的/有用的移动应用程序只提供一个单一的平台更糟。
这意味着将失去你的潜在客户群中巨大的一部分。
通过使用PhoneGap你可以创建一个应用程序为每个平台的,你选择,使用一个单一的代码库。
在创造你所有的潜力而不是制作复杂的平台兼容性层的客户一个伟大的经验是很有道理的。
原生API=本地功能:
你的移动应用程序开发使用HTML,CSS和JavaScript并不意味着你必须放弃本地功能,使移动设备如此非凡。
PhoneGap可以访问所有的本地设备的API(如相机、GPS、加速度计和更多
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 平台 移动 开发 框架 ISAS 答辩