写点什么

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:10812

评论

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

Vue中slot插槽的使用方法

Changing Lin

12月日更

Linux之rm命令

入门小站

Linux

Spring Boot 2 教程:WebFlux 中 WebSocket 实现通信(九)

程序员泥瓦匠

Elasticsearch 查询最大时间(qbit)

qbit

sql UTC TimeZone 时区

Serverless Devs 简介

刘宇

Serverless 函数计算 Serverless Devs

Spring Boot 2 教程:WebFlux 快速入门实践(二)

程序员泥瓦匠

Spring Boot WebFlux

多种操作模式下的工具体系

刘宇

Serverless Serverless Devs

Spring Boot 2 教程:WebFlux 中 Redis 实现缓存(八)

程序员泥瓦匠

Spring Boot 2 教程:WebFlux 集成测试及部署(十)

程序员泥瓦匠

从云计算到 Serverless

刘宇

云计算 Serverless 云原生 Serverless Devs

成功只有一种-OBKoro1的2021年终总结

OBKoro1

前端 年终总结

让发布更安全的:线上异动感知

刘宇

云计算 Serverless 云原生 Serverless Devs

鸿蒙轻内核源码分析:MMU协处理器

华为云开发者联盟

鸿蒙 MMU协处理器 ARM CP15协处理器 协处理器 MMU

重磅来袭|第一届 OpenSEC 征文活动正式开启

SphereEx

开源社区 技术分享 ShardingSphere SphereEx OpenSEC

Spring Boot 2 教程:WebFlux 系列教程大纲(一)

程序员泥瓦匠

Spring Boot WebFlux

Spring Boot 2 教程:WebFlux 集成 Thymeleaf 、 Mongodb 实践(六)

程序员泥瓦匠

Spring Boot 2 教程:WebFlux 整合 Mongodb(四)

程序员泥瓦匠

Spring Boot WebFlux

Spring Boot 2 教程:WebFlux 集成 Thymeleaf(五)

程序员泥瓦匠

java开发之Redis分布式锁相关知识分享

@零度

Java redis

Spring Boot 2 教程:WebFlux Restful CRUD 实践(三)

程序员泥瓦匠

Spring Boot WebFlux

从工具看函数资源评估

刘宇

Serverless 函数计算 Serverless Devs

Linux一学就会:shell脚本基础

侠盗安全

Linux linux运维 运维工程师 云计算架构师

Serverless Devs 新手引导

刘宇

云计算 Serverless 云原生 Serverless Devs 新手引导

阿里云函数计算(FC)组件简介

刘宇

云计算 Serverless 云原生 函数计算 Serverless Devs

Serverless 架构简介

刘宇

云计算 Serverless 云原生 Serverless Devs

工具链建设的必要性

刘宇

云计算 Serverless 云原生 工具链

Java常用的五大算法详解

编程江湖

算法 java编程

前端开发React使用中常用的开发框架

@零度

前端 React

Spring Boot 2 教程:WebFlux 整合 Redis(七)

程序员泥瓦匠

Homebrew大神面试Google被拒,只因写不出一道算法题

博文视点Broadview

openLooKeng社区Apache Log4j2高危安全漏洞修复完成,建议用户升级

openLooKeng

大数据 安全漏洞 openLooKeng Apache Log4j2 远程代码执行

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