Tin's Blog

          You are coming a long way, baby~Thinking, feeling, memory...

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            128 隨筆 :: 0 文章 :: 221 評論 :: 0 Trackbacks

          13日,Joyent宣布基于GPL v2將SlingshotConnector開源。Joyent Slingshot允許開發(fā)者將Rails應(yīng)用程序部署為與桌面應(yīng)用行為一致,可以在線或者離線(保持同步),可以拖拽,與所有其它桌面應(yīng)用程序交互等。另外,Joyent還提供了Connector產(chǎn)品和一組可以與Joyent Slingshot協(xié)同工作的第三方應(yīng)用程序。

          Slingshot計劃在今年4月份發(fā)布一個可以在Windows和Mac OS X上基本可以工作的版本(但是,似乎目前還沒有發(fā)布)。Joyent稱Slingshot讓游戲換一種玩法。

          Slingshot框架是輕量級且可自定義的,它讓Ruby on Rails應(yīng)用可以通過透明的數(shù)據(jù)同步離線運行。它不限制你如何運行應(yīng)用程序及同步哪些數(shù)據(jù),這些由開發(fā)者自己決定。這樣,Slingshot可以讓 Rails脫離瀏覽器。它可以打破Web應(yīng)用和桌面應(yīng)用的(通訊)壕溝,同時它沒有失去Web應(yīng)用在快速開發(fā)、部署和更新上的優(yōu)勢。最近Google Gears和Dojo offline也提供了這種能力,它們離線工作的方式雖然不同,但是希望給用戶帶來的體驗是殊途同歸的,這些技術(shù)希望用戶能夠?qū)⒃诰€應(yīng)用當(dāng)作桌面應(yīng)用來使用,讓用戶忘記“線”的存在。雖然David Heinemeier Hanson曾經(jīng)開玩笑地認(rèn)為離線只有在飛機(jī)上才有必要使用,但是從目前的技術(shù)走向上來看,這門技術(shù)無疑會被更多地開發(fā)和使用。Slingshot以此作為一個出發(fā)點,希望進(jìn)一步消除離線/在線應(yīng)用的區(qū)別,所以它提供了協(xié)同工作的機(jī)制,希望幫助開發(fā)者更輕松地開發(fā)混合應(yīng)用程序。近期在平臺競爭上火爆的Adobe的AIR、MS的Silverlight、Sun的JavaFX無不希望提供這樣的方案,這片市場被稱為RIA市場,其競爭已經(jīng)如火如荼,而傳統(tǒng)的HTML/CSS/Javascript方式也依然保持強(qiáng)勁的發(fā)展勢頭,此時看到Slingshot這樣的產(chǎn)品開發(fā)人員應(yīng)該更加感覺興奮,因為RIA的思路似乎依然在被不斷擴(kuò)展。

          Slingshot這個產(chǎn)品關(guān)注的是數(shù)據(jù)的交換和同步。這其實和RIA技術(shù)中的異步通訊一樣扮演者傳輸?shù)闹厝危驗槟壳暗腞IA應(yīng)用大都是以數(shù)據(jù)為中心的,所以在消除離線/在線應(yīng)用時首先需要解決數(shù)據(jù)同步問題。Joyent在其Blog上介紹了Slingshot提供的數(shù)據(jù)同步的使用方法

          Joyent Slingshot是一個簡潔的同步在線和離線數(shù)據(jù)的輕量級方案。作為一個開發(fā)者你可以提供一個透明的ActiveRecord傳輸層,允許簡單的定義你的應(yīng)用程序中哪些數(shù)據(jù)什么時候需要用什么方式進(jìn)行同步。僅需要增加三十行左右的代碼,你的Rails應(yīng)用程序就可以從客戶端向服務(wù)器同步數(shù)據(jù)。加上另外三十行代碼你就可以使用基于文件的數(shù)據(jù)同步了。

          框架提供了可以擴(kuò)展的拖拽抽象層。可以掛入到應(yīng)用程序已有的導(dǎo)入/導(dǎo)出機(jī)制中,而不需要修改任何應(yīng)用程序的代碼。

          最后,它允許開發(fā)者方便的部署更新和遷移(migrations),無論用戶離線了多久。

          Slingshot讓開發(fā)者可以開發(fā)一種異步的CS應(yīng)用程序,通過拖拽的方式同步數(shù)據(jù),也可以通過文件的方式同步。并且從工作環(huán)境上Slingshot也提供了比較寬松的平臺,Joyent在他的Blog中這樣描述它的運行方式

          Slingshot如何工作呢?我們已經(jīng)從Slingshot中移除了對操作系統(tǒng)二進(jìn)制文件的依賴和沖突。進(jìn)一步說,Slingshot允許開發(fā)者自己定義運行環(huán)境,安裝gems、plugins、二進(jìn)制庫或者其它,我們都可以處理。Slingshot就像一個讓Rails應(yīng)用程序運行的虛擬機(jī)。

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

          • 創(chuàng)建混合的Web/桌面應(yīng)用程序
          • 同步在線和離線數(shù)據(jù)
          • 在線和離線應(yīng)用程序中使用相同的代碼
          • 輕松的部署和更新你的應(yīng)用程序
          • 在應(yīng)用程序中拖拽導(dǎo)入/導(dǎo)出

          Rubyinside在報道Slingshot開源的時候,將其比喻為37signals將BaseCamp產(chǎn)品開源,可見其重要程度。Slingshot的創(chuàng)新性在未來肯定會激發(fā)一些混合RIA應(yīng)用的產(chǎn)生,讓我們一起關(guān)注這個未來的技術(shù)吧。

          posted on 2007-07-18 14:34 Tin 閱讀(1415) 評論(0)  編輯  收藏 所屬分類: 非Java
          主站蜘蛛池模板: 监利县| 长顺县| 黑河市| 榕江县| 巩义市| 绥化市| 哈巴河县| 富平县| 深泽县| 济南市| 临颍县| 达州市| 惠州市| 湄潭县| 宜君县| 中宁县| 靖边县| 个旧市| 荥经县| 定安县| 东方市| 临清市| 丰城市| 曲周县| 娱乐| 晋宁县| 荥阳市| 洪洞县| 黄平县| 利辛县| 达拉特旗| 大新县| 碌曲县| 勃利县| 札达县| 柏乡县| 四平市| 乐平市| 铜陵市| 九江县| 龙游县|