Ruby开发RIA应用入门

众所周知,Ruby是一门备受Web开发者青睐的编程语言.Rails,Hanami等Web框架都是基于Ruby的.Ruby结合RIA技术则可以很轻松地胜任Web开发.所谓RIA,是Rich Internet Application的缩写,即富互联网应用程序,原先是指像Flash/AIR,Silverlight,JavaFX,Java Applet这样的拥有丰富界面,通过沙盒技术实现的应用开发平台,这些平台基于插件,并且跨平台,在早期互联网发展时代广受欢迎,后来又对Web 2.0产生了巨大的影响.现在RIA技术可以指任何具有丰富界面的Web框架,比如各类AJAX界面框架(如ExtJS,YUI),JavaScript MVC框架(如AngularJS,KnockoutJS)都归类到RIA技术上.Ruby本身做Web开发就很强大,如果配上RIA,那更是如虎添翼.因此这篇文章我想谈谈如何结合Ruby和RIA框架,进行Web开发.本人也是刚入门Ruby进行Web开发,也在积极探索和学习这方面的应用.今后我会发布更多关于这方面的文章和技术教程.

Ruby结合Flash/Adobe AIR进行RIA开发

Flash/Adobe AIR是一个众所周知的跨平台应用开发框架.可以用Adobe AIR/Flex/Flash作为客户端开发环境,利用Flash Remoting框架连接客户端和服务器端,将后端生成的数据传送到客户端界面,Ruby的Flash Remoting框架有:

