本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2013/01/orubase-hybrid
通常情况下,当我们提及“混合移动应用”时,我们指的其实就是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
分享到:
相关推荐
2022云原生——云原生应用调研.pdf
该文档来自MDCC 2016中国移动开发者大会。郝振明发表了题为“驱动原生型移动应用的跨平台实践”的主题演讲,欢迎下载!
云开发 CloudBase —— 云原生一体化服务的设计与实践.pdf
云开发 CloudBase —— 云原生一体化服务的设计与实践
易书App,基于原生Android、Java实现。页面简洁实用,功能齐全,代码注释多。 本作品易书App,利用智能手机的客户端交互式程序,实现闲置书籍资源的流转,提高书籍的利用率,服务于校园广大师生。通过App,实现校园...
云原生市场研究报告——容器(2022).pdf 云原生市场研究报告——容器(2022).pdf 云原生市场研究报告——容器(2022).pdf 云原生市场研究报告——容器(2022).pdf 云原生市场研究报告——容器(2022).pdf 云...
键身打卡App,基于原生Android、Java实现。页面简洁实用,功能齐全,代码注释多。 核心功能:登录注册、个人信息维护、系统设置、搜索、日历键身打卡、健身图文视频教程、收藏评论点赞购买教程、社区分享等。 适用...
javascript 原生代码全屏滚动 javascript 原生代码全屏滚动
“混合应用”是指原生代码封装网页视图——原生代码和 web 内容交互。比如,像 Phonegap,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。 重要的是,appium是一个跨平台的工具:它...
NULL 博文链接:https://snowolf.iteye.com/blog/643010
“混合应用”是指原生代码封装网页视图——原生代码和 web 内容交互。比如,像 Phonegap,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。 重要的是,appium是一个跨平台的工具:它...
“混合应用”是指原生代码封装网页视图——原生代码和 web 内容交互。比如,像 Phonegap,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。 重要的是,appium是一个跨平台的工具:它...
NULL 博文链接:https://snowolf.iteye.com/blog/642492
构建微服务云原生应用——介绍.pdf
ionic capacitor调用原生本地代码 切换页面
js简易日历特效原生代码 js简易日历特效原生代码 js简易日历特效原生代码 js简易日历特效原生代码 js简易日历特效原生代码
手机上的广告突击——原生APP广告.pdf
Mybatis 学习笔记——原生DAO实现数据增删改查SQL:https://blog.csdn.net/qq_24598601/article/details/83037252
2020年中国容器云市场研究报告——艾瑞云原生系列报告 20201221082480388038.pdf
iOS 原生代码实现视频播放