写点什么

Filtrbox:运用 Flex RIA 技术的语义网应用

  • 2008-09-13
  • 本文字数:1757 字

    阅读完需:约 6 分钟

语义网技术和服务在驱动 Web 迈向下一代(作为数据、信息和知识交换的统一媒介)进程中扮演着核心角色。最近,我们注意到一系列使用语义网技术的新尝试相继出现,它们帮助人们来消费 Internet 上持续增长的海量信息。

其中一个优秀例子就是 Filtrbox ,它使用了 Adobe 提供的 Flex RIA 技术构建用户界面。InfoQ 采访了 Filtrbox RIA Flex 开发人员Justin Imhoff,对该应用所需要的资源和技术做了深入探讨。关于人力资源投入,Imhoff说:

目前,我们有三名开发人员参与 Filtrbox:Tom Chikoore——架构师和 CTO;Bruce Deen——负责开发 Flex 和 Java;还有我——负责开发 Flex 和 AIR。公司的联合创始人分别是Ari NewmanTom Chikoore**。Ari是一名优秀的企业家,指引着公司的发展方向。**

对于 Flex 对 Filtrbox 的贡献,Imhoff提到:

在语义网搜索时,你需要处理大量数据。通过使用 Flex 和 AMF,我们能够快速而有效地操作这些数据,提供强大的用户体验。当然每一项技术都有缺陷,不过到目前为止,我们发现 Flex 最适合我们的需求。

对于富互联网应用(RIA)技术在应用中扮演的角色,Imhoff解释说:

RIA 的设计初衷是在使用 Internet 和服务器端存储数据的基础上,提供类似桌面交互的舒适用户体验。但是,使用 AIR 最大的障碍之一是开发既易用又具有高 级功能的大型应用。许多 RIA 应用开发公司都配有专门解决这个问题的 UI 和 UX 设计人员。语义搜索不仅仅是另外一种使用搜索技术的方式,也需要用户采用新 的方法来交互和对结果进行反馈。当使用 Google 搜索时,你使用的是导航搜索,而当你使用语义搜索时,你使用的是研究搜索。这意味着你可以通过语义提高 结果的内容相关性,提供完全符合用户搜索意愿的多种结果。实现原理就是计算用户的交互值并把值传递给搜索结果。这些结果类似于通过人工智能发掘用户喜欢或 讨厌的东西,然后对结果重新修订。语义搜索作为一个语义客户端唯一可以与普通的搜索引擎相媲美的地方就是通过 RIA 把最新的技术融合在了一起。

对于 Filtrbox 的技术架构,Imhoff指出:

我们使用 Blaze DS 与 Flex 交互来处理 AMF 请求。Blaze 是 Adobe’s LiveCycle DataServices 的一款开源限制版。使用 AMF,我们可以与 Flex 交互二进制数据,减少了客户的下载时间和使用的资源。Blaze 对服务器—客户端交互具有很好的支持,帮助 Filtrbox 提供了一套高效和流水线的数据存取系统。

对于 Filtrbox,我们使用 Cairngorm 微架构(micro-architecture)来更好的适应 OOP 编程,允许采用每周更新应用的快速开发周期。对于 UI,我们使用了很多基本的 Flex 组件并扩展了他们的功能。

Imhoff补充道:

构建 Flex UI 的主要挑战是用户期望和交互。通过研究和理解在 Web 和桌面上的用户需求,慢慢的出现了一种期望和需求的共识,可以帮助提供易用和高效的界面。 速度是需要考虑的方面。许多用户喜欢 Web 上的类似 Ajax 的体验:随需加载。使用 Flex,则全部需要初始化加载。为了改善这种状况,我们实现了资源共享库(RSL),允许我们缓存 Flex、RPC 和客户端的数据可视化库,把应用大小缩小了一半。

