写点什么

URLKit 扩展 Flex 中 Deep Linking 功能

  • 2008-10-22
  • 本文字数:964 字

    阅读完需:约 3 分钟

RIA 应用中,Deep Linking 能够在不重新加载应用的情况下直接链接到特定的应用状态。传统浏览器应用中,用户常常期望无论应用是用哪种技术实现都能够正常运行。

Flex 3 中虽已添加了 Deep Linking 的支持,但仍无法满足很多高端需求。这时候,Flex 开发者就可以使用 URLKit。

最近,InsideRIA 上一篇文章详细描述了 URLKit

Flex2 提供了历史记录管理的功能,但这对于需要尽量避免传统浏览经验的应用来说,仍然不是完整的解决方案。开发人员对特定的 URL 没有足够的掌控能力,也没法控 制 URL 映射到特定状态的应用的方式(URL 由 Flex 应用自动生成)。这也是为什么 URL 结构不可能沿用到下一版本应用中的原因。 URLKit 试图扩展此类技术,它赋予开发者细粒度双向控制 URL 和应用状态的权力,允许开发员在 MXML 中自主申明 URL 与应用状态之间的映射关系。

URLKit 提供四项规则来控制 URL 及其对应的应用状态:

  • UrlValueRule——这项规则帮助开发人员将 URL 的局部与应用的某个属性映射起来。以这种方式使用 UrlValueRule 的话, URL 和应用属性的值将互相捆绑起来,也就是说,只要其中一个值发生变化,另一个值也会相应产生变化。如果你不想用捆绑方式的话,你也可以通过 UrlValueRule 发送一个变化事件,同样能够触发应用状态的变化。
  • UrlNavigatorRule——之前提到 UrlValueRule 之外的其它规则对我们的应用也会有所帮助。 UrlNavigatorRule 规则就是针对 Accordian、NavBar、TabNavigator 和 ViewStack 的开发而特别设计的。运 用这项规则就不再需要把 URL 值和 selectedIndex 属性映射起来,只需要在规则中指明它需要指向哪个导航就可以了,规则本身会处理剩下的工作。 比如 Sample UrlNavigatorRule Example (可以点击鼠标右键查看源代码)
  • UrlDelegateRule——该规则允许开发人员把映射局部 URL 的工作分派另一个规则(或规则组)去处理。这种方法运用相当普遍,主应用 程序把部分映射分派给子控件去完成。这样,URL 能够反映内嵌控件的状态。但还得结合下面一项规则——UrlRuleSet 才能恰当使用 UrlDelegateRule 规则。
  • UrlRuleSet——此项规则能够把多项规则集中到一起,一个 URL 因此能够解析出多个值。你可以在这个规则中申明子规则与 URL 的映射方式。

关于 URLKit 更多信息,请查阅: http://code.google.com/p/urlkit/。

查看英文原文: Deep Linking in Flex with URLKit

2008-10-22 20:441145
用户头像

发布了 71 篇内容, 共 23.6 次阅读, 收获喜欢 3 次。

关注

评论

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

区块链架构下 智慧城市发展加速

CECBC

小程序电商业务微服务拆分及微服务基础设施选型

Geek_36cc7c

开放报名丨《音视频社交新风口》线上峰会,聚焦海外社交生态升级

融云 RongCloud

360大数据技术专家 程建云:IoTDB在360的落地实践 | Apache IoTDB Talk

Apache IoTDB

时序数据库 IoTDB Apache IoTDB

java版gRPC实战之三:服务端流

程序员欣宸

gRPC

区块链等技术助力北京海关监管

CECBC

一文带你了解 Python 中的生成器

踏雪痕

Python 生成器 3月程序媛福利 3月月更

服务器防渗透--信息收集

喀拉峻

网络安全

前端食堂技术周刊第 30 期:Vercel 支持零配置部署使用 pnpm 项目、React 新文档更新、Angular Roadmap、Remix Stacks

童欧巴

JavaScript 编程 前端 周刊 资讯

“中本聪岛”加密乌托邦

CECBC

java版gRPC实战之二:服务发布和调用

程序员欣宸

Java gRPC

OceanBase 开源负责人纪君祥聊 社区版 2022 Roadmap

OceanBase 数据库

oceanbase OceanBase 开源

Paxos vs. Raft:我们对共识算法达成共识了吗?

多颗糖

分布式系统 raft PAXOS

kubeadm工作原理-kubeadm init原理分析-kubeadm join原理分析

良凯尔

容器 云原生 kubeadm #Kubernetes# Kubernetes 集群

URL的四种形式对比说明

源字节1号

前端开发 后端开发 网站开发

黑匣子为什么难成为“云匣子”?

脑极体

架构实战营-模块一-作业

CityAnimal

架构实战营 #架构实战营 「架构实战营」

JS Array数组几个循环实用方法总结

MegaQi

JavaScrip 测试发开 web前端开发

加密货币监控和区块链分析如何帮助避免加密货币欺诈?

CECBC

VuePress 博客搭建系列 33 篇正式完结!

冴羽

JavaScript Vue 前端 vuepress 博客搭建

Flutter 路由及路由拦截跳转404

岛上码农

flutter ios Android开发 移动端 3月月更

[Day3]-[快慢指针]解决链表问题

方勇(gopher)

LeetCode 数据结构与算法

融云猿桌派:35 岁程序员,正值当打之年,尚有星辰大海

融云 RongCloud

程序员

在线正则表达式大全测试

入门小站

工具

在线Javascript美化格式化工具

入门小站

工具

高层次人才一站式服务平台系统开发

a13823115807

基于微信小程序的实验室预约小程序平台详细设计

CC同学

数字医疗时代的数据安全如何保障?

CECBC

超分算法在 WebRTC 高清视频传输弱网优化中的应用

融云 RongCloud

PyTorch

Linux之file命令

入门小站

Linux

深入浅出 Java FileChannel 的堆外内存使用

Apache IoTDB

URLKit扩展Flex中Deep Linking功能_Java_Jon Rose_InfoQ精选文章