Native App开发与web app开发
- 格式:doc
- 大小:38.00 KB
- 文档页数:7
WEB APP、HYBRID APP及NATIVE APP的综合对比说明目前主流应用程序大体分为三类:Web App、Hybrid App、Native App。
一、Web App、Hybrid App、Native App 纵向对比首先,我们来看看什么是Web App、Hybrid App、Native App.1。
Web APPWeb App 指采用Html5语言写出的App,不需要下载安装.类似于现在所说的轻应用.生存在浏览器中的应用,基本上可以说是触屏版的网页应用.优点:(1)开发成本低,(2)更新快,(3)更新无需通知用户,不需要手动升级,(4)能够跨多个平台和终端。
缺点:(1)临时性的入口(2)无法获取系统级别的通知,提醒,动效等等(若需要可变相通过手机等第三方工具形式在对接实现)(3)用户留存率低(4)设计受限制诸多(5)体验较差(6)相对而言网络环境要求较大(7) 手机上本地资源调用上(相机、GPS、通讯录等)有一定局限性(8) 受限浏览器版本(相对而言在设计时可能考虑基于微信和QQ浏览器的专项定制开发)2. Hybrid AppHybrid APP指的是半原生半Web的混合类App。
需要下载安装,看上去类似Native App,但只有很少的UI Web View,访问的内容是Web 。
例如Store里的新闻类APP,视频类APP普遍采取的是Native的框架,Web的内容。
Hybrid App 极力去打造类似于Native App 的体验,但仍受限于技术,网速,等等很多因素。
尚不完美。
3。
Native AppNative APP 指的是原生程序,一般依托于操作系统,有很强的交互,是一个完整的App,可拓展性强。
需要用户下载安装使用。
优点:(1)打造完美的用户体验(2)性能稳定(3)操作速度快,上手流畅(4)访问本地资源(通讯录,相册)(5)设计出色的动效,转场,(6)拥有系统级别的贴心通知或提醒(7)用户留存率高(注:看似的效果,源于对装机量能有所监控,但仅为虚数,时间上这个未来必将被摒弃,更多要体现注册用户数、用户活动率等所取代)缺点:(1)分发成本高(不同平台有不同的开发语言和界面适配)(2)维护成本高(例如一款App已更新至V5版本,但仍有用户在使用V2,V3, V4版本,需要更多的开发人员维护之前的版本)(3)更新缓慢,根据不同平台,提交–审核–上线等等不同的流程,需要经过的流程较复杂二、Web App、Hybrid App、Native App 技术特性由上图可见,Web APP 的开发基于Html5语言。
移动app、接口、web自动化测试区别先说说WEB的UI自动化测试:很多人在说自动化测试的时候,基本上现在指的是WEB的UI自动化测试,但其实这是不对的,自动化测试包含了很多开发的技术,不只是界面上的自动化测试。
WEB的UI自动化测试只是其中的一种,但它的工具确实最多的,有WINRUNNER\QTP(UFT)\TESTCOMPLETE\SILKTEST\ROBOT\SELENIUM\RF\WAITER等等,。
而对于没有开发基础的测试人员,可以考虑QTP这个自动化工具,掌握比较快,但要学精还是需要掌握开发技术。
但当总体来说根据自己的需求来选择符合自己公司的工具和开发语言。
接下来我说下WEB的UI自动化测试的优缺点:缺点:开发效率低、维护成本高、执行速度慢等等优点:用户操作真实性强。
接口自动化测试:接口自动化测试在后来出现,但现在大部分的互联网公司都喜欢用它作为测试工作辅助。
原因很简单,UI自动化的缺点它都能进行弥补,但同时它也存在一个最大的问题:用户操作真实性不强。
其实个人觉得接口自动化测试和UI自动化测试可以产生互补的测试。
因为我们做接口测试时更多的是根据开发的技术进行测试HTTP\SOCKET等等(接口测试基本上不需要用到什么工具进行,如果一定需要的话建议是用SOAPUI),而非真实的进行对系统进行操作验证系统是否存在问题。
APP自动化测试:APP的自动化测试应该也要分为UI和接口自动化测试,接口测试与上面说的一样都是技术层面上的事情就不说了。
那么还是关注APP的UI自动化测试,APP 的自动化测试工具方面也有很多,但也都不成熟,我选择了APPIUM,主要考虑到的它可以进行跨平台测试,但最大的问题还是不稳定。
所以也不敢大面积的布置其自动化测试用例。
APP刚才说过了主要分为NATIVE和WEBVIEW,NATIVE的对象还好获取,像android可以直接使用uiautomatorviewer进行获取。
朱挺认为,原生应用正遭遇着头部应用和尾部应用的巨大分野,0.1% 的应用占据了 70% QQ、微信、UC、微博和 360 这样的超级 App 属于大部分用户的「装机必备」,拥有庞大的用户量和极高的使用频率。
那么这些超级 App 应当思考这样两个问题:如何向用户提供个性化服务和内容?如何将流量供给合作伙伴?轻应用的机遇由此而来,它往往建立在超级 App 搭建的平台之上,围绕手机特性进行开发,能够更方便地曝光在用户面前和被调用。
典型的就是 UC+ 轻应用和微信公众账号。
超级 App李杨东:轻支付,重服务在李杨东看来,装机量和支付量是应用所追求的两个核心维度。
但是目前原生应用的开发成本居高不下,比如 CPA 推广、应用市场、渠道预装、实名认证等都需要较大开支,同时用户的留存度也不够理想。
目前支付宝移动端每天处理的交易达到 1000 万笔,2013 年累计活跃用户过亿。
今年下半年,支付宝将在支付领域积累多年的数据和资源进行开放,在移动端为开发者提供了三种接入模式:一、native app——引导下载,免去流量推广,会员黏性高;二、公众号——无需安装,用户主动关注,可进行用户管理和定点营销;三、深度集成——IT系统互通,会员卡等数据集成。
相比于其他超级 App,支付宝所具备的优势是低成本接入阿里的生态圈;面向教育、游戏等行业进行特殊金融工具支持;近场卡券核销和支付功能。
姜燕北:如何解决小应用分发难题?根据百度的移动互联网研究报告,虽然用户手机里的 App 越来越多,但用户日均启动的 App 数量不升反降;日均启动超过 1 次的 App 占用的时长从 83% 增长到 85%。
Top1000 的应用只占总应用数量的 0.1%,但占据了 55% 下载量。
这说明和 PC 一样,Native App 已经严重向头部集中,尾部应用陷入严重危机,分发和留存成本越来越高,但用户使用频率却越来越低。
姜燕北的观点在各家平台中似乎更加特立独行:轻应用只不过是浏览器之外的一个新的移动网站的载体而已;如果产品服务不适合以移动网页的形式提供,那么开发者就不要去考虑轻应用了。
对M站、h5、PC端、APP的理解 M站、h5、PC端、移动APP等这些都是前端开发最长接触到的,今天我就⼤概的聊⼀聊他们吧! M站:M站⼀般是指⼿机⽹页端的页⾯,也就是mobile移动端 H5:H5,是HTML5的简称,他是⼀种⾼级的⽹页技术,最⼤的优点之⼀就是在移动设备上⽀持多媒体。
我们平时看到的邀请函、幻灯⽚、⼩游戏......都是H5⽹页,他跟我们平时上⽹看到的那些⽹页本质上没有任何区别 pc端:PC全称:Personal Computer。
意思是个⼈计算机或者个⼈电脑。
PC是⼀个具有⼴泛含义的词语,也是电脑的统称。
移动APP:APP是应⽤程序Application的缩写⼿机软件,主要指安装在智能⼿机上的软件,完善原始系统不⾜与个性化。
使⼿机完善其功能,为⽤户提供更丰富的使⽤体验的主要⼿段。
⼿软件的运⾏需要有相应的⼿机系统。
主要的⼿机系统有:苹果公司的IOS、⾕歌公司的Android(安卓)系统。
M站与APP的区别: 1、APP 直接在⽤户的移动设备上,曝光率相对较⾼。
⽽M站需打开浏览器,输⼊地址才能访问,所以曝光率相对较低。
2、M站的推⼴的渠道相⽐移动APP,渠道较多,⽅便追踪⽤户来源,流量⼊⼝等,⽅便以后的活动推⼴和数据分析。
3、M站⽤户⽆需安装,输⼊URL即可访问,⽽APP需要下载安装。
4、M站能够快速的通过数据分析,能快速得到⽤户的反馈,从⽽更容易根据统计数据分析和⽤户的需求来调整产品。
5、APP对⽤户更具粘性,⽤户体验也更好。
6、M站对于营销推⼴活动⾮常⽅便,转发分享⽅便快捷。
7、M站更新迭代产品速度,响应产品调整⾮常快,随时发布,⽽App需要审核时间。
8、M站跨平台,⽆需开发安卓和iOS版,只需有浏览器即可。
PC端和web端的区别: 1、操作⽅式不同 PC端的操作⽅式与移动端已经有了明显的差别,PC端使⽤⿏标操作,操作包含滑动、左击、右击、双击操作,操作相对来说单⼀,交互效果相对较少。
移动应用开发技术之Native App开发指南移动应用开发已经成为了现代科技领域非常热门的话题。
在移动应用的开发过程中,本地应用(Native App)开发技术被广泛采用,因为它能够提供更好的用户体验和更高的性能。
本文将为您介绍Native App开发的基本概念、技术要点和最佳实践。
1. 什么是Native App开发?Native App是一种针对特定平台或设备(如iOS或Android)开发的应用程序。
与Web App相比,Native App可以直接访问设备的硬件和操作系统功能,因此具有更高的性能和更好的用户体验。
Native App开发是使用平台特定的编程语言(如Objective-C/Swift在iOS上,Java/Kotlin在Android上)编写代码,并使用原生的API和工具来构建应用程序。
2. Native App开发的优势Native App开发具有多个优势。
首先,Native App可以充分利用设备的硬件和操作系统功能,提供更快的加载速度和更流畅的用户界面。
其次,Native App能够提供更好的用户体验,因为它们可以与操作系统和设备的特定功能进行无缝集成。
此外,Native App还具有更高的安全性和更好的稳定性,因为它们受到平台厂商的支持和维护。
3. Native App开发的核心技术要点在进行Native App开发时,有几个核心技术要点需要注意。
首先是选择合适的开发平台和工具。
对于iOS平台,可以使用Xcode和Objective-C/Swift编程语言进行开发;对于Android平台,可以使用Android Studio和Java/Kotlin编程语言进行开发。
其次是熟悉平台特定的API和功能,以便能够充分利用设备的硬件和操作系统功能。
此外,还需要掌握界面设计和用户体验原则,以确保应用程序具有良好的可用性和易用性。
4. Native App开发的最佳实践在进行Native App开发时,有一些最佳实践可以帮助开发者提高开发效率和代码质量。
详解移动APP与web APP的区别对于APP与WEB APP的区别,很多人还不是很清楚,下面就让小编来简单介绍APP的功能以及与WEB APP的区别。
定义,什么是原生APP和web APP?Web App即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。
原生APP又称Native App,该开发针对IOS、Android、Windows等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP 应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
开发方面的区别移动Web App1、因为运行在移动设备的浏览器上,所以只需要一个开发项目2、这种应用可以使用HTML5,CSS3以及JavaScript以及服务器端语言来完成(PHP,Ruby on Rails,Python)3、这里可没有标准的SDK,基本任意选择别忘了有一些跨平台的开发工具,比如PhoneGap, Sencha Touch 2以及Appcelerator Titanium等等。
原生App1、每一种移动操作系统都需要独立的开发项目2、每种平台都需要独立的开发语言。
Java(Android), Objective-C(iOS)以及Visual C++(Windows phone)等等3、需要使用各自的软件开发包,开发工具以及各自的控件能力方面的区别移动Web App,只能使用有限的移动硬件设备功能。
原生App,能够与移动硬件设备的底层功能,比如个人信息,摄像头以及重力加速器等等获取方法的区别移动Web App1、从移动设备上的浏览器访问2、不需要安装额外的软件3、软件更新只需要服务器就够了4、因为现在没有什么商品或卖场提供这种App,所以如何搜索这些移动Web App 相当不简单原生App1、直接下载到设备2、以独立的应用程序运行(并不需要浏览器)3、用户必须手动去下载并安装这些原生App4、有一些商店与卖场来帮助用户寻找你的App,目前app市场不计其数,比较版本控制的区别移动Web App,所有的用户都是用同样的版本。
移动应用开发技术比较分析随着智能手机的普及,移动应用的需求也越来越广泛。
在移动应用开发的过程中,选择合适的开发技术对于保证应用的质量和用户体验至关重要。
本文将对目前常见的移动应用开发技术进行比较分析,包括原生应用开发、混合应用开发和Web应用开发。
1. 原生应用开发原生应用开发是指针对特定平台(如iOS、Android)使用平台提供的开发工具和语言进行开发。
这种方法可以充分利用设备硬件和平台特性,提供稳定、流畅和高效的用户体验。
同时,原生应用也能够与设备的各种功能进行更深入的集成,比如相机、地理位置等。
然而,原生应用开发需要独立开发和维护多个平台的应用,增加了开发成本和工作量。
2. 混合应用开发混合应用开发是同时使用HTML、CSS和JavaScript等Web开发技术,结合原生应用开发框架(如React Native、Flutter)进行开发。
混合应用开发的优势在于可以在多个平台上共享代码,减少开发成本和工作量。
同时,混合应用开发也提供了快速迭代和跨平台的能力。
然而,由于混合应用的性能和用户体验通常不如原生应用,对于一些对性能要求较高的应用来说不太适合。
3. Web应用开发Web应用开发是指开发基于浏览器的应用,用户通过浏览器访问应用的网页进行交互。
Web应用开发具有平台无关性和易于维护的优势,只需开发一次即可在多个平台上运行。
同时,Web应用开发还有利于SEO和推广等方面。
然而,由于Web应用依赖于网络连接,对于离线功能和较高的性能要求支持相对有限,适用范围相对较小。
综上所述,选择适合的移动应用开发技术需要综合考虑项目需求、开发成本和工作量等因素。
原生应用开发适用于对性能和用户体验有较高要求的应用,但需要独立开发和维护多个平台的应用。
混合应用开发适合需要快速迭代和跨平台的应用,但对性能要求较高的应用不太适合。
Web应用开发适合平台无关性和易于维护的需求,但对离线功能和性能要求较高的应用支持不够。
企业数字化转型中的移动应用开发技术研究在当今数字化时代,企业转型也是必不可少的部分。
企业数字化转型可以通过多种方式进行,其中移动应用开发技术是很重要的一部分。
移动应用开发技术可以帮助企业完成从传统业务模式到数字化业务模式的转变。
因此,本文将对企业数字化转型中的移动应用开发技术进行探讨。
一、移动应用开发技术1. 现有技术的优势和不足现有的移动应用开发技术主要有原生开发、Hybrid开发、Web APP开发和微信小程序开发等。
原生开发是指使用本地语言对移动应用进行开发,如使用Android Studio和Xcode分别开发Android和iOS应用。
Hybrid开发将Web技术和Native技术结合起来进行开发,如使用Ionic和React Native来进行开发。
Web APP开发是一种基于Web技术开发的应用,通过相应的API可以在手机上访问。
微信小程序是微信生态圈中的一种开发方式,可以在微信中使用。
原生开发和Hybrid开发的优势在于能够利用操作系统中设备的功能,具有较高的性能和用户体验。
但是这种开发方式的缺点在于需要开发对应不同操作系统的应用,开发成本较高,代码复杂度也较高。
Web APP开发和微信小程序开发的优势在于成本较低,代码复杂度较低。
但是这两种开发方式有着较弱的性能和用户体验,限制了应用的使用场景。
2. 新兴技术的发展和应用新兴技术的出现也在一定程度上缓解了原有技术的问题。
例如,Flutter技术的出现,可以通过一套代码来开发多个平台的应用。
这种技术能够提高开发效率,降低开发成本,并提供了强大的性能和用户体验。
在数字化转型的过程中,企业可以选择更适合自身情况的技术来进行开发。
二、企业数字化转型与移动应用开发技术的关系1. 移动应用开发技术在数字化转型中的作用随着数字化时代的到来,企业也开始了数字化转型之路。
数字化转型的核心是将传统的业务模式转换为数字化业务模式。
移动应用开发技术相较于传统的业务模式有着更强大的优势,例如能够提高业务流程的效率、减少成本、增强用户体验等。
native的用法一、什么是native?Native这个词源于英语中的“本地的”或“本土的”,在技术领域中常被用来形容与操作系统、平台或环境相适应,具有原生支持和优化的应用程序。
它可以指代不同的概念和用法,包括Native App、Native Advertising和Native Language等。
二、Native App——实现更好用户体验1. Native App是指针对特定平台或设备编写并优化的应用程序。
与Web App相比,Native App具有更高的性能和更好的用户体验。
由于直接安装在设备上并充分利用硬件资源,Native App能够运行更快,提供更丰富的功能和交互体验。
2. Native App通常以操作系统提供的软件开发工具(如iOS上的Xcode和Android上的Android Studio)为基础进行开发。
通过使用平台独有的API和框架,开发者能够深度融合操作系统,并直接访问设备功能,如摄像头、GPS等。
3. 开发Native App需要掌握相应平台的开发语言和工具链。
在iOS平台上,Objective-C和Swift是主要选择;而在Android平台上,则使用Java或Kotlin。
利用这些现成工具和语言,开发者可以轻松构建出高品质、媲美原生应用的用户界面。
4. 与Web App相比,Native App在用户体验方面具有明显优势。
首先,Native App可以充分利用平台的特性,如推送通知、本地存储和离线访问等。
其次,由于直接运行在设备上,Native App能够更快地响应用户的操作,并提供更加流畅的交互效果。
最后,在设计和布局方面也更加灵活自由,能够为不同平台提供个性化的UI设计。
三、Native Advertising——融入内容之中1. Native Advertising是指将广告融入到应用程序或网站内容中,并与其形式和风格相符的一种广告形式。
相较传统广告而言,Native Advertising更具有隐蔽性和融合性。
昆明天度APP开发模式通常分为两种,这两种模式均各自有自己的优势,到底是采用Native App开发还是采用Web App开发一直是业界争论的焦点,但是随着HTML5的发展及云服务普及,采用HTML5进行Web App开发正在成为一种趋势,用户可以根据应用特点和需求进行选择,亦可选择两者混合模式:本文提到的是APP客户端应用开发模式的区别,涉及到手机网站与APP应用的区别,请参考:手机WAP网站、触屏版手机网站、APP应用程序之间的区别。
Native App开发Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS、Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。
Web App开发Web App开发即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。
原生APP开发及Web APP开发模式的区别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、蓝牙、重力感应等)(5)APP应用更新新功能,涉及到每次要向各个应用商店进行提交审核。
适用企业:游戏、电子杂志、管理应用、物联网等无需经常更新程序框架的APP 应用。
到底该如何选择Web App和Native App开发模式移动Web无所不在,移动Web是目前唯一的支持各种设备访问的平台,与桌面Web一样,移动Web支持各种标准的协议。
移动Web也是唯一一个可供开发者发布移动应用的平台,它将各种移动交互与桌面任务有效地连接了起来;而开发Native App 可以充分利用设备的特性,而这一点往往是Web浏览器做不到的,所以对一个产品本身而言,Native App是最佳的选择。
下面几节将讨论一下Native App的一些主要功能。
什么时候应该选择Native App1.为应用收费没有任何地方规定开发者不能对一个移动Web App收取使用费,但是由于某些原因,人们常常认为不能或是不应该对一个Web App收取费用。
由于历史原因,导致移动设备上付费服务遭遇两大阻力:2.付款方式在移动设备上输入信用卡号相当麻烦,而且在许多老式设备上也没有安全保障。
一种典型的方式是,如果你需要对你的应用收费,你可以与运营商达成协议,让运营商代为为你的服务收费。
这也意味着,你需要和多个运营商达成合作。
这通常是首选的方法,因为许多手机用户可能根本就没有信用卡,比如青少年。
另一种方法是将用户的信用卡信息保存在一个安全的网站上。
用户可以通过登录到该网站购买应用服务。
这个过程不算特别理想,因为这意味着用户不能直接通过他们的移动设备购买服务了。
3.强制分成移动运营商是会提成的。
App无论是通过运营商还是通过移动设备发布,他们都为应用提供了一套收费机制。
这些运营商和移动设备将会提取部分收益,然后将剩余的部分交给应用开发商,这也意味着,开发人员必须遵守他们的市场规则。
适应运营商的市场规则通常是非常困难的,需要投入大量的人力资源。
相比而言,移动设备的市场规则则简单许多,但是也存在不少的困难。
妨碍运营商和移动设备开发商利益的应用以及服务都将受到阻扰。
过去,那些不靠运营商和移动设备开发商运作的网站如果收入过于显眼的话,都逃脱不了被关闭的命运,但是最近,这样的事情鲜少发生了。
如果你想为你的Native App收费,那么你就必须接受这个现实——你必须遵守别人的市场规则,还得放弃部分收益。
4.开发游戏如果你是想开发一个移动游戏(移动游戏是移动市场上最大的一块),那么你需要开发一个Native App。
游戏对资源的占用很大,并且需要使用许多设备API或平台API。
虽然,现在有几款完全使用Web技术开发的游戏占有了一定的市场份额,但是和Native App市场的占有情况相比,还是微不足道的。
游戏用户对应用的视觉和操作效果要求很高。
移动Web虽然提供了一些仿真体验,但还远远不能满足用户的需求。
在开发移动游戏时,你需要慎重考虑你的应用需要支持哪些平台。
幸运的是,现在有许多工具能够帮助你将你的游戏推向多个平台,但是完成这些工作,还是需要花费大量的人力和物力。
5.使用定位功能下一个功能就是定位功能,可以通过GPS或者是信号检测确定用户当前的位置信息。
以前只能通过Native App的APIs查看用户的位置信息,但现在大多数主流移动浏览器上都嵌入了W3C Geolocation API。
像iPhone或Android这样安装了WebKit 的设备,或是配置了Opera或Mozilla浏览器的设备,都可以获取用户的位置信息。
我相信定位功能会为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的理由就是,用户有可能是离线的或者无法接入移动网络。
这在城市可能很少发生,即使是在农村,网络的覆盖也已经逐步普及了。
但是短暂的网络连接中断还是时常发生的,你的应用程序应该考虑如何处理这种情景。
想想用户通常在什么时候,在哪里会使用你的App。
如果是一个移动游戏,那么用户很可能在飞机上使用这个App。
跟踪地图应用常在偏远且网络覆盖不佳的地方使用。