基于Web开放平台的应用研发可否用手机.android secure开发

对于Android应用程序开发,是否有必要引入第三方框架,比如一些第三方的MVC框架等等,大家怎么看?
【的回答(6票)】:
没必要引入第三方框架,应用更像一个client,用来做数据展示而已。Android工程应该引入第三方Widget,提高数据展示效率跟效果,但是像IOS下的Three20这样优秀的开源库,在android太少了...
【吕超的回答(2票)】:
Android Query 项目实现了我之前所期待的大部分功能,亲自实践了一段时间后,现在推荐给大家: 。
-----------------------------------------------------------------------------------------------------------------------------------------------
比起单纯手机端的框架,我更期待的是某种整合了服务器端与手机端的解决方案。比如可以在服务器端实现 Model 和部分的 Controller,而在手机端则可以只是实现 View 。最终能够达到如下效果:
避免显式的在手机端与服务器间进行通信,而是将远程的计算资源直接暴露给本地应用。隐藏数据的同步,Cache 管理等细节。统一的 push 机制。
最后出来的效果非常类似于 Web Service,又和云计算以及移动应用扯上了关系。(我真不是来炒概念的)
其实以上这些在 Android 系统中都有所体现了,只是至今没有被统一起来,或者必须依赖于 Google 的服务而难以在实际应用中部署。因此期待第三方的社区或者公司能提供一整套的解决方案。
【刘乐君的回答(1票)】:
MVC思想可借鉴,说到框架就感觉有点过度设计的味道了。框架是用来拆分复杂性,定义并限制了一些边界,使得程序员不容易逾越。移动客户端的对象往往不多,感觉不需要MVC的框架来帮忙。
【王超的回答(0票)】:
恩,我觉得挺好的啊,目前有比较成熟的框架吗?之前看到了spring for android 不知道好不好用。
【钢盅郭子的回答(0票)】:
1 觉得方便就用
2 边用边深入
3 吃透之后再优化或扩展,最终摆脱依赖
【李改兵的回答(0票)】:
我想,我有了自己的答案!在没有对某个/些框架足够深入的前提下,刻意的去使用它们,确实会是个累赘,感觉总会绊手绊脚的,类比到开发语言,也一样!
【Terry Zhao的回答(0票)】:
我觉得,如果能做成webos, 可以进一布降低开发门槛,毕竟中国的大学还是能诞生很多做网页的人才的,hehe
【杨山河的回答(0票)】:
我觉得从生产力角度来看,肯定要有符合自己团队需要的框架,或者准框架。否则啥都从头来,何处是竞争力啊?
【陶开明的回答(0票)】:
我觉得会产生更多的兼容性问题
【亘古的回答(0票)】:
android 的应用程序很多都是基于Web Service 给它提供数据的一个展示型的设备
它并不需要自己去处理大量的数据和逻辑,他就是一个View层
【陈津的回答(0票)】:
MVC框架个人觉得建议使用,因为 android 的 应用程序框架层 很多都使用了MVC 模式
【江鸣的回答(0票)】:
Android 的View,Activity,Service,BroadcastReceiver,ContentProvider等等,本身就提供了很清晰的MVC结构,不需要用第三方框架,倒是有很多第三方的工具库,可以根据需要使用。初学者可先通过学习API Demo和官方的开源应用,如:,了解Android应用的设计模式。
【陈飞的回答(0票)】:
Android本身上层的架构就是一个很好的mvc框架,没必要使用此类框架。如果必要的话apache的一些工具类库倒是可以根据需要使用,但是常用的工具android本身也具备了。了解android系统的架构才是关键,个人意见。呵呵
【曾水新的回答(0票)】:
肯定需要。现在的成熟android应用使用自己的框架,否则维护升级、多项目开发是不可想象的。
第三方的框架似乎只有spring。
&&&&&本文固定链接:
【上一篇】
【下一篇】
您可能还会对这些文章感兴趣!
最新日志热评日志随机日志[话题讨论] HTML5 是否会冲击甚至颠覆 iOS/Android 等原生 APP 开发? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
Sponsored by
国内领先的实时后端云野狗 API 可用于开发即时聊天、网络游戏、实时定位等实时场景传输快!响应快!入门快!
Promoted by
[话题讨论] HTML5 是否会冲击甚至颠覆 iOS/Android 等原生 APP 开发?
14:15:07 +08:00 · 6409 次点击
2014年10月底,HTML5规范正式定稿,结束了长达8年的长跑。相信HTML5未来的发展会越来越好,而iOS/Android APP开发也是如日中天。iOS与Android各自拥有大量的用户,这就意味着需要两班人马开发维护。同时还得顾及版本、手机规格、屏幕尺寸等等百花齐放的特性(Android不用多说,各种机型。即便是iPhone,某些APP未对大屏幕做优化,在6 plus下显示效果也是大打折扣),为此反复进行调试,都是非常繁琐的事情。而随着手机硬件的高速发展和HTML5的规范定稿,相信它自身的“性能”将不再是瓶颈。毕竟它只需要维护一套代码,就可以在不同平台下良好的运行。发布、版本升级,终端用户几乎感受不到。我在想,未来HTML5会冲击甚至颠覆原生APP的开发,就像B/S逐步取代C/S一样。欢迎讨论。有篇文章写得挺全的:
第 1 条附言 &·&
15:10:53 +08:00
补充说明一下,这里不是争执HTML5和Native APP谁取代谁的问题。而是讨论HTML5的发展趋势,会对Native APP造成哪些影响,影响有多大(甚微,各占半壁江山,颠覆?)。还有大家不要提到HTML就局限于浏览器,浏览器只是载体之一。我很赞同最后的总结:让用户和开发者都更方便的趋势是不会错的。
54 回复 &| &直到
09:58:52 +08:00
& & 14:19:26 +08:00
HTML 5 能否构建本地化应用?即将页面在 app 安装时下载至设备中,这样即使 offline 后也可以浏览部分内容,或者已经下载完毕的离线内容
& & 14:24:12 +08:00
放心 不能!是不是w3c能解决跨浏览器兼容问题?这个问题不是协议问题,而是各大厂商利益问题。
& & 14:32:32 +08:00
@ 个人觉得HTML5和Native APP会互补共存,对比现在的APP一家独大,HTML5未来的比重会逐步提升,不是说谁取代谁。HTML5的主要载体不一定是浏览器哦。
& & 14:36:11 +08:00
肯定会,现在混合开发的越来越多了,以后肯定是趋势。
& & 14:43:30 +08:00
HTML5的最大问题是要连网。
& & 14:55:42 +08:00
不好说,但是至少还有很长的路要走。
现在Android还在讨论性能呢,大部分应用还是不能直接用HTML5。
不过说起来,性能到了就可以上HTML5 ,比如现在的PC端就是一样的逻辑。
& & 14:56:15 +08:00
互补差不多,颠覆呵呵
& & 14:56:52 +08:00 via Android
不可能,你先把国内那群清理大师干翻再说
& & 15:02:36 +08:00
当年facebook也是这么想的,后来撞的头破血流后乖乖的回到了native.
& & 15:05:53 +08:00
@ 那时候“天时地利人和”三者不具备呢,引用格罗姆一句话“时代变了”。我觉得多少还是有影响的。
& & 15:13:56 +08:00
游戏是原生最后的自留地,就像PC上的发展一样。
话说,从10年做iOS开发以来,Hybird一直是优先选择。
& & 15:15:39 +08:00
@ 页游会不会火?
& & 15:18:24 +08:00
不会,体验可能跟android应用差不多。
& & 15:18:25 +08:00
iOS 下 HTML5 的体验还可以,Android 就....
嗯,性能上了,体验流畅了,确实就有一批 app 会 HTML5 化,但是一些大 app 和游戏还是做原生的..
& & 15:20:43 +08:00
这个觉得还是很有前途的,现在开发android的还要考虑2.3就像前端还要兼容IE6,太痛苦了.
& & 15:26:55 +08:00
颠覆肯定没戏,一个性能问题就压死你了。
有发展是一定的,前端路过,兼容性实在是太苦逼了,请务必快点一统江湖。
& & 15:32:16 +08:00
@ 于是现在出现了react.js和reactnative
& & 15:40:31 +08:00
个人感觉HTML5在一些应用场景还是很好的,比如以文本为主的App,但有些应用还是更多的依赖native特性来完成,比如目前HTML5的混合开发模式是需要调用那些已经成功封装,或者允许被封装的native包的,但有些native特性是不允许被封装的,比如apple watch的一些特性,就不允许第三方去封装,所以最终还需要我们要做什么。
& & 15:45:42 +08:00
HTML5 不会挂掉,浏览器会挂。(挂不是只消失,而是指使用率下降)
& & 15:48:17 +08:00 via Android
html5是世界上最好的编程语言
& & 15:51:53 +08:00
短时间内应该没有公司这样做,我之前调查SVG在android4.4中的支持情况,很多接口缺失,其他的规范也有不支持的。
4.4之前还有那么多款老版机型(有的可能更根没有支持HTML5),也就是说兼容性可能比IE系列调试器来还虐心,在某些api缺失的情况下估计只能做小项目,搞不了大工程。
不过肯定有人会贪“便宜”,苦逼的还是前端,到最后搞不出来,大家一起哭。
& & 16:00:17 +08:00
其实 HTML5 的发展还是没有如期待的那样,这篇文章是关于手机端的 web
web 的占有率在移动端其实一直在下降,所以很多人会担心,app 会毁掉 web 的开放性,因为很有可能移动端上 app 最终会占据主流
还有一篇文章是说关于浏览器和原生的性能问题的,忘了在哪了,大概意思是在 arm 的架构下,浏览器想达到一个性能上的突破其实要非常久的时间,从这方面来说 app 的体验自然是更好的,在各自的私有平台来看也是
react native 算是最好的消息,其实和 html5 本身关系不大
web 的优势在于信息的共享和传播,比如转发篇文章,网站,通过搜索引擎找到信息等等,在作为 app 方面显然不具备 native 的优势,未来一段时间在移动端还是作为,信息的传播和粘合剂的作用更多。
& & 16:00:52 +08:00
HTML5还是缺乏一个事实上的执行标准。
App毕竟有系统级的支持,统一的处理流程。然后HTML的技术实现则是有多家方案商在做(webkit,ie,mozila之流),性能这块短期无法跟上,特性支持也是比较乱。
也就是说,即使用上了HTML5,实际上开发并维护数个可用版本的巨额成本还是存在的。
App相比之下则显得更加高效,成本也好控制。
当然,就趋势上来说,一种标准当然可以减少开发维护成本,我们都希望HTML5成为那个标准,不过Java何尝不是呢。
& & 16:25:57 +08:00
APP跟跟桌面程序有什么区别?
活不了几年了。
& & 16:31:43 +08:00
我哪能猜准 ,哈哈。对页游没接触,没研究。
btw,感觉最近很多软文的背后都有自己的算盘
物联网现在借着移动互联网的势头大做文章,这几年没看到什么实质的进展
数字天堂的这篇软文中,我更多看到的是对它自己产品的介绍,作为国内企业移动化的供应商,经历了资金链风波后,缓过来了。
& & 16:45:23 +08:00
HTML5主要还是性能跟不上,什么时候性能问题能解决Native App才会真正收到冲击
& & 16:53:15 +08:00
没人提 HTML5 各种随机崩溃么?
& & 18:39:37 +08:00
简单的app,就用html5吧
& & 19:22:24 +08:00
桌面程序日薄西山是因为移动互联网时大势所趋,这跟android/iOS原生应用活几年有什么必然关系吗??
难道以后时呼吸互联网时代从而取代了移动互联网?呵呵
& & 19:45:52 +08:00
只会混合,不存在取代。
& & 20:19:40 +08:00
@ 只是看到各种破网站也要各种APP的蛋疼的需求想吐槽罢了。
& & 21:12:56 +08:00
十多年前,我记得在浏览器里听个歌都卡的不行,更不用提看视频了。
那个时候我们看视频第一会选择电视
& & 21:31:25 +08:00
表示正在开发移动端的H5游戏,目前的趋势来看肯定是越来越好的,但和原生应该是一个互补共存的关系
& & 21:32:14 +08:00
@ 可以,gmail的Html5网页版已经这么做了。
& & 21:32:44 +08:00
HTML5慢可以缓解,但无法解决
& & 21:32:49 +08:00
@ 别逗了,webkit早就是html5的标准了
& & 21:36:05 +08:00
刚接触HTML5开发的人都这么热血沸腾。
十几年前就开始接触手机应用开发,兼管原生与混合开发团队三年多的老码农表示,如果你想听论点,那就是HTML5绝对冲击原生开发,但想颠覆,至少从目前还看不出明显的趋势。
如果你想听论据,抱歉没那么多时间打字,这玩意是个太复杂的话题……………………
& & 21:40:03 +08:00
HTML5其实真不是重点,重点是硬件水平的提升,CSS3才是重点。
基于Web的应用能替换部分功能,但替代原生基本不可能,除非硬件水平大幅度提升,以及底层上的支持。
& & 23:00:34 +08:00
Web is dead , thanks
& & 23:03:05 +08:00
根据摩尔定律,性能问题都不在会是问题。
虽然现在有直接用canvas来利用硬件加速获得更好性能,一些常用效果还需要重新构建
& & 23:38:30 +08:00
之前我每次看到类似的力挺HTML5的文章,都会在之后一段时间里发现各种做HTML5页游或者微信、微博手机端网页游戏的公司在寻求融资……
你们到底把HTML5当成什么了!!
& & 00:32:02 +08:00
我的问题是:
你们讨论的到底是
Browser VS 其他Native App呢?
HTML5 VS Java / Swift / C / C++
还是 HTML5 VS Native App
如果是HTML5 和 Native App比较,要不要比较下HTML5和
Browser ? 对应过来我觉得这么比较还是有点看头的。
& & 09:27:21 +08:00
各自发挥各自的优势才是最好的办法,盲目的去追求一种技术方案是不可取的。
& & 09:52:17 +08:00
根据摩尔定律 手机电池 每18个月 爆炸威力翻倍
& & 09:54:04 +08:00
可以看看这篇文章:
& & 11:10:04 +08:00
这种讨论一般是月经了吧,请先搜索本社区的之前讨论....
& & 11:31:23 +08:00
web app和 native app之争。短期内不太可能,应该是共存的局面还要存在相当一段时间。目前国内web app(主要是游戏方面)做得慢慢有一些起色了,facebook从对html5的绝望到重新开始支持。
GOOG,MS,Mozillia都在大力发展web,只有APPL目前还对web不是非常投入,不过我觉得web app值得投入精力,虽说现在的前端很混乱,学习起来也很辛苦。
& & 11:51:35 +08:00
我认为Web App必然会取代很多现有Native App在做的事,但Native App将会在特定领域一直有价值。很赞同楼主提到的文章里的观点,这是个喜人的趋势。
& & 12:07:54 +08:00
首先,HTML5肯定会对传统开发方式有较大的冲击。
原因很简单那,因为大量的手机APP其实功能都很简单,并不需要处理太复杂的逻辑,这些地方HTML5的优秀呈现层比传统的本地代码模式有很大优势。
但是还是有一些需要复杂运算的地方,但是不会多,首先因为手机平台本身就不是一个适合做复杂运算的平台,这就注定了轻量级APP占据绝对大多数的地位。
& & 12:42:01 +08:00
我很看好HTML5
& & 13:36:24 +08:00
如果是担心性能的同学,当html5写的代码已经能翻译成本地组件,你们还会说性能有问题吗?
& & 14:21:44 +08:00
不是会不会,而是什么时候。
楼上诸位提出的问题,根本不是完全否定的问题,作为一个工程师,我的电脑,常年只开三个桌面程序:浏览器,终端和即时聊天。手机也基本上浏览器和即时聊天就够了。看看你们天天用的 App 是哪些?Twitter ?新浪微博?Facebook ? 这些 App 是一定能被浏览器取代的。
之所以现在没有取代,是因为各平台商都有私心,因为如果哪天 Web 大一统了,就没有平台商什么事儿了。这也是为什么现在国内和国外各公司力争浏览器市场一样。
举一个大家都很清楚的例子。Windows 的 IE 从 IE 6 之后,几乎没有什么特别大的变化。但到后来因为苹果的 iPhone 卖得多了,Mac 也卖得多了,因为 Flash 以及应用缺乏的原因,苹果大力推广 HTML5 和 各种浏览器黑科技。WebKit 的贡献自然也不用我多说。这么多年过去之后,Mac 和 iOS 的 App 多了起来,苹果占据主流,微软成为弱势,所以微软近几年就把浏览器做得非常好。更别提横插一脚的 Google Chrome 。
谁掌握了浏览器,谁就掌握了未来。
& & 07:34:18 +08:00
@ 苹果虽然开始大力推HTML5,那是因为开始iPhone根本不打算给你本地开发SDK,随一代iPhone出来的只有web开发软件的方式,是一年后才废掉Web方式采用本地SDK了。然后苹果就渐渐在html5上裹足不前。
反而是Mozilla和Google才是HTML5的大力推广者。asmjs、v8引擎这些都是实打实的突破性的东西,safari除了抄袭自khtml的内核并且兼容最新的标准外,啥东西能让大家受益的?很少,甚至微软都有Ajax这种玩意。
苹果是出主流浏览器厂商贡献最少的一个了
& & 09:58:52 +08:00
感觉技术的走向还是大厂之间的博弈
& · & 300 人在线 & 最高记录 1893 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.7.3 · 45ms · UTC 20:03 · PVG 04:03 · LAX 13:03 · JFK 16:03? Do have faith in what you're doing.四款不可错过的 Android 开发工具 - 开源中国社区
当前访客身份:游客 [
当前位置:
四款不可错过的 Android 开发工具
Android以其极强的开放性吸引着世界各地的开发者去开发各种各样的移动应用开发,而各种SDK更是为各个层次的开发者提供了一个可以尽情展示 他们专业技能和创造性的平台。虽然Java是各种平台最常用的编程语言,但是其它一些开发工具包只支持C、C++和Ruby。除此之外,所要开发应用的特 性在一定程度上也决定了开发环境的选择,开发工具内置的库能够降低开发强度,而特定的功能也能进行模块式独立开发,以下是Android开发者不可错过的 四款强大的Android开发工具:
Basic4Android是Android平台上一个简单而又强大的可视化快速应用开发工具,可以开发基于云计算的Android应用,同时还内 置了企业级移动应用开发所需的代码库;Basic4Android可被用来开发和测试数据库通信,甚至可以被用来开发2D的即时游戏。 Basic4Android兼容了Google的AdMob数据库,所以开发者可以在他们开发的应用中植入广告来获取收益。
主要特性:
编译为原生的bytecode,不需要运行库。生成的APK文件与Java / Eclipse生成的文件完全一样
与Java编写的应用性能相同
与Visual Basic类似的事件驱动编程语言,支持对象和代码模块
不需要写任何XML文件
可视化编辑器支持多屏幕和各种分辨率
支持Android 1.6及其以上版本的所有移动设备
支持自动完成、内置文档、内部索引和其它高级功能
强大的单步调试功能
支持所有的Android核心特性
Gimbal是高通旗下Qualcomm Labs推出的一款面向iOS和Android平台的SDK。Gimbal中的内置函数库能够为开发者提供特定位置或地理围栏解决方案。Gimbal环境 感知SDK帮助开发者向手机用户提供及时、个性化的相关内容,开发者可以从SDK中选择所需的软件库加入应用中。
这些SDK包括:
Gimbal Geofence:旨在提供基于地理围栏的低功耗位置识别服务。这一工具将赋予应用“环境感知”功能,即能够根据用户所在的位置对用户做出有益调整。
Gimbal Interest Sensing:使应用能够根据终端用户的个人信息和兴趣做出调整,此工具可以针对特定受众提供定制应用。
Gimbal Image Recognition:使终端用户可以通过智能手机的摄像头发起互动体验。
Gimbal Manager:是一款基于Web的工具,用于管理地理围栏、个人信息规则、图像目标、内容、发布和分析。
Gimbal Privacy:供终端用户管理Gimbal及其功能,Gimbal旨在让终端用户了解和掌控他们分享环境和兴趣的内容和时间,并保护用户的个人信息。
Titanium旨在为跨平台的原生移动开发提供一种更高级的API,所以开发者可以访问一系列从用户界面组件、插座接口到通知系统集成的原生特性 和功能。Titanium的目的是将Titanium应用程序和纯原生应用程序之间在功能方面的差异缩小到几乎为零。目前,Titanium支持iOS、 Android、BlackBerry和Windows Phone。此外,Titanium借助统一的JavaScript API,针对特定平台的功能特性以及原生性能,实现代码重用,大大地缩减了开发者的工作时间。
主要特性:
开源:Titanium采用宽松的Apache 2.0许可证
高效开发:通过代码重用,减少了开发者的工作时间,调高工作效率
廉价特性:通过使用JavaScript SDK降低了跨平台操作的成本
Vuforia是一款能将现实世界物体转变为互动体验的扩增实境平台。旨在帮助开发者打造全新级别的真实世界物品与虚拟物品的互动。它使用家算计视 觉技术来实时地识别和跟踪平面图像以及简单的3D图像,使开发者能够在现实世界和数字体验之间架起桥梁。 Vuforia通过Unity游戏引擎扩展提供了C、Java、Objective-C和.Net语言的应用程序编程接口。从而Vuforia SDK能够同时支持iOS和Android的原生开发,这也使开发者在Unity引擎中开发AR应用程序时很容易将其移植到iOS和Android平台 上。
主要特性:
跨平台:同时支持iOS和Android系统
AR特性: Vuforia是移动设备最好的增强现实体验平台
最佳的性能体验:通过无与伦比的交互性实现现实与虚拟的完美互动
文字识别功能:支持借助智能手机和平板电脑摄像头实现实时文字识别
文章来源: /
Android 的详细介绍:
Android 的下载地址:
想通过手机客户端(支持 Android、iPhone 和 Windows Phone)访问开源中国:
旧一篇: 3年前
新一篇: 3年前
相关讨论话题
你也许会喜欢
前排占座,瓜子,花生,啤酒,饮料。。后面的腿让让。。。
2楼:你不认识丶
哪一个是不可错过的?
3楼:TT疯儿
都错过了。。
都没用过 =_=
5楼:lh7477009
都没用过~~~
6楼:jiaruiz 来自
看来我还是太低端了,听都没听过
7楼:haitaosoft
需要表格形式:1、是否收费2、是否同时支持安卓和ios3、是否通过js实现跨安卓和ios
8楼:xesam
用过Titanium ,坑死爹了
9楼:AliceCode
10楼:xiahuawuyu
回去试试,一个一个都尝试下,看看有没有传说中的那么强大
11楼:daohen
12楼:HenryChan
Basic4android绝对是强者
13楼:Sail_鸢
感觉就Basic4android靠谱点
14楼:开源中国匿名会员
引用来自“Sail_鸢”的评论感觉就Basic4android靠谱点 怎办,我感觉就Titanium不靠谱。
15楼:zn123
16楼:hantsy
跨设备的方案限制太多
17楼:大案要案命案在身
引用来自“猎户座”的评论前排占座,瓜子,花生,啤酒,饮料。。后面的腿让让。。。推来推去的你不累啊··
我买个小凳子就没坐安稳过···
18楼:BreakJoa
貌似一个么用过,eclipse飘过。
19楼:goto-array
20楼:qiusheng
Titanium不错
与内容无关的评论将被删除,严重者禁用帐号
本周热点资讯
本站最新资讯深度支持Android平台,基于Rexsee的移动Web应用实现
2008年11月,《连线》杂志主编Chris Anderson一文&Web已死,Internet永生&在移动互联网大幕拉开之际引起轩然大波。应用交付的转变注定了传统Web模式已不再满足用户的需求与体验,Web应用向移动终端的渗透变得异常重要。
  对于需要吸引不同群体用户,满足不同业务需求的应用而言,如何使用一个实用、成本合理,且可支持大量应用的开发方式来实现我们的移动愿景?在很多情况下看来,答案是使用Web技术。
  伴随着移动设备与网络结合紧密度的提升,移动平台的广泛支持,以及以HTML5为驱动的Web技术不断演进发展,以Web为中心的移动应用趋势愈发明显。原生应用和移动Web应用的界线也开始逐步缩减。
  同时,众多移动Web开发框架的升级发展也加速了Web应用向移动终端的渗透。以国内开源的移动Web开发平台Rexsee()为例,基于大量的扩展API,通过Javascript实现Web应用对移动终端功能的直接调用,建立起了Web应用与移动终端的桥梁。
模糊Web应用与原生应用界线
  原生应用,也就是Native App,可以充分的发挥硬件设备和操作系统的功能特性,并可以完全不受网络限制,运行效率高,且在用户体验方面有着突出优势。但同时,因为技术门槛的原因,原生应用在具体实现上需要面对开发周期较长、成本较高、调试与发布以及后期管理维护相对复杂的问题。
  对比Web应用,虽然在复杂的用户交互界面效果,以及对硬件功能的实现方面有着明显劣势,但使用标准化的Web技术为开发者带来了很大的自由度、广泛的应用范围和低廉的成本。
  但即便如此,以浏览器为平台的Web应用相较于原生应用仍旧面临着诸多难以逾越的困境,其中最明显的则是对网络的依赖以及对移动终端的功能支持。
补充:出于安全考虑,浏览器无法读取本地资源,对于移动设备的很多功能不能直接调用,比如通讯录、GPS、蓝牙;基于浏览器的Web应用严重依赖网络,一旦网络情况不佳,很多交互无法进行;由于HTTP协议本身的限制,对于消息、推送等功能也会有所影响;&&
  让Web应用脱离网络,超出浏览器范围运行,并可直接调用移动终端功能。基于这样的价值实现,Rexsee()通过实现一种混合应用的形态,进一步模糊了原生应用与Web应用的界线。
  Rexsee支持开发者以标准化Web开发模式,即使用HTML5、CSS3和JavaScript开发,并可通过在线编译生成原生应用客户端,快速实现移动应用。
以Webkit为内核,在应用中保留浏览器元素,强化HTML5在浏览器之外的高度交互特性。
基于原生开发,扩展接近2000个API,通过Javascript直接调用移动终端功能。
符合W3C标准,完全兼容Sencha Touch、jQuery Mobile等第三方JavaScript工具包。
提供云端应用与本地应用的不同展现形态,可完全脱离网络运行。
跨平台的取舍价值
  iOS和Android的首当其冲,Symbian、黑莓、Meego、WebOS的夹缝求生,多种移动操作系统平台在当前的移动互联网中各自有着大批用户支持。摆脱平台和硬件环境的差异,让应用适配于全部平台,成为了移动Web应用一开始就需要承担的责任。
  降低了对平台和底层的学习成本,提高代码复用以及最终应用交付的适用范围,这是跨平台的优势所在。但是,劣势同样明显:为兼顾不同平台,开发框架会相对臃肿,开发模式也会被动调整;其次,对于不同硬件功能的调用难免会因为迎合不同功能交集而做出舍弃,无法全面实现。
补充:以当前最受关注的iOS平台和Android平台为例。前者由于不支持js调用,原本在Android平台上最为便捷的开发模式需在iOS变成一种&hack&行为,异步调用也成为了让开发者头疼而又不得不采取的选择。
  &一次开发,到处运行&成为了开发人员期望实现但又难以做到的问题。基于这样的一个鱼与熊掌的取舍,Rexsee选择深度支持Android平台,从而保证了高效同步的开发方式,以及全面功能的应用交付。截至目前为止,Rexsee提供了接近2000个扩展API,覆盖95%的Android原生功能实现。
  同时,针对于目前移动Web开发框架所面对的一个通病,即缺乏对系统原生UI控件的调用能力,难以实现等同于原生应用的界面展现这一问题,Rexsee在最新发布的2.8版本里(infoQ报道:)扩展多个对象,主要用于创建和管理原生界面元素,支持Android系统的原生UI布局(目前已支持Android SDK Platform API8的全部布局)。
  开发者可以通过JS直接生成androidSDK中定义的布局对象和基本对象,对这些对象通过设置样式属性可以很灵活的控制其样式,完全实现等同于原生应用的界面展现与交互体验。
基于Rexsee的标准化Web开发模式
  基于Rexsee的Android应用可以使用标准化的Web开发模式进行开发。所有的Rexsee代码仅体现在Web前端,放在HTML页面的&script&标签内。
  编写Rexsee客户端,实际上就是编写Rexsee所能理解、渲染的HTML、CSS和Javascript代码。与浏览器不同,Rexsee这个&浏览器&除了支持Webkit支持的所有对象外,又扩展了100多个Javascript对象及相应的2000个方法和事件。
补充:Rexsee本身具备了浏览器的所有功能,能够加载任何网页代码,并渲染效果。在此之外,Rexsee提供了本地功能的调用接口,可以实现对本地存储、通讯录、传感器、定位信息等本地功能的调用。同时,还提供了离线提交、push推送等原生应用功能。而这些,都是普通浏览器无法做到的。
界面:Rexsee的页面设计支持Web布局和原生布局两种形态:针对于原生布局,可以通过Javascript语言构造出AndroidSDK中的布局和基本对象,结合相应的触屏事件,可以有很好的用户体验。且支持2D和3D的绘图功能;针对Web布局有两个不同类的对象,一是页面内对象,一是页面外对象。
页面内对象指的是网页对象,如表格、DIV层、图片、画布等。可以用CSS来控制其样式,其渲染效果由Webkit引擎负责展现。
页面外对象是指网页以外的元素,如各种Bar,对话框(Dialog),弹出窗口等。使用Rexsee的样式表定义,如该对象的位置、宽、高、透明度、颜色、字体等。页面外元素的样式是通过相关对象的样式设置方法来操作的。
功能调用:同时支持同步和异步两种调用方式。实现多媒体支持,定位、位置服务,传感器,存储,蓝牙、wifi,以及推送和通知等功能。
交互:通过Javascript的事件接口、Rexsee的事件接口以及Rexsee私有协议实现。
特别指出,私有协议是通过诸如:rexsee:info;rexsee:about等;
Rexsee的事件接口已经由Rexsee内置注册,使用时只需在相应的事件函数中编写用户代码即可,在事件触发时,用户代码会被执行。
调试:和原有的Web前端开发一致。同时,Rexsee本身也提供了异常事件,用于捕捉错误。
编译:整个过程其实就是将Rexsee代码和Rexsee客户端关联的过程。
可以体现在B/S架构下,只需将Rexsee代码所在的URL和Rexsee客户端首页绑定。这种架构下,Rexsee代码实际上是部署在服务器端,客户端体积小,无需下载更新即可实现应用升级。
也可以在C/S架构下,需要将Rexsee代码、资源文件打包进Rexsee客户端,这种架构模式更加类似于原生应用,完全摆脱网络束缚,启动和运行效率较高。
同时,Rexsee还提供了B/C/S混合架构模式,即整合B/S和C/S的优势。
  对于开发者而言,只需在掌握Web前端开发的基础上,按需选用Rexsee提供的Javascript对象,按照Rexsee对象的方法、事件编写代码便可实现相应功能。
RexseeHello World
  Rexsee开源技术社区在去年年底推出在线开发服务,登陆社区并访问&项目中心&就可在线创建、开发应用。同时,该服务更强化了开发者之间的应用源码分享。在Rexsee项目中心,我们可以很方便的在线实现第一个Hello World程序。
  进入项目中心()后,点击左侧头部的&创建新项目&开始咱们的Hello World应用创建。只需在对应的信息录入框中填写应用信息,并勾选权限设置即可创建成功。
  编写index.html页面,输入如下代码:
[html] &html&&
&title&Rexsee Hello World&/tiltle&&
&script type=text/javascript&&
//Rexsee代码从这里开始&
window.onRexseeReady=function(){&
& rexseeDialog.toast('系统加载完毕!');//出现后随即消失效果&
&/script&&&
&body&&/body&&
&title&Rexsee Hello World&/tiltle&
&script type=text/javascript&
//Rexsee代码从这里开始
window.onRexseeReady=function(){
& rexseeDialog.toast('系统加载完毕!');//出现后随即消失效果
&body&&/body&
Rexsee提供的是JS API,可以在HTML中加入&scripttype=text/javascript&&/script&标签;也可以在外部文件中添加JS代码,然后引用;
本段代码中用到了window.onRexseeReady=function(),即当系统加载完毕后,自动执行{}中的JS语句;
rexseeDialog.toast(),这行代码执行时会弹出一个随即消失的对话框;
更多详细的JS对象和事件说明可以在Rexsee社区的&手册与源码&中获取,或者直接下载Rexsee开发手册:(补充:Rexsee的开发手册即是一个具体的APK应用程序,具体对象和事件函数的示例演示可在手机上直接运行。)
手机在线版手册:
手机本地版手册:
&  随后,利用Rexsee开发版可以方便的查看应用效果并快速调试。
图1. Rexsee Hello World应用截图
&补充:Rexsee开发版是一个专门用于调试Rexsee应用的软件。开发者可以访问如下链接,免费下载Rexsee开发版,并安装在测试用的Android手机,或者模拟器上。
&&Rexsee开发版:
&&Rexsee模拟器(有点大):
  在代码编写完成之后,点击项目右上角的&编译&按钮就能直接获得一个APK地址和该应用的二维码图形。咱们的第一个应用开发流程也就全部结束,你可以将编译完成的APK应用投放到任何一个第三方应用市场,并加以推广和运营。
  除了基于项目中心的在线开发,你也可以在本地进行。只需将上面示例中的代码编写到index.html文件中,然后打包为zip格式文件,再利用Rexsee的在线编译功能实现封装,同样获得APK程序。
  理论上你可以把除了后台代码之外的东西都打包到ZIP包里,比如一些图片,音视频文件,或者HTML的框架文件,CSS文件,JS文件。但考虑到安全、网络速度、流量、交互体验等各方面需求,建议根据具体应用项目来安排。
五分钟创建指南针应用
  在熟悉了一个简单的应用开发流程以后我们可以结合Rexsee的扩展对象,快速实现一个具体的Android应用。在此,我们以指南针应用为例。
  首先需要开启Android的传感器功能,利用Rexsee的&rexseeOrientation.start()&,然后把方向改变时触发的事件写上。
1.&function onOrientationChanged(){&& //方向传感器事件,即当方向发生改变时触发的动作&
2.&& var x = rexseeOrientation.getLastKnownX();&
3.&& x = 90 -&
4.&& document.getElementById('oriDiv').style.webkitTransform = 'rotate('+x+&deg)&;&
  其次则是处理应用展现中的图片问题,只需要找两个好看的图片,一个罗盘,一个指针就可以搞定。
1.&&div id='Layer1'&&
2.&& &div id=&northDiv&&&img src=&img/north.png& width=&300& height=&300& /&&/div&&
3.&& &div id=&oriDiv&&&img src=&img/compass.png& width=&260& height=&260& /&&/div&&
4.&&/div&&
  发布后我们就可以得到一个最基本的指南针应用。
&&&&&&&&&&&&&&&&&&&&&&&&& 图2. 指南针应用截图
  该应用完整如下。(同样是在index页面进行编辑)
[] &html&&
& &style type=&text/css&&&
#Layer1 {&
&&& position:&
&&& top:20&
&&& z-index:1;&
#northDiv {&
&&& position:&&
&&& z-index:2;&
#oriDiv {&
&&& position:&
&&& top:23&
&&& left:22&
&&& z-index:2;&
&/style&&&
&script &&
& rexseeOrientation.start();&
& rexseeDialog.toast('准备启动');&
function onOrientationChanged(){&& //方向传感器事件,即当方向发生改变时触发的动作&
& var x = rexseeOrientation.getLastKnownX();&
& x = 90 -&
& document.getElementById('oriDiv').style.webkitTransform = 'rotate('+x+&deg)&;&
&/script&&
&body align='center'&&
&div id='Layer1'&&
& &div id=&northDiv&&&img src=&img/north.png& width=&300& height=&300& /&&/div&&
& &div id=&oriDiv&&&img src=&img/compass.png& width=&260& height=&260& /&&/div&&
& &style type=&text/css&&
&position:
&z-index:1;
#northDiv {
&position:
&z-index:2;
&position:
&z-index:2;
& rexseeOrientation.start();
& rexseeDialog.toast('准备启动');
function onOrientationChanged(){&& //方向传感器事件,即当方向发生改变时触发的动作
& var x = rexseeOrientation.getLastKnownX();
& x = 90 -
& document.getElementById('oriDiv').style.webkitTransform = 'rotate('+x+&deg)&;
&body align='center'&
&div id='Layer1'&
& &div id=&northDiv&&&img src=&img/north.png& width=&300& height=&300& /&&/div&
& &div id=&oriDiv&&&img src=&img/compass.png& width=&260& height=&260& /&&/div&
  移动互联网大幕才刚刚拉开,原生应用与Web应用的并存也会在很长一段时间内持续,谁会最终占据主导其实并不重要。基于开放的平台策略,稳定提升应用性能,争取更多用户并创造更佳用户体验,将是推进这浪潮创新发展的关键所在。Rexsee也将致力于此,不断完善,打造更加广泛的开发者基础。
摘自& rexsee_dev的专栏
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'

我要回帖

更多关于 .android secure 的文章

 

随机推荐