Ruby on Rails Charles Severance Textbook: Build Your own Ruby on Rails Application by Patrick Lenz (ISBN:978-0-975- 8419-5-2)

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.
Ruby on Rails Web development that doesn’t hurt By Mylore, Dung, Lee, Karen and Bryan.
Web Applications Development Using Coldbox Platform Eddie Johnston.
Fabian Vilers Hands on ASP.NET MVC.
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,
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Development of a Web Based B&B Reservation System Elizabeth Gates 22July04.
Creating Web Services with Ruby on Rails Robert Thew Internet and Web Systems II.
1 Classic ASP vs. ASP.NET Technical Information and Market Adoption Lance Welker University of San Diego Dr. Rebman MSIT 526 December 20, 2005.
Ruby on Rails a popular web application framework, aimed to increase the speed and ease of web development Ruby on Rails, Tim Zappe.
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.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
PHP Web Development, PHP Programming
| 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 CSCI 6314 David Gaspar Jennifer Garcia Avila.
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.
By: Felegh Solomon ITEC SPRING 2013 CHAPTER 4: KEY CONSTRUCTION DECISIONS.
There are only 10 types of people in the world, those who understand binary and those who don't.
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.
INFO415 An overview of systems development
SednaSpace A software development platform for all delivers SOA and BPM.
Web Application Programming Carol Wolf Computer Science.
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,
Programming Languages , perfSONAR-PS Developers Meeting Aaron Brown, Maxim Grigoriev, Eric Pouyoul.
Yii is “yes it is” from this we can know that surely it would be a highly needed technology for website developers for its high performance. It is suitable.
The Active Record Paradigm Databases in Database-Centric Web Site Development.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
Model View Controller A Pattern that Many People Think They Understand, But Has A Couple Meanings.
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!
David Lawrence 7/8/091Intro. to PHP -- David Lawrence.
Metadata Input Tool for CADIS Scientists and Data Managers by D. Stott August 8, 2007.
Katari Globant 2008 (update to 2010). Katari  Katari is a framework to use as a starting point to develop new web applications.  Incorporates architecture,
Introduction to Ruby&Rails Yuri Veremeyenko Monica Verma.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
Fusebox Not Just For Breakfast Anymore! An Introduction to Fusebox Author: Fred T. Sanders, Instant Knowledge Some Content unscrupulously taken from Steve.
How to make an Interactive Voice Response (IVR) using an OzML script This slideshow is intended to be a great explanation on how to develop an Interactive.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
JRuby on Rails Presenter Name
Cake PHP – OOPS approach for PHP
JRuby on Rails Brian Leonard ブライアン レオナルド
CGS 3066: Web Programming and Design Spring 2017
Top 8 Best Programming Languages To Learn
NOCTI Study Guide #2.
Scope History of Ruby. Where can you use Ruby? General Features.
Accsess 2013 Creating Database.
Content Management System
CO6025 Advanced Programming
PHP / MySQL Introduction
Why Modern Web Apps Are Best Built Using Rails In 2018.
Ruby on Rails by Manik Juneja
Ruby on Rails by Manik Juneja
Content of Presentation
Whatcha doin'? Aims: Begin to create GUI applications. Objectives:
Agile testing for web API with Postman
WPS - your story so far Seems incredible complicated, already
ASP.NET MVC Web Development
Presentation transcript:

Ruby on Rails Charles Severance Textbook: Build Your own Ruby on Rails Application by Patrick Lenz (ISBN: )

What is Ruby? Ruby is a programming language – At one level any programming language can be used to solve any problem - everything is *possible* in any language – Languages differentiate them selves based of ease of use, elegance, power, simplicity, efficiency, and many other subtle but very important factors

Ruby’s Advantages Truly Object Oriented from the ground up - very consistent patterns to the language User-friendly language syntax - easy to read and easy to learn Help the user develop nice, clean, powerful programs Very powerful run time class extensions - make applications like Rails not only possible but very natural

