APP几种开发方式

上传人:pu****.1 文档编号:564677703 上传时间:2023-12-14 格式:DOC 页数:12 大小:62.50KB
返回 下载 相关 举报
APP几种开发方式_第1页
第1页 / 共12页
APP几种开发方式_第2页
第2页 / 共12页
APP几种开发方式_第3页
第3页 / 共12页
APP几种开发方式_第4页
第4页 / 共12页
APP几种开发方式_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《APP几种开发方式》由会员分享,可在线阅读,更多相关《APP几种开发方式(12页珍藏版)》请在金锄头文库上搜索。

1、APP(应用程序)开发方式、名词介绍1. NativeAPPNativeAPP指的是原生程序,一般依托于操作系统,有很强的交互,是一个完整的App,可拓展性强,需要用户下载安装使用。(简单来说,原生应用是特别为某种操作系统开发的,比如iOS、Android、黑莓等等,它们是在各自的移动设备上运行的)该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。原生应用程序是某一个移动平台(比如iOS或安卓)所特有的,使用相应平台支持的开发工具和语言(比如iOS平台支持Xcode和Objective-C,安卓平台支持Eclipse和J

2、ava)。原生应用程序看起来(外观)和运行起来(性能)是最佳的。2. WebAPPWebApp指采用HTML5语言写出的App,不需要下载安装。类似于现在所说的轻应用。生存在浏览器中的应用,基本上可以说是触屏版的网页应用。(Web应用本质上是为移动浏览器设计的基于Web的应用,它们是用普通Web开发语言开发的,可以在各种智能手机浏览器上运行)WebApp开发即是一种框架型APP开发模式(Html5APP框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈

3、现给手机用户。HTML5应用程序使用标准的Web技术,通常是HTML5、JavaScript和CSS。这种只编写一次、可到处运行的移动开发方法构建的跨平台移动应用程序可以在多个设备上运行。虽然开发人员单单使用HTML5和JavaScript就能构建功能复杂的应用程序,但仍然存在一些重大的局限性,具体包括会话管理、安全离线存储以及访问原生设备功能(摄像头、日历和地理位置等)。3. HybridAPPHybridAPP指的是半原生半Web的混合类App。需要下载安装,看上去类似NativeApp,但只有很少的UIWebView,访问的内容是Web。混合应用程序让开发人员可以把HTML5应用程序嵌入

4、到一个细薄的原生容器里面,集原生应用程序和HTML5应用程序的优点(及缺点)于一体。混合应用大家都知道是原生应用和Web应用的结合体,采用了原生应用的一部分、Web应用的一部分,所以必须在部分在设备上运行、部分在Web上运行。不过混合应用中比例很自由,比如Web占90%,原生占10%;或者各占50%。有些应用最开始就是包了个原生客户端的壳,其实里面是HTML5的网页,后来才推出真正的原生应用。比较知名的APP,比如手机百度和淘宝客户端Android版,走的也是HybridApp的路线,不过手机百度里面封装的不是WebView,而是自己的浏览内核,所以体验上更像客户端,更高效。二、3种APP技术

5、特性1. NativeAPP优点: 能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等。可访问手机所有功能(GPS、摄像头)。 速度更快、性能高、整体用户体验不错。可线下使用(因为是在跟Web相对地平台上使用的)。 支持大量图形和动画 容易发现(在AppStore里面和应用商店里面)和重新发现(应用图标会一直在主页上),对于苹果而言,应用下载能创造盈利(当然AppStore抽取20-30%的营收) 比移动WebApp运行快 一些商店与卖场会帮助用户寻找原生App官方卖场的应用审核流程会保证让用户得到高质量以及安全的App 官方会发布很多开发工具或者人工支持来帮助你的开发 页面

6、存放于本地缺点: 开发成本高,尤其是当需要多种移动设备来测试时 因为是不同的开发语言,所以开发,维护成本也高因为用户使用的App版本不同,所以你维护起来很困难 支持设备非常有限(一般是哪个系统就在哪个平台专属设备上用) 官方卖场审核流程复杂且慢,会严重影响你的发布进程 上线时间不确定(AppStore审核过程不一) 内容限制(AppStore限制) 获得新版本时需重新下载应用更新(提示用户下载跟新,用户体验差)2. WebAPP优点:跨平台开发、用户不需要去卖场来下载安装App,开发速度快任何时候都可以发布App,因为根本不需要官方卖场的审核纯H5APP快速开发、低成本、多平台,与很多APP开

7、发方式不同的是-图文混合的排版(正是这些复杂多变的CSS样式消耗了性能,但是它带来了排版的多样性,能够细致到每一个字宽行高和风格的像素级处理,才是H5的优异之处)支持设备广泛 较低的开发成本 可即时上线 无内容限制 用户可以直接使用最新版本(自动更新,不需用户手动更新) 跨平台开发用户不需要去卖场来下载安装App 如果你已经有了一个WebApp,你可以使用responsivewebdesign来辅助改进 页面存放于web服务器(受限于UIwebview)(减少了内存,但是会增加服务器的压力)缺点: 只能使用有限的移动硬件设备功能,无法使用很多移动硬件设备的独特功能 要同时支持多种移动设备的浏览

8、器让开发维护的成本也不低(也要适配不同的浏览器),如果用户使用更多的新型浏览器,那问题就更不好处理了对于用户来说,这种App很难被用户发现 这里的数据获取都是在资源页面上异步完成的,因为只有这样才能让这些资源页面完成预加载或者渲染。(异步的话都涉及到耗时的问题) 表现差(对联网的要求比较大) 用户体验没那么炫 图片和动画支持性不高 没法在AppStore中下载、无法通过应用下载获得盈利机会 对手机特点有限制(摄像头、GPS等) 无法体会包括会话管理、安全离线存储以及访问原生设备功能(摄像头、日历和地理位置等) 页面跳转更加费力,不稳定感更强 更小的页面空间(由于浏览器的导航本身占用一部分屏幕空

9、间),更大的信息记忆负担 导航不明显,原有底部导航消失,有效的导航遇到挑战 交互动态效果收到限制,影响一些页面场景、逻辑的理解。比如登录注册流程的弹出、完成及异常退出,做好文字提示。3. HybridAPP(1)第一种方案:Web架构为重优点:全Web开发,一定程度上有利于Web前端技术人员快速地构建页面样式有利于在不同的平台上面展示同一个交互层便于调试,开发的时候可以通过浏览器的方式进行调试,工具丰富。兼容多平台顺利访问手机的多种功能 AppStore中可下载(Wen应用套用原生应用的外壳) 可线下使用页面存放于本地和服务器两种方式,部署应用程序(受限于Ulwebview)缺点: 不确定上线

10、时间 虽然说你可以专注在界面以及交互开发上了,但是这页会成为一个缺点,比如说要仿造一个iOS的默认设置界面,就需要大量的html以及css代码了,而且效果不一定和iPhone上面的界面一样好 用户体验不如本地应用 性能稍慢(需要连接网络) 技术还不是很成熟(比如Facebook现在的应用属于混合应用它可以在许多AppStore畅通无阻,但是掺杂了大量Web特性,所以它运行速度比较慢,而现在为了提高性能FB又决定采用原生应用)(2)第二种方案:编译转换方式优点: 利用自己熟悉的语言进行应用开发。缺点: 严重依赖于其工具厂商提供的工具包,调试的时候就要有全套的工具。(3)第三种方案:Native架

11、构为重(主流)优点: 最稳定的HybridApp开发方式了,交互层的效率上由Native的东西解决了,而且架构上基本就是在App内写网页,连AppStore都是采用了该种方案;缺点: 团队至少需要两个工程师,一个是Web的,一个是iOS或者Android的。当然如果开发人员会两种技术也可独立承担;还是运行效率,要权衡好多少界面采用Web来渲染,毕竟WebView的效率会相对降低,以前Facebook就是因为Web的渲染效率低下,把整个应用改为原生的解决方案。当然这里面可以通过优化来解决,但是优化也是有限度的。三、3种APP对比分析对用户来讲差别主要是用户体验,如果WebApp做得好也能接近原生

12、App的效果;对于开发人员,WebApp更加易于移植到多个平台,减少非常多的工作量。1. 主要区别原生APP中: 每一种移动操作系统都需要独立的开发项目; 每种平台都需要独立的开发语言。Java(Android),Objective-C(iOS)以及VisualC+(WindowsMobile)等等,需要使用各自的软件开发包,开发工具以及各自的控件。 NativeApp(原生型APP)需要开发“云服务器数据中心”和“APP客户端” 每次获取最新的APP功能,需要升级APP应用原生型APP应用的安装包相对较大,包含UI元素、数据内容、逻辑框架;手机用户无法上网也可访问APP应用中以前下载的数据原

13、生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、GPS、蓝牙、重力感应等) APP应用更新新功能,涉及到每次要向各个应用商店进行 提交审核。 适用企业:游戏、电子杂志、管理应用、物联网等无需经常更新程序框架的APP应用。WebAPP中: 因为运行在移动设备的浏览器上,所以只需要一个开发项目 这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,RubyonRails,Python),这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap,SenchaTouch2,APPcan以及AppceleratorTitan

