Windows GUI programming
vybrané kapitoly
16.10.2019 vjj 1
programování
• algoritmus
• program -> operační systém
• API funkce
• služby OS • ovládání vlastní aplikace
• GUI
• UI/UX : program -> uživatel
16.10.2019 vjj 2
programování
•
• program -> operační systém
• API funkce
• služby OS • ovládání vlastní aplikace
• GUI
• UI/UX : program -> uživatel
16.10.2019 vjj 3
dva důvody pro GUI
• appearancefashion - např. Aerodesign - např. Aero
• visual navigationpohodlínižší požadavky na paměť uživatelesymbolic -> skeuomorphic -> symbolic
16.10.2019 vjj 4
GUI
komunikace s uživatelem
ale komu je vaše aplikace vlastně určena?
16.10.2019 vjj 5
Programování pro Windowsnové vs. staré
konzument vs. profesionál
16.10.2019 vjj 6
Windows programmingcontemporary vs hereditary
simple user vs demanding user
16.10.2019 vjj 7
Windows programmingUWP vs WinAPI
platform universal
vs
platform specific
16.10.2019 vjj 8
Windows programmingTiles vs Windows
the question of taste, fashion, vogue,
usability
16.10.2019 vjj 9
UI
16.10.2019 vjj 10
Windows programming2010 vs 2000 vs 1990
Win32 API
.NET WinForms
.NET WPF
.NET Metro
.NET UWP / OneCore
16.10.2019 vjj 11
Windows programmingsimplified vs unlimited
Silverlight
LightSwitch Win32 API
Windows Phone WinForms/WPF
Windows 8.x/10
UWP
16.10.2019 vjj 14
Windows programmingsimplified vs unlimited
GUIrestricted full
securitystrengthen vulnarable
privacyMicrosoft administrator
16.10.2019 vjj 15
Windows 10 vs Windows 7
16.10.2019 vjj 16
hodnocení OS
funkčnost, implementace
nebo
UI / UX16.10.2019 vjj 17
hodnocení OS
funkčnost, implementace
+
UI / UX16.10.2019 vjj 18
sylabus
• vztah .NET WPF a Windows API (Win32 API)
• pár vybraných návodů
• brush, transforms, animations, binding, resources, styles, templates, effects, 3D
16.10.2019 vjj 19
literatura
16.10.2019 vjj 20
Old Testament
• Charles PetzoldProgramming Windows(Fifth Edition)1479 stran + CDNovember 11, 1998ISBN 1-5723-1995-XMicrosoft Press
» » » » » » » » » » » » » » » » » » » » »
16.10.2019 vjj 21
New Testament
• Charles PetzoldProgramming Microsoft Windows with C#1328 stran + CD18. 12. 2001ISBN 0-7356-1370-2Microsoft Press
» » » » » » » » » » » » » » » » » » » » »
16.10.2019 vjj 22
Apocrypha
• Charles PetzoldApplication = Code + MarkupA Guide to the Microsoft Windows PresentationFoundation1002 stran2006 - Microsoft PressISBN 978-0-7356-1957-9
» » » » » » » » » » » » » » » » » » » » »
16.10.2019 vjj 23
Apocrypha
• Charles Petzold3D Programming for WindowsThree-Dimensional Graphics Programming for the Windows Presentation Foundation430 stran2008 - Microsoft PressISBN 978-0-7356-2394-1
» » » » » » » » » » » » » » » » » » » » »
16.10.2019 vjj 24
Libri Prohibiti
• Google návody
» » » » » » » » » » » » » » » » » » » » »
16.10.2019 vjj 25
Advanced• Jeffrey RICHTER
Advanced Windows (3rd edition)The Developer's Guide to the Win32 API1048 stran1997 - Microsoft PressISBN-13: 978-1572315488
• David Solomon, Marc RussinovichWindows Internals (5th edition)Covering Windows Server 2008 and Windows Vista1232 stran2009 - Microsoft PressISBN 978-0-7356-2530-3
» » » » » » » » » » » » » » » » » » » » »
16.10.2019 vjj 26
stará beletrie
• Jeffrey RichterApplied Microsoft .NET Framework Programming591 stran2002ISBN 0-7356-1422-9Microsoft Press
» » » » » » » » » » » » » » » » » » » » »
16.10.2019 vjj 27
New Testament
• Adam Nathan WPF 4 Unleashed2010ISBN-13 978-0-672-33119-0ISBN-10 0-672-33119-5Pearson Education
16.10.2019 vjj 28
heresy
• Pete BrownWindows Store App DevelopmentC# and XAML
Windows 8 XAML in Action2013ISBN 9781617290947Manning
» » » » » » » » » » » » » » » » » » » » »
16.10.2019 vjj 29
přednášky
• www.WIN.ms.mff.cuni.cz
www.WIN.ms.mff.cuni.cz/vjj/Vyuka.aspx
- můj osobní zápisník- návody, problémy, domněnky
» » » » » » » » » » » » » » » » » » » » »
16.10.2019 vjj 30
MSDN Library
• http://msdn.microsoft.com
• průběžně aktualizovaná on-line dokumentace
• chybí údaje o aktuálnosti nalezené informace
• chybí filtry pro vyhledávání
• W8.x/10 - implementace neodpovídá popisu
16.10.2019 vjj 31
Azure Dev Tools for Teaching
• Visual Studio 2019
• pouze pro účely výuky
• Windows 10
• jako nezbytný "podklad" pro vývojářské nástroje
• servery
• pouze pro účely testování vyvíjených aplikací
16.10.2019 vjj 32
Azure Dev Tools for Teaching
• SW licence je pro jeden department
• SISAL - Informatická sekce MFF UK
• pouze pro účely výuky informatiky
• smí se (tj. nemusí) poskytovat i studentůmk nainstalování na jejich vlastní PC
• Microsoft accountsvázaný s fakultním e-mailem
16.10.2019 vjj 33
Azure Dev Tools for Teaching• WebStore
• licence Microsoft DreamSpark pro SISAL
• ELMS - Electronic Licenses Management System
http://aka.ms/devtoolsforteaching
http://www.win.ms.mff.cuni.cz/vjj/MSImagine.aspx
16.10.2019 vjj 34
zkouška
• umět vysvětlit vše, co bylo odpřednášeno, tak, jako byste to měli naučit začátečníka nebo jiného programátora, který ale o programování pro Windows skoro nic neví
• tj. důležitý je dostatečně srozumitelný návod, jaké funkce, objekty, metody a v jakém pořadí použít, (účel jednotlivých kroků, které důležité informace se mezi jednotlivými kroky předávají a proč).
• porovnávání různých možností, podle čeho si má programátor vybrat
16.10.2019 vjj 35
kontakt
• MFF UK - SISALMalostranské nám. 254. patro, č.dv. 425
+420 951 554 222
vjj @ mff.cuni.cz
http://www.win.ms.mff.cuni.cz/vjj/
16.10.2019 vjj 36