写点什么

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

  • 2013-01-08
  • 本文字数:1263 字

    阅读完需:约 4 分钟

通常情况下,当我们提及“混合移动应用”时,我们指的其实就是 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

2013-01-08 06:061703
用户头像

发布了 88 篇内容, 共 263.2 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

MySQL 5,java架构师成长直通车

Java 程序员 后端

MySql数据引擎简介与选择方法,和字节跳动大佬的技术面谈

Java 程序员 后端

Netty入门教程——认识Netty,今年最新整理的《高频Java面试题集合》

Java 程序员 后端

Nginx配置反向代理和负载均衡,疯狂java讲义pdf百度云

Java 程序员 后端

MySQL 事务隔离级别,java面试常问的设计模式

Java 程序员 后端

Netty学习之旅------图说Netty线程模型,java项目面试难点

Java 程序员 后端

Netty权威指南:I-O-多路复用技术,java技术点总结

Java 程序员 后端

Netty相关面试题汇总,java从入门到精通第五版电子书下载微盘

Java 程序员 后端

RabbitMQ不讲武德,发个消息也这么多花招,nginx实现负载均衡原理

Java 程序员 后端

【架构实战营】模块三

衣谷

架构实战营

MySQL 数据库开发入门(四),java高薪训练营百度网盘

Java 程序员 后端

Netty案例介绍-群聊案例实现,java架构师教程百度云

Java 程序员 后端

MySQL 千万数据量深分页优化,mybatis从入门到精通pdf

Java 程序员 后端

MySQL数据库--几种数据迁移的方法详解都在这了!看完必懂

Java 程序员 后端

Nginx服务不行了怎么办,网商银行java面试

Java 程序员 后端

P8级大佬整理在Github上45K+star手册,吃透消化,java算法面试题及答案pdf

Java 程序员 后端

MySQL入门篇,java三层架构登录功能实现

Java 程序员 后端

MySQL最全整理(面试题+笔记,华为算法工程师面试经历汇总

Java 程序员 后端

MySQL:第一次看到有人把MYSQL主从复制讲解的这么清楚,mysql教程菜鸟

Java 程序员 后端

Netty中序列化框架MessagePack的简单实现,java技术面试完了复试

Java 程序员 后端

Netty进阶:手把手教你如何编写一个NIO服务端(1),Java笔试常见编程题

Java 程序员 后端

OpenYurt v0,linuxshell学习

Java 程序员 后端

Red5搭建直播平台,java淘宝客教程

Java 程序员 后端

Nginx + Tomcat 搭建负载均衡,大牛带你直击优秀开源框架灵魂

Java 程序员 后端

OpenFaaS实战之二:函数入门,mysql集群数据同步原理

Java 程序员 后端

Peter-Java 8中的Lambda表达式,java领域的相关技术领域

Java 程序员 后端

Navicat for MySQL 执行sql文件过程分析(导入数据),中软国际Java笔试题

Java 程序员 后端

Netty进阶:手把手教你如何编写一个NIO服务端,java集合容器面试

Java 程序员 后端

new-Object()到底占用几个字节,看完这篇彻底明白了!,springboot微服务架构书籍

Java 程序员 后端

Oracle最新的Sql笔试题及答案,Java面试真题解析火爆全网

Java 程序员 后端

Redis 变慢了?那你这样试试,不行就捶我,mybatis工作原理图

Java 程序员 后端

Orubase——拥抱原生代码的混合移动应用_Android/iOS_Jonathan Allen_InfoQ精选文章