Ruby History Originally developed in Japan by Yukihiro Matsumoto (aka “Matz”) – “I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python. That's why I decided to design my own language.” Work started in 1993, and released it to the public in "Ruby" was named as a gemstone alluding to name of Perl Also pearl is the birthstone for June, and ruby is the birthstone for July. English version in 1998

What is Rails? Rails is a full-stack web application framework – The Rails framework includes common functionality that is useful across a wide range of web applications – By starting with Rails - you get a lot for “free” - you can focus on your application and its data rather than writing lots of plumbing Rails is written in Ruby

Rails History David Heinemeir Hansson from Denmark developed a web application called Basecamp Rails was created by taking the general purpose bits of the Basecamp application out so they could stand on their own Rails 1.0 was released in December of

Rails Development Principles Convention over Configuration Don’t Repeat Yourself Agile Development Scaffolding Model - View - Controller Architecture

Convention Over Configuration Add a column to a database table and in-memory objects immediately have new methods supporting the column - no need to change configuration many places throughout the application A reaction to Java + Spring + Hibernate which has lots of flexibility and choice and lots of configuration files all over the place.

Don’t Repeat Yourself This is a basic tenet of the Object Oriented approach You should not have to cut and paste the same code over and over in many places - this leads to future bugs where code is changed one place and not the other. Powerful libraries such as Ajax support, and Object Relational Modeling are built in and easy to use with a minimum number of lines of code

Agile Development Build quickly, test, evaluate, and refine - iterate from a prototype to production You can work independently on application look and feel, storage patterns, and program logic Quick development - edit a file - press refresh on a browser Includes convenient testing framework

Scaffolding Rails provides the framework and will write skeleton applications to use the framework at your direction Saves a lot of typing and reading – ruby script/generate controller Music index details edit Code produced is functional - and has hints about what to do next A leg up for beginning programmers - not just a blank slate

Model - View - Controller Model - Persistent Storage - Database - stores across all sessions and across time View - Look and Feel of the application - usability, accessibility, design, appeal, functionality, drag and drop,.... Controller - Program logic, business rules, flow form screen to screen controls each session independently.

MVC - Request - Response Cycle

MVC Sequence User presses button, browser sends data to application Controller receives the data, and makes updates to and/or retrieves from the model as necessary User output data is passed to the View - view applies final look and feel and the response goes back to the Brower.

Rails and MVC Rails is a MVC application framework - you should just accept the MVC pattern and work with it This is OK because MVC is a very popular approach to developing web applications Rails effectively pre- chooses 90% of the architecture choices of a web application.

A Rails Application Rails even dictates the layout of an application directory - one less decision for a developer to make The directory structure precisely reflects the MVC architecture This helps Rails developers know where to look for things when faced with a new Rails application Removing choice improves clarity

Potential Rails Gotcha’s There is no such thing as a perfect framework that does it all for you magically. Sometimes you must step around or outside the framework to get things done that the framework is simply not ready to handle As we gain experience with Rails we will find areas that need improvement The hope if that Rails will need fewer of these “bypass” operations and when it must be done - it can be done elegantly.

Ruby’s Future Most see Python and Ruby as the likely “what’s next?” Interesting question - Will Ruby replace perl as the data- grocking language? Ruby has been adopted by Sun and Java - Java version 6 will have support for a Ruby in the Java Run Time environment - this will make it much easier for Ruby to become an enterprise language - Ruby will be easy - Java. Apple in the 10.5 release makes Ruby as one of the languages which can be used to develop desktop applications in Cocoa - up to now Desktop applications on Macintosh were generally written in a very OO language called Objective C

Rails Future Rails is the most innovative full-stack web development framework ever. – It is far easier than Java / Spring / Hibernate – It is much cleaner than PHP For small to medium sized applications starting now with 2-5 year life spans - Ruby is the current smart answer For the largest applications with 10+ year life spans, the jury will be out for many years

Conclusion Ruby is a very strong contender along with Python as the ideal Object Oriented Language in the market today Ruby and Rails are experiencing strong growth at this point in time Ruby on Rails is already demonstrated to be well suited for small and medium sized web applications More time and experience is needed for Ruby to begin to take Enterprise market share from Java and C# (.Net)