JRuby on Rails

laboredbumbaileyΛογισμικό & κατασκευή λογ/κού

7 Ιουν 2012 (πριν από 5 χρόνια και 5 μήνες)

545 εμφανίσεις

1

JRuby on Rails


GAO ANG

Sun Functional Campus Ambassador

http://www.gaoang.com

tomgaoang@gmail.com

1

2

JRuby on Rails

Introduction to Ruby

Agenda

JRuby on Netbeans


Where To Go

What is JRuby

3

What is Ruby?


Created/lead by Matz


Open Source interpreted scripting language, like
Perl, Python, Tcl, etc.


Focused on being very object oriented,
expressive, and bringing joy to programming.

4


Ruby calling Java


require ‘java’


include_class “javax.swing.JFrame”

include_class “javax.swing.JButton”


frm = JFrame.new(“My frame”)

btn = JButton.new(“My button”)


frm.set_size(300, 300)

frm.content_pane.add(btn)

frm.show

5

Interactive ruby console: irb

irb


This powerful tool can be used for trying out single
line commands while you are getting used to Ruby,
or to run whole programs.

DEMO

6

Ruby in a nutshell


RubyGems


Ruby Gem:
http://docs.rubygems.org
/


Examples:

>
gem list

>
gem install redcloth
--
version ">= 3.0.0"


Using gems in your program:

>
require ‘rubygems’

>
require ‘some_gem’

DEMO

7


What is Ruby on Rails


Web Framework that makes MVC
-
oriented web
apps easy through a template engine, ORM
(ActiveRecord) ,test driven development.


Much less complicated than J2EE solutions, but
perhaps more so than PHP or Perl in cgi
-
bin.


Similar Web Framework

>
Python (TurboGears, Django)

>
Perl (Maypole)

>
Groovy on Rails (Grails)

>
Ruby(Merb)

8

Java and Rails


9

Rails Architecture


Rails applications are implemented using the
Model
-
View
-
Controller (MVC)


Model
-

ActiveRecord


View
-

ActionView


Controller
-

ActionController

10

Comparison of Rails and J2EE stacks


Tomcat servlet container


Struts Web application framework


Hibernate persistence framework

11

Database Migration (Bookmarks)


db/migrate/001_create_bookmarks.rb



class CreateBookmarks < ActiveRecord::Migration



def self.up



create_table :bookmarks do |t|



t.column :url, :string



t.column :title, :string



end



end




def self.down



drop_table :bookmarks



end


end


12

Running the Migration


Rake is the general purpose build tool for rails,
much like make, or ant. It has many functions, one
of which is to control migrations.

>
rake db:migrate


Now the table has been created



Migration in Netbeans

13




What is JRuby


100% Java impl of Ruby


Ruby on the JVM


Pure interpreted, native threaded


Born 2001, product of many developers


Largely Ruby 1.8
-
compatible


Slower than Ruby...for now

http://jruby.codehaus.org
/

14


Why JRuby on Rails


Java is pervasive


Java libraries are exhaustive


Many still believe Java is the “everytool”


Java webapp developers are unhappy


Rails webapp developers are happy

15

Advantage of JRuby on Rails



JRuby on Rails mostly works right now


JRuby will not be “done” until it’s fully working


ActiveRecord
-
JDBC opens many doors


Java EE is actually fun with Rails


More Rails is more Rails...JRuby enables!

16

JRuby on Netbeans


17

Netbeans 6.1 Depot Demo


DEMO

Where to go for Ruby information







Online material:

>
http://www.ruby
-
doc.org
/

>
http://rubyonrails.org
/

>
Rails screencast(s)

>
Planet Ruby on Rails

Netbeans 6 Resources


Netbeans Product Site:
http://www.netbeans.org

>
Download: previews, current & past releases of IDE, plugins

>
Learning: tutorials, technical articles, flash demos

>
Community: latest news, forums, events, mailing lists


Netbeans Wiki:
http://wiki.netbeans.org/wiki/

>
Open
-
source documentation site for Netbeans.


Planet Netbeans:
http://www.planetnetbeans.org/

>
Aggregate for all Netbeans
-
related blogs


Netbeans TV:
http://www.netbeans.tv/

>
Connecting the diverse and worldwide community of People, Projects
and Technologies surrounding NetBeans.

Stay In Touch


Check blog regularly :

>
http://blogs.sun.com/

>
http://www.javapassion.com/

>
http://blogs.sun.com/GaoAng/


Join Java Open Source User Group

>
BJUG
http://www.bjug.org
/

>
BLUG http://www.beijinglug.org/


You Can find lots of material on :

>
http://developers.sun.com/students/

21

Resources


http://java.sun.com
/

>
Java 2 Platform, Standard Edition v1.4.1

>
java, javac, jar, jre, etc.

>
Online documentation and tutorials


http://www.netbeans.org
/

>
Docs & Support

>
Netbeans Tutorials & Training

>
Get the latest version of Netbeans


http://developers.sun.com.cn
/

>
The Source for Sun Developer Solutions


http://www.sunacademic.com


22

Gao Ang

Sun Functional Campus Ambassador

http://www.gaoang.com

tomgaoang@gmail.com


THANK YOU



30