BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Orubase——拥抱原生代码的混合移动应用

| 作者 Jonathan Allen 关注 530 他的粉丝 ,译者 张龙 关注 12 他的粉丝 发布于 2013年1月9日. 估计阅读时间: 4 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

通常情况下,当我们提及“混合移动应用”时,我们指的其实就是PhoneGap,这是一个HTML应用,带有一个很薄的包装器,可以发布到应用商店。或者可以认为它是个应用构建器,开发者可以使用它做些简单的应用,但很快将无法满足应用的需求。最近一段时间以来,这些东西都不太能满足人们的要求,因此我们只不过是聊聊他们而已,然后就继续该干嘛干嘛去了。但Syncfusion的Orubase似乎不太一样。它是个真正的混合应用框架,开发者可以自由混合HTML与原生代码,这让我们对其另眼相待。

Orubase面向.NET开发者,因此它的服务器端组件非常依赖于Visual Studio与ASP.NET MVC。在创建项目时,你需要列出应用所需的视图。接下来,项目向导就会为每个视图创建好MVC桩。

接下来,Orubase会创建出特定于平台的项目。它并未使用Mono或是PhoneGap/Apache Cordova。相反,Syncfusion使用了原生代码与自己的回调框架(虽然类似于PhoneGap,但它使用了AJAX风格的调用来访问原生的电话特性)。

项目需要使用正确的工具进行编译,这意味着iOS开发需要使用Mac。也就是说,使用模拟器依然也会很快的。

原生感官

Orubase的一个主要卖点就是其感官看起来像是原生代码。在很多情况下,这是因为它就是原生代码。诸如菜单等特性实际上是通过原生代码创建的,这就确保了在不同平台上其位置是正确无误的。

对于应用的大部分内容来说,其感官就是灵活使用HTML与CSS的结果。服务端的MVC控件会自动根据客户端所运行的操作系统改变其外观。下面是一个示例:

原生视图

我们之所以如此称赞Orubase的原因在于其对待原生代码的方式。如前所述,我们所看到的大多数移动平台都竭尽所能地让开发者远离Java或是Objective-C。有些甚至“在云中”编译应用,这样开发者就永远也无法接触到代码了。

Orubase则与此不同。严格来说,开发者并不需要接触原生代码,除了编译以外。实际上,他们需要针对每个平台进行微调。这可能仅仅是菜单,但却远非如此。

如果特定的视图需要考虑性能问题或是HTML无法恰当地模拟某个原生控件,那么开发者就可以,也应该创建原生视图。原生视图与服务器生成的基于HTML的视图是混合在一起的,对用户来说是分辨不出他们之间的差别的。

这并不是什么新技术,Apple现在就在自己的App Store上使用了。甚至在上个世纪90年代末,你都会在一些应用中看到这一点,比如说Microsoft Money就在部分用户界面中使用到了。

目标群体

Orubase针对的是商业开发者或是那些对性能要求不高的开发者。如果构建视频游戏或是其他资源密集型应用,那么Syncfusion并不推荐使用Orubase。但如果你能承受JavaScript所带来的一些性能损失,并且需要原生感官,那么Syncfusion则建议考虑使用Orubase。

支持平台

目前,Orubase完整支持iOS与Android平台。Windows Phone支持则只包含了7.x的特性,但Windows Phone 8支持会在不久的将来实现。Windows RT则至少在半年后才能支持了。

InfoQ会在稍后采访Syncfusion。如果有任何问题,请在下面提出来。

查看英文原文:Orubase, Hybrid Mobile Apps that Embrace Native Code

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT