44
Úvod do programování aneb Do nitra stroje Karel Minařík PŘEDNÁŠKA 7

Úvod do programování 7

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Úvod do programování 7

Úvod do programování aneb Do nitra stroje

Karel MinaříkPŘEDNÁŠKA 7

Page 2: Úvod do programování 7

Úvod do programování

Opakování1

Page 3: Úvod do programování 7

Ú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

Page 4: Úvod do programování 7

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

Jak fungují projekty v IT?

Page 5: Úvod do programování 7

Ú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

Page 6: Úvod do programování 7

Úvod do programování

Grafické rozhraní (GUI)2

Page 7: Úvod do programování 7

In the beginning was the command line...

Page 8: Úvod do programování 7
Page 10: Úvod do programování 7
Page 11: Úvod do programování 7
Page 12: Úvod do programování 7

Ú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í

Page 13: Úvod do programování 7

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

Page 14: Úvod do programování 7

Minority Report (Steven Spielberg, 2002)

Page 15: Úvod do programování 7

Apple iPhone

Page 16: Úvod do programování 7

Apple iPhone

Page 17: Úvod do programování 7

Apple iPhone

Page 18: Úvod do programování 7

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

Command Line Interface CLI

Graphical User Interface GUI

Touchscreen

Blízkost k rozhraní

Page 19: Úvod do programování 7

Ú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

Page 20: Úvod do programování 7

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

HTML pro GUI?

Page 21: Úvod do programování 7

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

Basecamp (37 Signals)www.basecamphq.com

Page 22: Úvod do programování 7

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

Gmail (Google)www.gmail.com

Page 23: Úvod do programování 7

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

www.farecast.com

Page 24: Úvod do programování 7

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

www.google.com/analytics

Page 25: Úvod do programování 7

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

www.babynamewizard.com/namevoyager

Java

Page 26: Úvod do programování 7

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

http://kuler.adobe.com

Flash

Page 27: Úvod do programování 7

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

www.modguitars.com/chords

Page 28: Úvod do programování 7

Úvod do programování

Ruby on Rails3

Page 29: Úvod do programování 7

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

Page 30: Úvod do programování 7

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

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

Page 31: Úvod do programování 7

Ú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~

Page 32: Úvod do programování 7

Ú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

Page 33: Úvod do programování 7

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

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

Page 34: Úvod do programování 7

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

CO JSOU RUBY ON RAILS?

Model–View–Controller framework

ActiveRecord

ActiveSupport

ActionController

ActionView

ActionMailer

ActiveResource

Page 35: Úvod do programování 7

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

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

předává data

zobrazujevolá

Page 36: Úvod do programování 7

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

CO JSOU RUBY ON RAILS?

Model–View–Controller framework

ActiveRecord

ActiveSupport

ActionController

ActionView

ActionMailer

ActiveResource

Page 37: Úvod do programování 7

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

CO JSOU RUBY ON RAILS?

Model–View–Controller framework

ActiveRecord

ActiveSupport

ActionController

ActionView

ActionMailer

ActiveResource

Page 38: Úvod do programování 7

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

CO JSOU RUBY ON RAILS?

Model–View–Controller framework

ActiveRecord

ActiveSupport

ActionController

ActionView

ActionMailer

ActiveResource

Page 39: Úvod do programování 7

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

CO JSOU RUBY ON RAILS?

Model–View–Controller framework

ActiveRecord

ActiveSupport

ActionController

ActionView

ActionMailer

ActiveResource

Page 40: Úvod do programování 7

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

CO JSOU RUBY ON RAILS?

Model–View–Controller framework

ActiveRecord

ActiveSupport

ActionController

ActionView

ActionMailer

ActiveResource

Page 41: Úvod do programování 7

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

CO JSOU RUBY ON RAILS?

Model–View–Controller framework

ActiveRecord

ActiveSupport

ActionController

ActionView

ActionMailer

ActiveResource

Page 42: Úvod do programování 7

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

CO JSOU RUBY ON RAILS?

?

Page 43: Úvod do programování 7

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

CO JSOU RUBY ON RAILS?

% live coding

Page 44: Úvod do programování 7

Děkuji!