Ruby on Rails Web development that doesn’t hurt By Mylore, Dung, Lee, Karen and Bryan.

Slides:



Advertisements
Similar presentations
Chapter 15 © 2010 by Addison Wesley Longman, Inc Origins and Uses of Ruby - Designed by Yukihiro Matsumoto; released in Use spread rapidly.
Advertisements

Creating Web Services with Ruby on Rails Robert Thew Internet and Web Systems II.
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.
Introduction to Model-View-Controller (MVC) Web Programming with TurboGears Leif Oppermann,
Software Freedom Day th September 2007 Asia Pacific Institute of Information Technology Colombo, Sri Lanka. Nazly Ahmed Scripting The Web.
BY: ALBERTO CABEZAS 4/19/2010. INTRODUCTION: PHP is considered today as one of the most famous scripting languages. PHP is widely used as a general purpose.
Ruby on Rails by Manik Juneja Ruby On Rails. Ruby on Rails by Manik Juneja Rails is a Web Application development framework. Based on the MVC pattern.
PHP CSCE 330 February 6, 2003 Group Members: Antwan B. Phan George Hwang Luat Vu Programming Language Presentation.
Ruby on Rails a popular web application framework, aimed to increase the speed and ease of web development Ruby on Rails, Tim Zappe.
By Brian Patterson & Amanda Perez. PHP was originally created to maintain his personal homepage, hence the name PHP. Development began in 1994 and was.
CS 290C: Formal Models for Web Software Lecture 1: Introduction Instructor: Tevfik Bultan.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Session-01. Layers Struts 2 Framework The struts 2 framework is used to develop MVC-based web application. Struts 1.0 was released in June The.
Chapter 13 Web Application Infrastructure. Objectives Explain the components and purpose of a web application platform Describe several common webapp.
Struts 2.0 an Overview ( )
UNIT-V The MVC architecture and Struts Framework.
Server Side Scripting Norman White. Where do we do processing? Client side – Javascript (embed code in html) – Java applets (send java program to run.
| Lugano, Ruby on Rails.
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 Web development that doesn’t hurt. Ruby on Rails Framework written in the Ruby programming language for database- backed web applications.
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 Charles Severance Textbook: Build Your own Ruby on Rails Application by Patrick Lenz (ISBN: )
Ruby on Rails. What is Ruby on Rails? Ruby on Rails is an open source full-stack web framework. It is an alternative to PHP/MySQL. It can render templates,
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
AIT 616 Fall 2002 PHP. AIT 616 Fall 2002 PHP  Special scripting language used to dynamically generate web documents  Open source – Free!!!  Performs.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
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.
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
INTERNET APPLICATION DEVELOPMENT For More visit:
Web Application Programming Carol Wolf Computer Science.
PHP TUTORIAL. HISTORY OF PHP  PHP as it's known today is actually the successor to a product named PHP/FI.  Created in 1994 by Rasmus Lerdorf, the very.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
1 Dr Alexiei Dingli Web Science Stream Introducing Rails.
Ruby! Ronald L. Ramos. What is Ruby? Ruby is a scripting language designed by Yukihiro Matsumoto, also known as Matz. It runs on a variety of platforms,
Apache Struts RIFE Ruby on Rails Harry R. Erwin, PhD University of Sunderland CIT304/CSE301.
Cross Site Integration “mashups” cross site scripting.
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
Arnold Geraldo Designing and Making of The Online Auction Website Using CakePHP Framework.
Templates, Databases and Frameworks. Databases: DBI Common database interface for perl Provides a functional,
Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically generated web pages.
CSE 154 LECTURE 5: INTRO TO PHP. URLs and web servers usually when you type a URL in your browser: your computer looks up the.
Ruby/Ruby on Rails Yasushi Osonoi Open Dream corporation
Ruby on Rails By S. Christopher Hellriegel. Overview 1. What is Ruby on Rails? 2. What is MVC? 3. Simple example 4. Wow, that was cool!
PHP vs. Python. Similarities are interpreted, high level languages with dynamic typing are Open Source are supported by large developer communities are.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
Date : 3/04/2010 Web Technology Solutions Class: PHP Web Application Frameworks.
1 Getting Started with Ruby. 2 What’s Ruby? Ruby is an OO, dynamic, agile language –Everything’s an object For example, try puts -1.abs –Derives strengths.
Scripting Languages Info derived largely from Programming Language Pragmatics, by Michael Scott.
Ruby on Rails. Web Framework for Ruby Designed to make it easier to develop, deploy, and maintain web applications Design with Model-View-Controller –almost.
1 Rails for the Ruby-Impaired John Paul Ashenfelter CTO/Transitionpoint.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
Presented By P.SRIVIDYA 085D1A0552 Programming Language.
Cake PHP – OOPS approach for PHP
Chapter 13 Web Application Infrastructure
Web Technology Solutions
The language focusses on ease of use
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Scripting Languages Info derived largely from Programming Language Pragmatics, by Michael Scott.
Introduction Python is an interpreted, object-oriented and high-level programming language, which is different from a compiled one like C/C++/Java. Its.
Haritha Dasari Josue Balandrano Coronel -
PHP / MySQL Introduction
Ruby on Rails by Manik Juneja
Ruby on Rails by Manik Juneja
JavaScript.
Architecture of the web
Web Application Development Using PHP
Presentation transcript:

Ruby on Rails Web development that doesn’t hurt By Mylore, Dung, Lee, Karen and Bryan

Overview Ruby on Rails Ruby language MVC design pattern AJAX on Rails Ruby on Rails in action

Ruby on Rails Framework written in the Ruby programming language for database- backed web applications Utilizes MVC design pattern Created by David Heinemeier Hansson in mid 2003 and released in 2004 Developed to create the Basecamp project management web application

Philosophy Convention over configuration –Almost no configuration files –Helper scripts to get started Conformity through freebies –Magic wiring relies on common structures due to conventions of Ruby on Rails Best practices by invitation –Auto-generated unit and integration testing

Built-in Functions Helper scripts –Create directory hierarchy and skeleton code –Create model, view and controller objects –Set up database connectivity ActiveRecord –Dynamic method generation Built-in WEBrick web server

Ruby Object Oriented Scripting Language –Interpreted –Open Source –Fully OO that simulates procedurals –Publicly released in 1995 –New but well documented –Based loosely of Eiffel and Ada but heavily influenced by other languages like Perl, Python, Java/JavaScript, etc.

Reflective Language Ruby incorporates many beneficial features of other languages –Flexible programming (Perl) –Built in regex (Perl) –Error and Exception Handling (Python, Java) –Mark and Sweep Garbage Collector (Java) –No variable declaration (Perl, PHP, etc) –Embedded doc tools, RDoc (Java) –No Semicolon ‘;’ ! (Python) –And many others

Highlights: Open Classes Every class, including the core classes can be modified at any time. You just need to call Class class_name #modification code End Example: #modding floats to output in currency class Float def to_m sprintf("$%.2f", self) end

Highlights: Embedded Strings In Perl and PHP you can embed variables into strings. In Ruby you can embed whole blocks of code into string. Just need to put it between #{ } Example: #print out the prices in currency format from an #array without the need to put it back into a #variable p = [1.25, 2.00, 3.15] print “Lily: #{p[0].to_m} Rose: #{p[1].to_m} Viola: #{p[2].to_m}”

Highlights: RHTML Ruby can be directly embedded into HTML much like the way PHP does Example: Names of all the people Name:

Future of Ruby Ruby is easy to learn, simple to understand and friendly to write in It has become quite popular and gained a large following since its release Ruby’s library is expanding rapidly with many modules currently being written for it. And with the soon to be release version 1.9 It’s free!

Rails and the MVC Pattern MVC in PHP/Perl/JSP is hard –Can be done, but requires a lot of work to create a framework to enforce the MVC pattern. –Java (Struts), Perl (Maypole), and for PHP have their own frameworks, but they are not integrated deeply in their respective languages.

Rails and the MVC Pattern RoR integrates and enforces MVC in its framework. Scalability and maintainability. This significantly reduces the amount of repeated code.

Model The Model in RoR wraps to represent the RDBMS tables used for a site. Minimal amount of configuration Based on the Active Record pattern.

View Uses embedded ruby code in.rhtml files. Similar to PHP and JSP...etc…

Controller The controller handles the logic, and responds to user interaction and manipulates the model. Provides CRUD (Create/Read/Update/Delete) operations on the model.

Putting it all together RoR requires minimal configuration for implementing MVC. Once a new RoR project is created, the framework will automatically create the MVC components. Each component will map to each other with little configuration.

AJAX on Rails Ability to incorporate AJAX (Asychronous JavaScript and XML) into Rails-driven sites Contains the Prototype JavaScript library –Works with AJAX functions –Works with Script.aculo.us (additional functionality onto Prototype) Contains helper functions for implementing AJAX

AJAX on Rails No longer a complicated process to incorporate AJAX onto Rails-driven sites Newest version of Rails contains RJS –Create JavaScript using Ruby Reduce the amount of code needed to implement AJAX

Applications and Projects Applications –Instiki Web pages –DRTV Research –Penny Arcade

Applications: Instiki Wiki-based program that focuses on ease of installation and simplicity in running –2 step method for install –Simplistic user interface –Great for notes, brainstorming, organizing gatherings, file sharing, etc. Used for creating and editing web pages –Used for database interaction, syntax interpretation, etc.

Web pages: DRTV Research DRTV Research is a free online application that combines television lineup listings per week with consumer demographic data for North America. Over 700,000 pages of data are available on DRTV Research with new data added daily.

Web pages: Penny Arcade Penny Arcade is among the most popular web-comics currently online, hosting both a children's charity (Child’s Play) and a gaming convention (PAX) each year.

Ruby on Rails: Cons Confined to one language: Ruby Slight Learning Curve Forced to one directory hierarchy Not too popular (Though it is becoming more so recently) Not yet industry standard Relatively new with future stability unknown

Ruby on Rails: Pros Open Source and free! Built for Rapid Application Development Less development time Less lines of code Easy database connectivity MVC design pattern Built-in functions Minimal configuration Well documented AJAX made easy

Simplicity Weblog in 15 minutes! – ke2_with_sound.movhttp://media.rubyonrails.org/video/rails_ta ke2_with_sound.mov Ruby search engine –