昆明天度APP开发模式通常分为两种,这两种模式均各自有自己的优势,到底是 采用Native App开发还是采用 Web App开发一直是业界争论的焦点, 但是随着HTML5 的发展及云服务普及,采用    HTML5进行Web App开发正在成为一种趋势,用户可以
根据应用特点和需求进行选择,亦可选择两者混合模式:
本文提到的是 APP客户端应用开发模式的区别,涉及到手机网站与    APP应用的
区别,请参考:手机WAP网站、触屏版手机网站、    APP应用程序之间的区别
Native App 开发
Native App开发即我们所称的传统 APP开发模式(原生APP开发模式),该开 发针对IOSAn droid等不同的手机操作系统要采用不同的语言和框架进行开发,    该模
式通常是由 云服务器数据+APP应用客户端"两部份构成,APP应用所有的UI元素、 数据内容、逻辑框架均安装在手机终端上。
Web App开发
Web App开发即是一种框架型 APP开发模式(HTML5 APP 框架开发模式), 该开发具有跨平台的优势,该模式通常由    HTML5云网站+APP应用客户端”两部份构
成,APP应用客户端只需安装应用的框架部份,    而应用的数据则是每次打开    APP的时
候,去云端取数据呈现给手机用户。
原生APP开发及Web APP开发模式的区别
html手机网站Web APP需开发“html5云网站”和“APP客户端”昆明天度网络公司总结这类 型APP应用呈现以下特点:
1 )每次打开APP,都要通过 APP框架向云网站取 UI及数据;
2 )手机用户无法上网则无法访问    APP应用中的数据。
3 )框架型的APP无法调用手机终端的硬件设备(语音、摄像头、短信、 GPS、 蓝牙、重力感应等)
4)    框架型APP的访问速度受手机终端上网的限制,每次使用均会消耗一定的 手机上网流量;
5) 框架型APP应用的安装包小巧,只包含框架文件,而大量的    UI元素、数据 内容刚存放在云端;
6)    APP用户每次都可以访问到实时的最新的云端数据;
7)    APP用户无须频繁更新 APP应用,与云端实现的是实时数据交互;
适用企业:电子商务、金融、新闻资讯、企业集团需经常更新内容的    APP应用。
Native App (原生型APP )需要开发 云服务器数据中心”和“APP客户端”昆 明天度网络公司总结这类型的    APP应用呈现以下特点:
1 )每次获取最新的 APP功能,需要升级 APP应用;
2) 原生型APP应用的安装包相对较大,包含    UI元素、数据内容、逻辑框架;
3)    手机用户无法上网也可访问 APP应用中以前下载的数据。
4 )原生型的APP可以调用手机终端的硬件设备(语音、摄像头、短信、    GPS
蓝牙、重力感应等)
5APP应用更新新功能,涉及到每次要向各个应用商店进行提交审核。
适用企业:游戏、电子杂志、管理应用、物联网等无需经常更新程序框架的    APP
应用。
到底该如何选择 Web AppNative App开发模式
移动Web无所不在,移动 Web是目前唯一的支持各种设备访问的平台,与桌面
Web 一样,移动 Web支持各种标准的协议。移动 Web也是唯——个可供开发者发布 移动应用的平台,它将各种移动交互与桌面任务有效地连接了起来;    而开发Native App
可以充分利用设备的特性,而这一点往往是    Web浏览器做不到的,所以对一个产品本
身而言,Native App是最佳的选择。下面几节将讨论一下 Native App的一些主要功能。
什么时候应该选择 Native App
1.为应用收费
没有任何地方规定开发者不能对一个移动    Web App收取使用费,但是由于某些原
因,人们常常认为不能或是不应该对一个    Web App收取费用。由于历史原因,导致移
动设备上付费服务遭遇两大阻力:
2.付款方式
在移动设备上输入信用卡号相当麻烦,而且在许多老式设备上也没有安全保障。 一种典型的方式是,如果你需要对你的应用收费,你可以与运营商达成协议,让运营 商代为为你的服务收费。这也意味着,你需要和多个运营商达成合作。这通常是首选 的方法,因为许多手机用户可能根本就没有信用卡,比如青少年。
另一种方法是将用户的信用卡信息保存在一个安全的网站上。用户可以通过登录 到该网站购买应用服务。这个过程不算特别理想,因为这意味着用户不能直接通过他 们的移动设备购买
服务了。
3.强制分成
移动运营商是会提成的。 App无论是通过运营商还是通过移动设备发布,他们都 为应用提供了一套收费机制。这些运营商和移动设备将会提取部分收益,然后将剩余 的部分交给应用开发商,这也意味着,开发人员必须遵守他们的市场规则。适应运营 商的市场规则通常是非常困难的,需要投入大量的人力资源。相比而言,移动设备的 市场规则则简单许多,但是也存在不少的困难。
妨碍运营商和移动设备开发商利益的应用以及服务都将受到阻扰。过去,那些不 靠运营商和移动设备开发商运作的网站如果收入过于显眼的话,都逃脱不了被关闭的 命运,但是最近,这样的事情鲜少发生了。
如果你想为你的 Native App收费,那么你就必须接受这个现实    一一你必须遵守别
人的市场规则,还得放弃部分收益。
4.开发游戏
如果你是想开发一个移动游戏(移动游戏是移动市场上最大的一块),那么你需 要开发一个Native App。游戏对资源的占用很大,并且需要使用许多设备    API或平台
API。虽然,现在有几款完全使用    Web技术开发的游戏占有了一定的市场份额,但是
Native App市场的占有情况相比,还是微不足道的。游戏用户对应用的视觉和操作 效果要求很高。移动 Web虽然提供了一些仿真体验,但还远远不能满足用户的需求。
在开发移动游戏时,你需要慎重考虑你的应用需要支持哪些平台。幸运的是,现 在有许多工具能够帮助你将你的游戏推向多个平台,但是完成这些工作,还是需要花 费大量的人力和物力。
5.使用定位功能
下一个功能就是定位功能,可以通过GPS或者是信号检测确定用户当前的位置信 息。以前只能通过 Native AppAPIs查看用户的位置信息,但现在大多数主流移动 浏览器上都嵌入了 W3C Geolocati on API 。像iPho neAn droid这样安装了 WebKit 的设备,或是配置了 OperaMozilla浏览器的设备,都可以获取用户的位置信息。
我相信定位功能会为 Web技术带来许多全新的应用。如果能够合理利用    Web
览器,Web开发商就能使用用户的位置信息和其他内容开发出更加有趣的应用。虽然 这在技术上没有太大的困难,但却受到隐私保护条例的限制。我们将    Web浏览器当做
是用户进入 World Wide Web 的入口。加入定位功能,意味着在网站中引入了一些敏 感信息,这有可能导致严重的后果。但是位置感知应用中显示的位置信息必须经过用 户的授权,用户当然有权禁止应用发布自己的位置信息。
6.使用摄像头
摄像头可以为你的应用提供丰富的可能性。    以往移动MMS (Multimedia Messaging
Service )被用于处理移动照片。换言之,你拍了一张照片后,需要使用    MMS将它传
送给一个服务器,服务器对照片做出相应的处理,并将处理完成的结果通知给你。这 个过程是非常耗时的,而且相当复杂,也没有可靠性保障。
通过访问摄像头,Native App开发者能够简化拍照的过程。用户可以直接在客户 端对照片做
一些简单的处理,只有在有需要的时候才将照片上传给服务器,而且是通 过可靠的HTTP传输。W3C正在开发一个访问摄像头的    API,但现在还没有将这部分
工作正式整合到浏览器中。
在许多类型的移动 Apps中,摄像头是非常有用的, 比如快拍应用、短片拍摄应用 等等,摄像头可以用来捕捉许多重要的瞬间。不久的将来,我们可以看到    一一只要通
过摄像头拍摄某个标识,应用程序就能自动完成对标识上的语言转换工作    一一这个技
术在日本已经开始流行起来了。
7.使用感应器
现在越来越来越多的移动设备上都新增了感应器功能,该装置可以感知设备的物 理速度以及重力,并将感知的数据结果传送给设备。这个装置常被用来感应设置是否 被翻转,应用根据接受到的信息自动调节画面的方向。
感应器可以用来帮助用户提升与设备交互时的真实感;大多数移动设备都是手持 的,应用能
够根据设备的方向调整内容画面,比如翻转屏幕,或是检测物理移动,并 能据此猜测用户所处的环境。举一个简单的例子:比如用户正在走路,那么感应器能 够检测到一个轻缓的移动或是速度,这时可以为用户提供一个大字体的用户界面,从 而使得用户更容易看清屏幕上的内容。
然而,开发者也不能过分依赖感应器,因为感应器无法区分究竟哪些交互是有意 的,而哪些是没有意义的。每个移动交互都需要通过    传输测试”。设计你的交互时必须
考虑用户在一个拥挤的汽车或是火车上的场景。考虑一下如果用户正身处拥挤的地铁 或是正在驾车时,你的应用能否正确处理用户摇晃移动设备的动作。通常,大多数开 发者都没有考虑这些因素。确保为每个任务设计一个备用方案以处理特殊场景中的移 动交互。
8.访问文件系统
如果你的应用需要将数据保存在本地,那么你需要开发一个    Native App。比如你
要保存用户的地址簿、电话或    E-mail信息,或是保存从其他设备上获取的数据。
访问文件系统常常会涉及到安全和用户隐私保护的问题。恶意应用程序可能会修 改或是删除你的移动设备上的数据。一个携带病毒的应用程序可以利用移动设备上的 关系网将病毒扩散到许多其他的手机上,在采用移动应用认证机制以前,这种事情是 常常发生的。
另一方面,移动设备正变得越来越私人化,移动设备上保存了大量用户的个人信 息,以及用户的朋友信息和商业信息。针对这些私人信息开发应用是一个不错的想法。 但是这也存在一定的风险,使用保存在移动设备上的数据可以为用户提供更加有针对 性的服务。
开发者必须谨记,只有在获得用户的授权后才能访问用户的私人数据。我们看到 许多应用在没有得到用户授权的情况下使用了大量的用户私人数据,而被误认为是垃 圾信息或是钓鱼应用,即使这些应用原本是在提供一些非常有用的服务。人们对你的 应用的误解将会影响到你的服务的推广,如果运营商收到过多关于你的应用的投诉, 那么你的服务可能将被终止,甚至会牵连其他的应用。
访问文件系统时至关重要的一点就是在没有获得用户授权的情况下,不要访问任 何用户的私人数据。而这一点,往往被大多数应用忽略了。    W3C正在为移动开发商开
发相关的标准 API,但目前该工作尚未完成。
9.离线用户
最后一个需要开发 Native App的理由就是,用户有可能是离线的或者无法接入移 动网络。这在城市可能很少发生,即使是在农村,网络的覆盖也已经逐步普及了。但 是短暂的网络连接中断还是时常发生的,你的应用程序应该考虑如何处理这种情景。