Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias...

61
Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com

Transcript of Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias...

Page 1: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Introduction to Web Applications

Tobias Pfeiffer@PragTob

pragtob.wordpress.com

Page 2: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Today

Page 3: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.
Page 4: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

What is a web application?

Page 5: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Not rocket science

Page 6: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

I am Rails (and So Can You!)

Page 7: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Programming is fun!

Page 8: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

What you are goingto build today

Page 9: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

So what is a web application?

Page 10: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Presented in aweb browser

Page 11: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Runs on a server...

Page 12: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

...or the cloud

Page 13: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

is dynamic

Page 14: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

A high level overview

Page 15: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

High level overview

Page 16: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

High level overview

Page 17: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

High level overview

Request

Page 18: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

High level overview

Page 19: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

High level overview

Answer

Page 20: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

High level overview

Answer

Page 21: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

High level overview

Page 22: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

What parts does a web application consist of?

Page 23: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Web Application

Page 24: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Front End

Back End

Page 25: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Front End

Back End

Page 26: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

CSS

HTML

JavaScript

Page 27: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

CSS

HTML

JavaScript

Page 28: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Structure and content

Page 29: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

CSS

HTML

JavaScript

Page 30: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Styling to transform...

Page 31: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

...this...

Page 32: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

...into this.

Page 34: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

CSS

HTML

JavaScript

Page 35: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Back End

CSS

HTML

JavaScript

Page 36: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Back End

CSS

HTML

JavaScript

Page 37: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Logic

Infrastructure

Page 38: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Logic

Infrastructure

Page 39: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Logic

● Behaviour● Implements the business logic● Ties all the parts together● Generates content

Page 40: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Ruby on Rails

Page 41: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

But what is Ruby on Rails?

Page 42: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

A web application framework written in Ruby

Page 43: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

● A general purpose programming language

● Principle of least surprise● Invented by Yukihiro Matsumoto

Page 44: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

"I hope to see Ruby help every programmer in the world to be productive, and to enjoy programming, and to be happy. That is the primary purpose of Ruby language."Yukihiro Matsumoto

Page 45: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Ruby on Rails

● Framework written in Ruby● set of functionality to help write web

applications– Connecting to the database (ActiveRecord)– Generating HTML (ERB)– Pays attention to security– … and so much more!

● Model View Controller● You write in Ruby

Page 46: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Logic

Infrastructure

Page 47: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Web Server

Page 48: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Logic

Infrastructure

Page 49: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Storing all yourdata...

Page 50: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

...in giant tables

Page 51: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Recap

Page 52: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Logic

Storage

Infrastructure

CSS

HTML

JavaScript

Web Application Landscape

Page 53: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Logic

Storage

Infrastructure

CSS

HTML

JavaScript

Web Application Landscape

Bootstrap

DOM

Ruby on Rails

Sqlite

WEBrick

Ruby

Page 54: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Bento Box Exercise

● Sort technologies and associated words into the landscape

● 5 minutes time

Page 55: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Logic

Storage

Infrastructure

CSS

HTML

JavaScript

Web Application Landscape

Bootstrap

DOM

Ruby on Rails

Sqlite

WEBrick

Ruby

Page 56: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Bento Box Exercise

● jQuery● Django● Unicorn● PHP

● Python● XML● Java● MongoDB

Page 57: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Logic

Storage

Infrastructure

CSS

HTML

JavaScript

Web Application Landscape

Bootstrap

XML

DOM

jQuery

Ruby on Rails

Sqlite

Unicorn

WEBrick

MongoDB

Ruby

PHP Python

Django

Java

Page 58: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Question time

?

Page 59: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Where to go from here?

● I gather resources here, such as:– http://pragtob.github.io/rails-beginner-cheatsheet/

– http://ruby.railstutorial.org/

– http://rubymonk.com/

– http://www.codeschool.com/courses/rails-for-zombies

– http://rubykoans.com/

– http://railscasts.com/

● Rails Girls Berlin project groups

Page 60: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Thank you and enjoy coding!

Tobias Pfeiffer@PragTob

pragtob.wordpress.comlisten to me talking about learning Ruby (German)

Page 61: Introduction to Web Applications - WordPress.com · Introduction to Web Applications Tobias Pfeiffer @PragTob pragtob.wordpress.com. Today. What is a web application? Not rocket science.

Photo credit● http://www.flickr.com/photos/captainkimo/5918836159/

● http://www.flickr.com/photos/weppos/7486411688/

● http://www.flickr.com/photos/railsgirlsberlin/7882839698/in/photostream

● http://www.flickr.com/photos/nirak/644336486/