14、ium等等。 WebAPP需开发“html5云网站”和“APP客户端” 每次打开APP,都要通过APP框架向云网站取UI及数据手机用户无法上网则无法访问APP应用中的数据框架型的APP无法调用手机终端的硬件设备,(语音、摄像头、短信、GPS、蓝牙、重力感应等)框架型APP的访问速度受手机终端上网的限制,每次使用均会消耗一定的手机上网流量框架型APP应用的安装包小巧,只包含框架文件,而大量的UI元素、数据内容刚存放在云端APP用户每次都可以访问到实时的最新的云端数据APP用户无须频繁更新APP应用,与云端实现的是实时数据交互适用企业:电子商务、金融、新闻资讯、企业集团,需经常更新内容的APP应用

15、。2. 开发难度区别移动web和混合App开发难度对于web开发者来说相对较低,而且可以充分利用现有的web开发工具和工作流程3. 发布渠道和更新方式混合App可以在应用商店AppStore发布,但可以自主更新,而原生App的更新必须通过应用商店AppStore。4. 移动设备本地API访问混合App可以通过JavaScriptAPI访问到移动设备的摄像头、GPS;而原生App可以通过原生编程语言访问设备所有功能。5. 跨平台和可移植性基于浏览器的移动web最好的可移植性和跨平台表现;混合App也能节省跨平台的时间和成本,只需编写一次核心代码就可部署到多个平台,而原生App的跨平台性能最差。6. 搜索引擎友好只有移动web对搜索引擎友好,可与在线营销无缝整合。7. 货币化混合App除广告外,还支持付费下载及程序内购买;原生App的程序内购买金额2012年首次超过下载收费。8. 消息推送只有混合App和原生App支持消息推送,这能增加用户忠诚度。9. 获取方法区别原生

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号