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

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

def self.down

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