introduction to web applications - wordpress.com · introduction to web applications tobias...

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

Upload: others

Post on 05-Aug-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

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/