RubyAMF(http://code.google.com/p/rubyamf/)

WebORB for Rails(http://www.themidnightcoders.com/products/weborb-for-rails/overview.html)

这两个框架网上都有不少教程了,这里再介绍两本关于Flex和Rails结合的书:

Flexible Rails(https://www.manning.com/books/flexible-rails) - Manning出版的书,用的是Rails 2和Flex 3,介绍了怎样开发Flex UI,以及Flex框架Cairngorm的使用,怎样结合Flex和Rails.

Flex on Rails(http://flexonrails.com/) - 同样是一本Flex和Rails开发的好书.

Ruby on Rails结合Silverlight进行RIA开发

Silverlight是微软出品的RIA框架,Silverlight程序的代码本身就可以用Ruby写(后面介绍),Silverlight同样可以结合Ruby on Rails进行RIA开发,这篇教程透露了一些方法:

Using Silverlight With Ruby On Rails (https://techblogging.wordpress.com/2008/03/26/using-silverlight-with-rubyonrails/)

Ruby on Rails结合Java Applet进行RIA开发

Java Applet是很受人诟病的RIA技术,Java 9开始就已经把Applet从Java中剔除,因此我也不太推荐Java Applet.如果实在需要在Rails中用到Java Applet可以看看这个网页:

Java applet communication with Rails application (https://stackoverflow.com/questions/904528/java-applet-communication-with-rails-application)

Ruby on Rails结合OpenLaszlo进行RIA开发

OpenLaszlo是一个开源项目,可以让你用JavaScript编写Flash应用.OpenLaszlo-Rails这个Rails插件可以让你很方便地集成OpenLaszlo应用到Rails.

OpenLaszlo-Rails(https://github.com/osteele/openlaszlo_plugin)

Ruby on Rails结合YUI进行RIA开发

YUI是由雅虎开发的JavaScript用户界面框架,可以很方便地用JavaScript直接写出前端布局.Rails可以很好,很方便地结合YUI进行开发.

YUI-Rails插件(https://github.com/nextmat/yui-rails)

在Rails应用中使用YUI TreeView(https://wyattbaldwin.com/2008/05/26/yui-treeview-with-ruby-on-rails/)

Ruby on Rails结合jQuery UI进行RIA开发

jQuery UI是基于jQuery框架的UI组件库,提供了Web前端开发所需的大部分组件.结合Rails和jQuery UI,Web开发将比使用单纯HTML,CSS,JavaScript轻松得多.

jQuery-UI-Rails插件(https://github.com/jquery-ui-rails/jquery-ui-rails)

结合jQuery UI和Rails实现自动补全功能(https://www.lugolabs.com/articles/jquery-ui-autocomplete-with-ruby-on-rails)

Ruby on Rails结合jQWidgets进行RIA开发

jQWidgets是另一个基于jQuery的UI框架.同样提供了前端开发所需组件,并且是开源的.

jQxWidgets-Rails插件(https://github.com/umerkulovb/jqxwidgets-rails)

Ruby结合ExtJS进行RIA开发

ExtJS是一个老牌的,功能强大的JavaScript UI组件框架.它不仅可以轻松地创建Web界面,进行DOM操作,还可以很方便地结合后端Web开发框架,比如Ruby on Rails.下面介绍一些结合Ruby和ExtJS的案例和框架.

ExtJS with Rails(http://www.extjswithrails.com/) - 一个专门介绍ExtJS和Rails结合使用的博客.

Netzke(http://netzke.org/) - 一个基于Rails和ExtJS的Web框架,极大简化了Web开发.

7分钟结合Rails和ExtJS开发CRUD应用(http://writelesscode.com/blog/2012/10/20/extjs-rails-crud-application-in-7-minutes/)

RSense:Ruby RIA开发框架

RSense是一个使用Ruby作为后端语言,JavaScript作为前端用户界面的RIA框架.你只需使用这一个框架就可以开发全栈应用.

RSense(https://github.com/rsense/rsense)

Ruby on Rails结合DHTMLX进行RIA开发

DHTMLX和ExtJS,YUI一样,是一个很强大的UI组件库.可以跨平台开发移动Web和桌面Web应用.

Rails结合DHTMLX Grid(https://dhtmlx.com/blog/dhtmlxgrid-with-ruby-on-rails/)

Ruby on Rails结合Angular进行RIA开发

Angular是现在最流行的Web前端框架,它和传统框架不同在于它是基于MVC模式的,易于维护和开发.Angular也可以结合ExtJS等UI框架,使前端开发如虎添翼.

Angular-Rails(http://angular-rails.com/) - 介绍Angular和Rails结合的好书,这是它的电子版.

Angular-UI(https://angular-ui.github.io/) - Angular的UI框架.

Angular结合Kendo UI(https://www.telerik.com/kendo-angular-ui/)

Ruby on Rails结合Backbone进行RIA开发

Backbone是一个MVP模式的轻量级JavaScript框架,可以很好结合jQuery等前端框架.

Backbone-Rails(https://github.com/codebrew/backbone-rails) - 结合了Rails和Backbone的开源框架.

Ruby on Rails结合SproutCore进行RIA开发

SproutCore是一个结合了MVC模式和UI组件的前端开发框架.它跨平台性能良好,并且曾受到苹果等公司的青睐.Ember.js就是SproutCore的fork.

SproutCore-Rails(https://github.com/kiskolabs/sproutcore-rails)

Ruby on Rails结合Cappuccino进行RIA开发

Cappuccino并不同于其它的JavaScript框架,它用的是一种类似于Objective-C的编程语言开发前端UI,最后编译为JavaScript.对于有过苹果设备开发经验的人来说,Cappuccino可以很方便地上手Web开发.

结合Cappuccino和Rails进行开发(http://www.cappuccino-project.org/blog/2008/11/cappuccino-and-ruby-on-rails.html)

Ruby on Rails结合Ember.js进行RIA开发

上面提到了,Ember.js是SproutCore的一个非常有名的fork.同时也是近年来非常受欢迎的JavaScript框架.

结合Rails 4和Ember.js进行开发(http://www.railsonmaui.com/blog/2013/06/11/emberjs-rails4-tutorial/)

Ruby on Rails结合CoffeeScript进行RIA开发

CoffeeScript是一种编译到JavaScript的编程语言,可以使用类似Ruby的语法编写JavaScript应用,这对于熟悉Ruby的朋友无疑是一个好工具,而且CoffeeScript基于Ruby进行安装,结合到Rails更是轻而易举.

在Rails中使用CoffeeScript(https://www.sitepoint.com/using-coffeescript-in-rails/)

使用VueJS组件,CoffeeScript和Rails进行Web开发(https://blog.codeship.com/vuejs-components-with-coffeescript-for-rails/)

结合jQuery和CoffeeScript(http://www.coffeescriptlove.com/2012/08/coffeescript-and-jquery.html)

Ruby on Rails结合VueJS进行RIA开发

VueJS是近几年兴起的JavaScript框架,并且被不少大公司,如百度,用在自己的项目上.大多数的浏览器都对VueJS支持良好,并且VueJS广泛被用于单页Web应用.

结合VueJS和Rails(https://rlafranchi.github.io/2016/03/09/vuejs-and-rails/)

Ruby on Rails结合Polymer进行RIA开发

Polymer是Google推出的Web组件框架.它很好地实现了Google所提出的Material Design设计思想.

Polymer-Rails(https://github.com/alchaplinsky/polymer-rails)

Ruby on Rails结合KnockoutJS进行RIA开发

KnockoutJS是一个基于JavaScript的MVVM框架,并且可以和jQuery UI等广泛使用的UI框架相结合.

Knockout-Rails(https://github.com/dnagir/knockout-rails)

Knockout-Kendo(http://rniemeyer.github.io/knockout-kendo/) - 结合KnockoutJS和Kendo UI.

Ruby on Rails结合Aurelia进行RIA开发

Aurelia是这几年新兴的JavaScript框架,它的设计思想和Angular,Vue,Knockout类似,今后也有很广阔的发展前景.

结合Aurelia和Ruby on Rails 2(http://patrickwalters.net/aurelia-and-rails-on-rails-2/)

IronRuby结合Silverlight进行RIA开发

IronRuby是Ruby语言的.NET实现,它打通了Ruby开发.NET应用的通道,用Ruby写Silverlight应用变得易如反掌.

结合IronRuby,Silverlight和XAML界面(http://pietschsoft.com/post/2010/10/17/Silverlight-Embed-IronRuby-within-XAML-Part-2)

总结

Ruby是一门实用的编程语言,目前Ruby的强项仍然是Web开发,而RIA技术则让Web开发变得事半功倍.本文介绍了Ruby结合RIA技术的途径,和相关的技术教程.当然未来开源社区依旧会源源不断地为我们提供新的框架,我也在不断地学习和探索这方面的实践,并且未来会发表更多的教程,以自己的微薄之力向大众普及Web开发技术.我也希望大家都能尽自己所能,贡献更多的开源项目,分享自己的技术教程,为技术的发展添砖加瓦.

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180501G0EXAE00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券