SUNSPOT – SMALL PROGRAMMABLE OBEJCT TECHNOLOGY

Download Report

Transcript SUNSPOT – SMALL PROGRAMMABLE OBEJCT TECHNOLOGY

JRuby on Rails
GAO ANG
Sun Functional Campus Ambassador
http://www.gaoang.com
[email protected]
1
1
Agenda
Introduction to Ruby
What is JRuby
JRuby on Rails
JRuby on Netbeans
Where To Go
2
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.
3
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
4
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
5
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
6
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)
7
Java and Rails
8
Rails Architecture
• Rails applications are implemented using the
Model-View-Controller (MVC)
• Model - ActiveRecord
• View - ActionView
• Controller - ActionController
9
Comparison of Rails and J2EE stacks
• Tomcat servlet container
• Struts Web application framework
• Hibernate persistence framework
10
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
11
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
12
What is JRuby
http://jruby.codehaus.org/
•
•
•
•
•
•
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
13
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
14
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!
15
JRuby on Netbeans
16
Netbeans 6.1 Depot Demo
DEMO
17
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/
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
21
THANK YOU
Gao Ang
Sun Functional Campus Ambassador
http://www.gaoang.com
[email protected]
22
30