另 外一个挑战是 UI 的整体设计。Flex 不像 HTML,没有很多可以利用的模板。在 Flex 使用流动布局(fluid layout)的挑战是应用中图片的缩放。最好使用 Scale 9 格式。 Scale 9 允许你定义图片的 9 个部分,每个部分可以自由缩放。不使用这个格式,流动布局几乎不可能实现。 团队开发,特别是工程存在部分重叠的时候确实是一个挑战。当团队开发时,你最有可能遇到的问题就是把多个工程合并成一个。最好的解决办法是使用好的 SVN 客户端或者 Flex IDE 的 subclipse。这会允许多个开发人员维护应用的当前和历史版本。

当使用 Flex 开发时,你不得不考虑为什么要使用 Flex 而不是 Ajax,你必须拥有足够的理由。Flex 作为作为商业产品的替代才刚刚起步,作为一款优秀的框架在 AIR 领域正努力占有一席之地。

当被问及希望下一版本 Flex 增加哪些特性时,Imhoff说:

我当然希望看到 Flex 在画图和打印功能方面的高级特性。我们现在不得不借用第三方产品或接口开发自己的解决方案。 其他需要提高的方面包括 Flash player 和修正在不同浏览器和操作系统支持 SSL 时的 Bug。另外就是在 Flash player 10 中重点提到的安全策略功能的加强。

查看英文原文: Filtrbox: Semantic Web in Flex RIA

2008-09-13 09:39832
用户头像

发布了 501 篇内容, 共 255.0 次阅读, 收获喜欢 59 次。

关注

评论

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

IT人的职业提升只靠技术精进行的通吗?

MavenTalker

程序员 程序人生 职业规划 技术人

spring boot 集成 elasticsearch 7.x (一)

wd

elasticsearch high level client

算法篇之数组右移

月夜

算法 数组右移

言简意赅,聊聊RPC的123事

一叶而不知秋

RPC

new[]和delete[]为何要配对使用?

泰伦卢

c c++ C#

MyBatis 3 XML配置

杨家昌

mybatis mybatis-config.xml XML配置 配置

没有业务规则的技术实现

wd

吐槽

基于大疆无人机SDK二次开发

sydMobile

android 无人机

Flutter 中SharedPreferences 的初始化?

三爻

flutter android

开源一个自研的基于Netty的高性能网络通信框架

Geek_373e87

TCP dubbo Netty

自助设备系列——自助设备的春天

孙苏勇

产品

MyBatis 3 解析Mapper映射配置

杨家昌

mybatis 配置 Mapper XMLMapperBuilder

一种消息消费失败的处理方案

redis kafka

为什么很多技术都觉得前端很简单?

极客时间

大前端

游戏夜读 | 有哪几种游戏玩家?

game1night

专题:快速开发那点事儿 | 轮子怎么选

Java_若依框架教程

Java 敏捷开发 Ruoyi 快速开发

央行:取消境外机构投资者额度限制,推动金融市场进一步开放

kimmking

第一篇InfoQ的博客

程序员小岑

写作 体验

Flink 作为现代数据仓库的统一引擎:Hive 集成生产就绪!

Apache Flink

大数据 flink 流计算 实时计算

小米手机广告在日本「炸」了,背后的教训是什么?

葛仲君

产品 本地化 小米 日本 文化

地址收录

gogogo

iTerm2使用小技巧-密码管理器

小菜与老鸟

iTerm

快速开发那点事儿 | 选择最合适的轮子,量产跑车

Java_若依框架教程

敏捷开发 JAVA开发 RouYI 快速开发

hive 建表语句迁移

飞哥

【预告】千亿数据的潘多拉魔盒:从分库分表到分布式数据库

kimmking

分布式数据库 分库分表 分布式系统 中间件

讨论:应不应该用存储过程?

kimmking

源码分析shared_ptr实现

泰伦卢

c c++ C#

这样理解Java中的函数式编程就对了

jerry

java8 函数编程

关于架构的几件小事:架构是什么

北风

架构 企业架构

中年危机,我们如何面对?

石云升

MyBatis 3 解析mybatis-config.xml配置

杨家昌

深度解析 mybatis 初始化 XMLConfigBuilder Configuration

Filtrbox:运用Flex RIA技术的语义网应用_Java_Moxie Zhang_InfoQ精选文章