Úvod do programování 7

Preview:

DESCRIPTION

Grafické rozhraní aplikací; Webové aplikace; Ruby on Rails

Citation preview

Úvod do programování aneb Do nitra stroje

Karel MinaříkPŘEDNÁŠKA 7

Úvod do programování

Opakování1

Úvod do programování Přednáška 7

DOMÁCÍ ÚKOL

Navrhněte a naprogramujte třídu TextAnalyzer

TextAnalyzer:• text• characters• words• pages• unique_words• most_frequent_words• most_frequent_word

Úvod do programování Přednáška 7

Jak fungují projekty v IT?

Úvod do programování Přednáška 7

Agilní vývoj (Agile development)

Osobnosti a komunikace místo procesů a nástrojů

Fungující software místo rozsáhlé dokumentace

Spolupráce se zákazníkem místo smlouvání a vyjednávání

Vyrovnávání se se změnami místo dodržování plánu

Úvod do programování

Grafické rozhraní (GUI)2

In the beginning was the command line...

Úvod do programování Přednáška 7

Command Line Interface — nutná znalost „možností” a „příkazů“

Graphical User Interface — „vidím možnosti“ a příkazy provádím přímou interakcí

Typický příklad rozdílu mezi CLI a GUI: Drag and Drop(přímá interakce s objektem)

Minority Report (Steven Spielberg, 2002)

Apple iPhone

Apple iPhone

Apple iPhone

Úvod do programování Přednáška 7

Command Line Interface CLI

Graphical User Interface GUI

Touchscreen

Blízkost k rozhraní

Úvod do programování Přednáška 7

GUI TOOLKIT

• Windows API, Aqua (Mac OS X)

• GTK+, QT, WxWidgets, Swing, …

• Adobe Flash/Flex

• Microsoft Silverlight

• HTML+CSS

require "tk"

root = TkRoot.new() { title "Window" }

button_submit= TkButton.new do text "Click me!" command( proc { puts "Button was clicked... now closing the window!" root.destroy } ) pack(:pady => 50, :padx => 50, :side => "top")end

Tk.mainloop

Úvod do programování Přednáška 7

HTML pro GUI?

Úvod do programování Přednáška 7

Basecamp (37 Signals)www.basecamphq.com

Úvod do programování Přednáška 7

Gmail (Google)www.gmail.com

Úvod do programování Přednáška 7

www.farecast.com

Úvod do programování Přednáška 7

www.google.com/analytics

Úvod do programování Přednáška 7

www.babynamewizard.com/namevoyager

Java

Úvod do programování Přednáška 7

http://kuler.adobe.com

Flash

Úvod do programování Přednáška 7

www.modguitars.com/chords

Úvod do programování

Ruby on Rails3

Úvod do programování Přednáška 7

Úvod do programování Přednáška 7

Ruby On Rails is Ruby’s killer app — Yukihiro Matsumoto

Úvod do programování Přednáška 7

PROČ RUBY ON RAILS?

„Toto je sněhová vločka. Vaše aplikace není jedna z nich. Většina

věcí, které většina lidí dělá, není nijak unikátní. Vaše potřeby nejsou

nijak ‚zvláštní‘.“ David Heinemeier Hansson, přednáška na konferenci Future Of Web Applications, únor 2006~

Úvod do programování Přednáška 7

PROČ RUBY ON RAILS?

Konvence místo konfigurace

Dodržování doporučených postupů (best–practices)

Silná komunita

Úvod do programování Přednáška 7

www.peepcode.com/products/rails-from-scratch-part-i

Úvod do programování Přednáška 7

CO JSOU RUBY ON RAILS?

Model–View–Controller framework

ActiveRecord

ActiveSupport

ActionController

ActionView

ActionMailer

ActiveResource

Úvod do programování Přednáška 7

www.peepcode.com/products/rails-from-scratch-part-i

předává data

zobrazujevolá

Úvod do programování Přednáška 7

CO JSOU RUBY ON RAILS?

Model–View–Controller framework

ActiveRecord

ActiveSupport

ActionController

ActionView

ActionMailer

ActiveResource

Úvod do programování Přednáška 7

CO JSOU RUBY ON RAILS?

Model–View–Controller framework

ActiveRecord

ActiveSupport

ActionController

ActionView

ActionMailer

ActiveResource

Úvod do programování Přednáška 7

CO JSOU RUBY ON RAILS?

Model–View–Controller framework

ActiveRecord

ActiveSupport

ActionController

ActionView

ActionMailer

ActiveResource

Úvod do programování Přednáška 7

CO JSOU RUBY ON RAILS?

Model–View–Controller framework

ActiveRecord

ActiveSupport

ActionController

ActionView

ActionMailer

ActiveResource

Úvod do programování Přednáška 7

CO JSOU RUBY ON RAILS?

Model–View–Controller framework

ActiveRecord

ActiveSupport

ActionController

ActionView

ActionMailer

ActiveResource

Úvod do programování Přednáška 7

CO JSOU RUBY ON RAILS?

Model–View–Controller framework

ActiveRecord

ActiveSupport

ActionController

ActionView

ActionMailer

ActiveResource

Úvod do programování Přednáška 7

CO JSOU RUBY ON RAILS?

?

Úvod do programování Přednáška 7

CO JSOU RUBY ON RAILS?

% live coding

Děkuji!

Recommended