BT

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

Tabris 1.0:使用JAVA进行跨平台移动开发

| 作者 Abel Avram 关注 7 他的粉丝 ,译者 廖煜嵘 关注 0 他的粉丝 发布于 2013年5月7日. 估计阅读时间: 5 分钟 | 都知道硅谷人工智能做的好,你知道 硅谷的运维技术 也值得参考吗?QCon上海带你探索其中的奥义

经过三年的开发,EclipseSource终于发布了Tabris 1.0,这是一个支持iOS和Android的跨平台Java移动开发框架。Tabris定位于企业,与其他移动解决方案不同的是,它使用了不同的方法:

  • 大多数编程工作都使用JAVA完成
  • 业务逻辑和客户端UI的二进制表示运行在服务器端的Eclipse RAP
  • 一个很薄的客户端应用运行在移动设备上
  • 服务器端通过JSON格式与客户端通信,发送数据和命令让客户端 创建可视的UI
  • 客户端使用原生组件生成界面
  • iOS的客户端使用Object-C编写,而Android的客户端则使用Java编写

Tabris自带了一个构建于的Java SWT API之上的UI工具包。该工具包增加了两个主要功能部件:页面(Page)和动作(Action)。前者包含的是应用的基本内容,而后者主要用来执行用户的命令。下面是一个Tabris示例应用的截图,其中页面显示为红色,而动作显示为绿色:

页面可以互相链接并导航,而动作既可以是整个应用的全局动作,也可以是当前页面的局部动作。

在处理完一个 组件后,应用的服务器端会将一个JSON片段发送到客户端,比如下面的例子是创建一个按钮:

客户端应用则会使用iOS或Android的原生组件渲染该按钮。

InfoQ采访了EclipseSource的Tabris服务器端的团队负责人Holger Staudacher,以了解关于该框架的更多信息。据Staudacher介绍,Taris定位于企业,而且需要一直连接到服务端:

 

Tabris用于现场移动类应用。这意味着它最好工作在受控的环境中。我所说的受控的意思是使用固定的网络连接,诸如此类。我们的客户——如医院——所有的设备都连接到同一网络。此类应用程序通常是由企业开发的。

Tabris不支持脱机工作。移动用户界面基本就是一个会话。因此,如果用户的设备断开了连接,则会话会变为无效。在移动客户端可以进行错误处理。我们 实现了标准的错误处理,比如重新发送http请求等等。但应用开发人员可以使用原生扩展加以扩充。

当被问及Tabris是否适合开发一般应用时,Staudacher说理论上是可以的,但那并非它的最佳使用场景 :

对于一般的应用,这意味着服务器的负载会很高。我们使用的是标准的Java EE技术。所以, 面对这样的高负载,可以使用Java EE集群机制。目前我们尚未测试数以百万计的用户负载。但从技术的角度看应该是可行的。

Tabris支持许多SWT组件,还增加了对一些原生感应器(如摄像头和地理定位设备)的支持。

目前,Tabris支持平板电脑,但这样的应用每次只能显示一个页面。将来会添加对多个页面的支持。此外,Tabris可以扩展到其他移动平台,如果有动力的话,该框架获或许会支持Windows。

在不久的将来,Tabris团队打算增加如下功能:

  • 支持地址簿
  • 支持设备的不同方位状态(垂直或水平)
  • 支持用于处理客户端事件的客户端脚本
  • 支持XCallbackUrl

根据FAQ所述,使用Tabris创建的应用能通过App Store部署,“只要你遵守App Store的规则”。在Google Play上有一个针对Android的示例应用

Tabris并不开源,但企业授权用户能获得源代码。更多详情,请访问EclipseSource的价格体系页面

『号外』:JavaOne 2013大会将于7月22–25日在上海世博中心举行,内容涵盖使用Java SE构建现代应用程序、打造针对下一代智能设备的移动和嵌入式Java应用程序、编制基于Java EE的复杂企业解决方案以及在云环境中安全、无缝地构建和部署业务应用程序等,报名或查看详情请点击

查看英文原文Tabris 1.0: Cross-platform Mobile Development in Java


感谢臧秀涛对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个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