Upload
karel-minarik
View
2.121
Download
7
Embed Size (px)
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...
1968 2006
Ú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!