2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

  • 2013-05-06
  • 本文字数:1494 字

    阅读完需:约 5 分钟

经过三年的开发,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 )关注我们,并与我们的编辑和其他读者朋友交流。

2013-05-06 06:573670
用户头像

发布了 81 篇内容, 共 28.7 次阅读, 收获喜欢 5 次。

关注

评论

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

支付宝小程序-MQTT模拟器体验阿里云IoT开发——设备接入类

阿里云AIoT

物联网

业务架构那点事(2)如何通过高层访谈获取企业战略信息?

涛哥 数字产品和业务架构

业务架构 访谈

喜讯|百度入选“移动互联网APP产品安全漏洞治理”优秀案例

百度安全

ElasticSearch必知必会-Reindex重建索引

京东科技开发者

elasticsearch 索引 ES 集群 企业号 3 月 PK 榜

AntDB数据库助力中国移动华南中心计费项目

亚信AntDB数据库

AntDB 国产数据库 aisware antdb AntDB数据库 企业号 3 月 PK 榜

金三突击面试,收获6个Offer,原来面试还能这么简单!

Java java面试 Java八股文 Java面试题 Java面试八股文

SpringBoot项目就连创建目录都让人抓狂

Java Spring Boot 框架

OPPO、京东云 loT 项目数据架构改造,数据处理痛点这样破解

TDengine

tdengine 数据架构 时序数据库 用户案例 loT

面面俱到!四面阿里拿offer后,才发现师哥给的面试笔记有多强大

Java java面试 Java八股文 Java面试题 Java面试八股文

使用抓包工具Wireshark分析IoT设备网络行为——设备管理运维类

阿里云AIoT

网络协议 物联网 网络性能优化

跨平台开发成为移动应用程序开发趋势

没有用户名丶

Last Week in Milvus

Zilliz

Milvus Zilliz 向量数据库

亿级用户中心的设计与实践

Java 服务架构 亿级流量 用户中心

真香!阿里最新出品Java面试核心讲(终极版),Github已星标50K

程序员小毕

Java 程序员 面试 后端 架构师

设备使用HTTPS协议接入IoT物联网平台——设备接入类

阿里云AIoT

React数字滚动组件 numbers-scroll

观纵科技

JavaScript 前端监控 React

通过Flutter实现一个能在多端运行的扫雷游戏

编程的平行世界

flutter 前端 游戏 移动端 扫雷

CleanMyMac4.20专业的mac清理软件

茶色酒

CleanMyMac4.20

订阅标识符与订阅选项--MQTT 5.0新特性

EMQ映云科技

物联网 IoT mqtt 订阅 企业号 3 月 PK 榜

中国流程挖掘迎来新“启点”,望繁信科技全面升级

ToB行业头条

你值得拥有的IoT 物联网平台开发实用技巧(一)——数据价值类

阿里云AIoT

VPN客户端Shimo mac版使用教程:如何创建新的 VPN 帐户?

Rose

vpn mac系统 Shimo下载 Shimo教程

Acrobat Pro DC 2023发布,有哪些新的改进?

Rose

adobe pdf编辑器 Acrobat Pro DC 2023

K8S部署应用详解

tiandizhiguai

直播教学!20 分钟开发可视化「智能门铃」丨RTE 开发实战课 • 第一期

声网

最佳实践 直播 RTC 声网

国家中心城市手机银行发展洞察

易观分析

金融 经济 手机银行 城市

交易系统之数据库弱依赖解决方案

京东科技开发者

数据库 高并发 灾备 db 企业号 3 月 PK 榜

企业不想走弯路,不如试试低代码开发

引迈信息

低代码 低代码开发 JNPF

Tabris 1.0:使用JAVA进行跨平台移动开发_Java_Abel Avram_InfoQ精选文章