AICon 北京站 Keynote 亮点揭秘,想了解 Agent 智能体来就对了! 了解详情
写点什么

Slingshot 开源加速离线 / 在线混合应用

  • 2007-07-17
  • 本文字数:1514 字

    阅读完需:约 5 分钟

13 日, Joyent 宣布基于 GPL v2 将 Slingshot Connector 开源。Joyent Slingshot 允许开发者将 Rails 应用程序部署为与桌面应用行为一致,可以在线或者离线(保持同步),可以拖拽,与所有其它桌面应用程序交互等。另外,Joyent 还提供了 Connector 产品和一组可以与 Joyent Slingshot 协同工作的第三方应用程序。

Slingshot 计划在今年 4 月份发布一个可以在 Windows 和 Mac OS X 上基本可以工作的版本(但是,似乎目前还没有发布)。Joyent 称 Slingshot 让游戏换一种玩法。

Slingshot 框架是轻量级且可自定义的,它让 Ruby on Rails 应用可以通过透明的数据同步离线运行。它不限制你如何运行应用程序及同步哪些数据,这些由开发者自己决定。这样,Slingshot 可以让 Rails 脱离浏览器。它可以打破 Web 应用和桌面应用的(通讯)壕沟,同时它没有失去 Web 应用在快速开发、部署和更新上的优势。最近 Google Gears 和 Dojo offline 也提供了这种能力,它们离线工作的方式虽然不同,但是希望给用户带来的体验是殊途同归的,这些技术希望用户能够将在线应用当作桌面应用来使用,让用户忘记“线”的存在。虽然 David Heinemeier Hanson 曾经开玩笑地认为离线只有在飞机上才有必要使用,但是从目前的技术走向上来看,这门技术无疑会被更多地开发和使用。Slingshot 以此作为一个出发点,希望进一步消除离线/在线应用的区别,所以它提供了协同工作的机制,希望帮助开发者更轻松地开发混合应用程序。近期在平台竞争上火爆的 Adobe 的 AIR、MS 的 Silverlight、Sun 的 JavaFX 无不希望提供这样的方案,这片市场被称为 RIA 市场,其竞争已经如火如荼,而传统的 HTML/CSS/Javascript 方式也依然保持强劲的发展势头,此时看到Slingshot 这样的产品开发人员应该更加感觉兴奋,因为RIA 的思路似乎依然在被不断扩展。

Slingshot 这个产品关注的是数据的交换和同步。这其实和 RIA 技术中的异步通讯一样扮演者传输的重任,因为目前的 RIA 应用大都是以数据为中心的,所以在消除离线/在线应用时首先需要解决数据同步问题。Joyent 在其 Blog 上介绍了 Slingshot 提供的数据同步的使用方法

Joyent Slingshot 是一个简洁的同步在线和离线数据的轻量级方案。作为一个开发者你可以提供一个透明的 ActiveRecord 传输层,允许简单的定义你的应用程序中哪些数据什么时候需要用什么方式进行同步。仅需要增加三十行左右的代码,你的 Rails 应用程序就可以从客户端向服务器同步数据。加上另外三十行代码你就可以使用基于文件的数据同步了。 框架提供了可以扩展的拖拽抽象层。可以挂入到应用程序已有的导入/导出机制中,而不需要修改任何应用程序的代码。

最后,它允许开发者方便的部署更新和迁移(migrations),无论用户离线了多久。

Slingshot 让开发者可以开发一种异步的 CS 应用程序,通过拖拽的方式同步数据,也可以通过文件的方式同步。并且从工作环境上 Slingshot 也提供了比较宽松的平台,Joyent 在他的 Blog 中这样描述它的运行方式

Slingshot 如何工作呢?我们已经从 Slingshot 中移除了对操作系统二进制文件的依赖和冲突。进一步说,Slingshot 允许开发者自己定义运行环境,安装 gems、plugins、二进制库或者其它,我们都可以处理。Slingshot 就像一个让 Rails 应用程序运行的虚拟机。

总而言之,使用 Joyent Slingshot 你可以:

  • 创建混合的 Web/ 桌面应用程序
  • 同步在线和离线数据
  • 在线和离线应用程序中使用相同的代码
  • 轻松的部署和更新你的应用程序
  • 在应用程序中拖拽导入/导出

Rubyinside 在报道 Slingshot 开源的时候,将其比喻为 37signals 将 BaseCamp 产品开源,可见其重要程度。Slingshot 的创新性在未来肯定会激发一些混合 RIA 应用的产生,让我们一起关注这个未来的技术吧。

2007-07-17 02:101018

评论

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

WeTest.net全球能力开放:锻造高品质产品,构建全球竞争力

WeTest

【语言】Java 日期 API 的使用技巧

恒生LIGHT云社区

Java 编程语言

ArkUI 3.0让多设备开发更简单|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

打造数字化软件工厂 —— 一站式 DevOps 平台全景解读

CODING DevOps

DevOps 研发管理 CODING

人脸识别实战:使用Python OpenCV 和深度学习进行人脸识别

AI浩

人脸识别

热爱代码且发量惊人,一名反“内卷”研发工程师的日常

尔达Erda

程序员 开发者 技术人生 成长笔记

太顶了!华为高工用一份423页的网络协议笔记把计算机网络讲清了

热爱java的分享家

Java 面试 程序人生 网络协议 经验分享

架构师书籍推荐:2021年必看的架构师图书

华章IT

架构师

等级保护对象是指什么?是指整个单位吗?

行云管家

云计算 网络安全 等保 等级保护 等保2.0

主客体命名法

少个分号

TDengine助力顺丰科技大数据监控改造

TDengine

tdengine 时序数据库

React性能优化

CRMEB

阿里P8手敲出来这份565页凤凰架构分布式手册,惨遭GitHub直接封杀

热爱java的分享家

Java 面试 编程语言 经验分享 凤凰架构

CSS布局(二)之多列布局

Augus

CSS 11月日更

Go语言学习查缺补漏ing Day4

Regan Yue

Go 语言 11月日更

一文解析数据库的三生三世

Zilliz

数据库 oracle 数据库设计 Milvus

修复SecurityException: getDataNetworkTypeForSubscriber问题

Changing Lin

11月日更

ICCV 2021口罩人物身份鉴别全球挑战赛冠军方案分享

阿里云CloudImagine

阿里云 计算机视觉 视频云 ICCV2021 ICCV

业务流程建模,你真的做对了吗

明道云

这一次,飞书改变「飞书」

ToB行业头条

百万关注的CSRF攻击是什么意思?

喀拉峻

黑客 网络安全 安全 信息安全

云账户是什么意思?有什么用?

行云管家

云计算 公有云 私有云 混合云 云资源

CODING 项目协同 2.0 —— 让协作有条不紊

CODING DevOps

DevOps 研发管理 CODING 项目协同

混沌工程:分布式系统稳定性的“疫苗”

中原银行

微服务 云原生 混沌工程

关于风险管理,如何将思维从项目升维到项目群?

光环PMO社群

项目管理 项目经验

渗透实战:内网域渗透

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

前端如何低门槛开发iOS、Android、小程序多端应用

YonBuilder低代码开发平台

Shopee 末端物流智能提效之路

Shopee技术团队

人工智能 算法 后端 供应链 物流

springboot连接Nexus私服

小鲍侃java

11月日更

Flux 源码之reactor 核心原理及概述

漫游指南

reactor Flux

Slingshot开源加速离线/在线混合应用_Ruby_田乐_InfoQ精选文章