Ruby, Rails, GUIs, and More

Slides:



Advertisements
Similar presentations
The Hydra Framework as a Series of Diagrams Naomi Dushay Stanford University Libraries April,
Advertisements

Chapter 15 © 2010 by Addison Wesley Longman, Inc Origins and Uses of Ruby - Designed by Yukihiro Matsumoto; released in Use spread rapidly.
Web Applications Development Using Coldbox Platform Eddie Johnston.
Sakai on Rails Integrating Ruby and Sakai David Adams, Virginia Tech.
Ruby on Rails Tutorial Peter Mosca April, Ruby on Rails Tutorial Ruby History Invented 12 years ago in Japan by Yukihiro Matsumoto Spent first 5.
1 JRuby on Rails GAO ANG Sun Functional Campus Ambassador 1.
27-Jun-15 Rails. What is Rails? Rails is a framework for building web applications This involves: Getting information from the user (client), using HTML.
Development of mobile applications using PhoneGap and HTML 5
Chapter 13 Web Application Infrastructure. Objectives Explain the components and purpose of a web application platform Describe several common webapp.
Chapter 3.1 – RoR: An introduction Maciej Mensfeld Presented by: Maciej Mensfeld RoR: An introduction dev.mensfeld.pl github.com/mensfeld.
A little engineering on Rails Robert W. Hasker. Goals Intro to the Rails framework ▫Basic concepts: MVC, Active Record ▫A bit of Ruby Using Rails to build.
RUBY ON RAILS Mark Zhang. In this talk  Overview of Ruby on Rails  Core ideas  Show a tiny bit of example code  Touch on several general web development/
RUBY ON RAILS It’s so rad. What we’ll cover  What is Ruby?  What is RoR?  Why RoR?  Developing with RoR  Deployment  Demo  Questions.
Ruby on Rails CSCI 6314 David Gaspar Jennifer Garcia Avila.
Ori Calvo, 2010 “If people want to have maximum reach across *all* devices then HTML will provide the broadest reach” Scott Guthrie,
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
OSGi.
Ruby & rails by Nicholas Belotti. What is ruby Ruby is an object orientated scripting language. In Ruby...everything is an object! Ruby was released in.
JRuby: Bringing Ruby to the JVM™ Thomas E. Enebo, Aandtech Inc. Charles Oliver Nutter, Ventera Corp
Java Mobile Apps with GWT & PhoneGap Josh Marinacci, webOS Developer Advocate.
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
1 Dr Alexiei Dingli Web Science Stream Introducing Rails.
Programming Languages , perfSONAR-PS Developers Meeting Aaron Brown, Maxim Grigoriev, Eric Pouyoul.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Java GUI building approaches Aleksandar Kartelj Faculty of Mathematics, Belgrade 11 th Workshop “Software Engineering Education and.
Ruby/Ruby on Rails Yasushi Osonoi Open Dream corporation
RUBY ON RAILS (RoR) Ishwor Khadka. Why Ruby on Rails?
1 Rails for the Ruby-Impaired John Paul Ashenfelter CTO/Transitionpoint.
PowerBuilder is an integrated development environment (IDE) used to create applications. PowerBuilder 12.5 has good integration with the Microsoft.
Presented By P.SRIVIDYA 085D1A0552 Programming Language.
1 JRuby Now and Future Charles Oliver Nutter JRuby Guy Sun Microsystems Except where otherwise noted, the content of this presentation is licensed under.
NetBeans & Ruby David Botterill Software Engineer Global Technology Manager - Campus Ambassador Program Sun Microsystems, Inc.
Presentation Title Up to Three Lines Long Arial 28pt Name, 26pt Speaker Company, 18pt Misc. Info, 16pt Speaker logo centered below photo.
GlassFish Workshop 1 Dynamic Languages in GlassFish Arun Gupta blogs.sun.com/arungupta.
1 Charles Oliver Nutter Thomas Enebo Tor Norbye Martin Krauskopf JRuby: Understanding the Fuss Except where otherwise noted, the content of this presentation.
Know Your GlassFish Gem Jacob Kessler. Overview ● Fast, simple, easy – gem install glassfish – glassfish. ● Everything from GlassFish to serve a Ruby.
GlassFish Gem Vivek Pandey Sun Microsystems, Inc.
JRuby on Rails Presenter Name
Cake PHP – OOPS approach for PHP
Ruby on What? A brief introduction to Rails Christopher Hoskin Faculty of History 12th Annual IT Support Staff Conference 21st June 2007, St. Catherine's.
JRuby on Rails Brian Leonard ブライアン レオナルド
Visual Web & AJAX with Netbeans 6.0 Your Name Sun Campus Ambassador Your Address.
1 Sun Microsystems, Ruby, and JRuby Charles Oliver Nutter Senior Staff Engineer Sun Microsystems Except where otherwise noted, the content of this presentation.
Chapter 13 Web Application Infrastructure
Profound.js: The future of open source development on IBM i
Introducing the Microsoft® .NET Framework
Yii.
Angular 4 + TypeScript Getting Started
Chapter 1 Introduction to Computers, Programs, and Java
Yii Framework – The Major Pros and Cons
What, Where and Why Swift
Ruby Tooling in NetBeans
Haritha Dasari Josue Balandrano Coronel -
JRuby Charles Oliver Nutter
JRuby on Rails Charles Oliver Nutter JRuby Core Developer
The plan What's JRuby? The Ruby language Why JRuby? How to use it
Longtime Java developer More recent Ruby developer
JRuby It's What's For Dinner
JRuby: Up and Running! Charles Oliver Nutter and Thomas Enebo
JRuby State of the Art! Except where otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution-Share Alike 3.0.
Scripting Java with JRuby
Top Reasons to Choose Angular. Angular is well known for developing robust and adaptable Single Page Applications (SPA). The Application structure is.
Introduction to Struts
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Google App Engine Ying Zou 01/24/2016.
JavaServer Faces: The Fundamentals
Database Software.
Agile testing for web API with Postman
Developing and testing enterprise Java applications
Presentation transcript:

Ruby, Rails, GUIs, and More JRuby in Action Ruby, Rails, GUIs, and More Except where otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution-Share Alike 3.0 United States License (http://creativecommons.org/licenses/by-sa/3.0/us/).

The JRuby Guys Charles Oliver Nutter and Thomas Enebo JRuby for 4+ years Sun Microsystems for 2+ years JVM languages

Ruby Dynamically typed Pure object-oriented C-language implementation Green threads “Fast enough” == “a bit slow” 1.8.6/7 is current 1.9 in development Focus on performance, character encodings

JRuby Ruby on the JVM Nearly complete Ruby compatibility Interop with Java libraries Improvements on original Native threading Faster by most measurements 1.1.6 this week (RC1 out now) 1.8.6 compatible, 1.9 in progress

Ruby Tutorial Walkthrough of all the key Ruby features Interactive! Please jump in with questions Free-form, live-coded Ruby is fun, Ruby tutorial should be fun!

Modules Object MyGreatClass class MyGreatClass < Object … end

Modules class MyGreatClass < Object include MyGreatModule end

Modules class MyGreatClass < Object extend MyGreatModule end Class meta class MyGreatClass class MyGreatClass meta class class MyGreatClass < Object extend MyGreatModule end

Modules class MyGreatClass < Object extend MyGreatModule end Object Meta class MyGreatModule MyGreatClass MyGreatClass Meta class class MyGreatClass < Object extend MyGreatModule end

Singletons class MyGreatClass end my_object = MyGreatClass.new Object

Singletons class MyGreatClass end my_object = MyGreatClass.new singleton class class MyGreatClass end my_object = MyGreatClass.new class << my_object

More Cool Ruby: FFI Foreign Function Interface Call C libraries from Ruby code Works on Ruby and JRuby Map simple types, structs, callbacks DSL for function binding

JVMScript (working title) A DSL for generating JVM bytecode Multiple Ruby techniques employed Goal: structured assembly for JVM

What is Ruby on Rails? A Full-stack MVC web development framework Open Source (MIT), Many Contributors Written in Ruby Single-Threaded design (2.2 has MT-mode) First released in 2004 by David Heinemeier Hansson Super-hyped! :) :(

Rails Precepts Convention over Configuration Why punish the common cases? Encourages standard practices Everything simpler and smaller Don't Repeat Yourself (DRY) Framework written around minimizing repetition Repetitive code harmful to adaptability Agile Development Environment No recompile, deploy, restart cycles Simple tools to generate code quickly Testing built into framework

Why Rails? Greatly simplified web development “Less Rails code than Java app configuration” Instant applications: working code in minutes Makes small apps trivial to create Ruby is an excellent language Still growing in popularity in leaps and bounds

The Rails Stack ActiveRecord ORM on steroids ActionPack View and controller support ActiveResource Restful resources Actionmailer Email Activesupport Unicode, json, miscellaneous helpers

Let's write a simple blog app Rails Demo Let's write a simple blog app

JRuby on Rails Java is Everywhere Every OS/Hardware platform you can think of Probably already on a server near you Less political resistance “JRuby is just another Jar file” No need to install additional software on your servers Wider database support Decent performance

JRuby on Rails (Warbler) Java-style deployment to Application Server Bundles a Rails application into a WAR file Hand WAR file to production staff Rails App deployed! Rack http://wiki.jruby.org/wiki/JRuby_Rack

JRuby on Rails (GlassFish v3 gem) Entire App Server in a 4Mb gem Ruby-style deployment to GF Application Server gem install glassfish glassfish <Rails app dir> Configurable number of listeners all in one process Under active development GlassFish

Parts is Parts Script Java technology you need into your Rails app Call “legacy” Java from existing project Get additional choices

Swing GUI in JRuby Builder approach (ex: Rubeus) Sort of a “model 1” 1998 JSP approach Great for simple forms Difficult for long-term, large apps Tool-driven approach (ex: MonkeyBars) Tool manages UI layout Logic is MVC-driven UI and logic evolved, maintained separately Easier to scale to large apps