windows 8 fejlesztés lépésről lépésre

Upload: osikad

Post on 10-Oct-2015

82 views

Category:

Documents


1 download

DESCRIPTION

Windows 8 fejlesztes

TRANSCRIPT

  • Kszlt a devPortal.hu tmogatsval

    A knyv nyomtatott verzija megvsrolhat a knyvesboltokban, s a kiad webruhzban: www.joskiado.hu

  • 3

    Novk Istvn, Flp Dvid, Petr Emil, Fr Attila Gerg, Farkas Blint,

    Turczy Attila, Kiss Balzs, rvai Zoltn

    Windows 8 fejleszts lpsrl lpsre

    JEDLIK OKTATSI STDI

    Budapest, 2012

  • Minden jog fenntartva.

    A szerz s a kiad a knyv rsa sorn trekedtek arra, hogy a lert tartalom a lehet legpontosabb s napraksz legyen. Ennek ellenre elfordulhatnak hibk, vagy bizonyos informcik elavultt vlhattak. A pldkat s a mdszereket mindenki csak sajt felelssgre alkalmazhatja. Javasoljuk, hogy felhasznls eltt prblja ki s dntse el sajt maga, hogy megfelel-e a cljainak. A knyvben foglalt informcik felhasznlsbl fakad esetleges krokrt sem a szerz, sem a kiad nem vonhat felelssgre. Az oldalakon elfordul mrka- valamint kereskedelmi vdjegyek bejegyzjk tulajdonban llnak.

    Szerkesztette s szakmailag lektorlta: Novk Istvn Anyanyelvi lektor: Dr. Bonhardtn Hoffmann Ildik Bort: Varga Tams Kiad: Jedlik Oktatsi Stdi Kft. 1215 Budapest, v u. 8-12. Internet: http://www.jos.hu E-mail: [email protected] Felels kiad: a Jedlik Oktatsi Stdi Kft. gyvezetje Nyomta: LAGrade Kft. Felels vezet: Szutter Lnrd ISBN: 978-615-5012-19-8 Raktri szm: JO-0342

  • Ksznm kedvesem, Olgi vgtelen trelmt.

    Farkas Blint

    Ajnlom a felfedezknek, akik nem tudnak nyugodtan lni egy platform felett, mindig valami

    jat akarnak ltni - s ajnlom a harcosoknak, akik mr megrkeztek, hogy egy szl

    IntelliSense-szel felvrtezve szembenzzenek a kihvssal.

    Flp Dvid

    Szeretettel ajnlom Szleimnek s Zsuzsinak, akik vgig sztnztk a munkmat.

    Kiss Balzs

    Szerettel Henriettnek, Eszternek s Rknak

    Novk Istvn

  • 7

    Tartalomjegyzk

    Elsz .......................................................................................................................................... 13

    1. A Windows alkalmazsfejleszts rvid trtnete ........................................................ 15

    A Windows lettja ....................................................................................................................................... 15

    A Windows 8 paradigmavltsa ............................................................................................................... 16

    A Microsoft megteszi az els lpseket a fogyasztk fel .......................................................................... 17

    A Windows 8 megjelenik a sznen ......................................................................................................................... 17

    A Windows programozsi felletek s eszkzk rvid trtnete ............................................... 19

    A C programozsi nyelv hatalma ........................................................................................................................... 19

    A C++ tveszi a C helyt ........................................................................................................................................... 22

    A Visual Basic ................................................................................................................................................................. 23

    A Delphi ........................................................................................................................................................................... 24

    A .NET felbukkansa ................................................................................................................................................... 24

    Az j felhasznli fellet technolgik ................................................................................................................ 25

    A Windows alkalmazsfejleszts 22-es csapdja ............................................................................... 27

    sszegzs .......................................................................................................................................................... 28

    2. Bevezets a Windows 8 hasznlatba ........................................................................... 29

    Kt cl, kt fellet, egy opercis rendszer .......................................................................................... 29

    Adatbevitel Windows 8-on ......................................................................................................................... 30

    A Windows 8 hasznlata rintsvezrlssel ...................................................................................................... 30

    Egyb adatbeviteli eszkzk Windows 8-on .................................................................................................... 30

    A Start kperny s az l csempk ....................................................................................................... 30

    A csempk ltrehozsa .............................................................................................................................................. 31

    A csempk trendezse ............................................................................................................................................. 32

    A csempk csoportostsa ........................................................................................................................................ 33

    Mveletek a csempkkel ........................................................................................................................................... 35

    A Windows Store alkalmazsok hasznlata ......................................................................................... 36

    Alkalmazsok indtsa s bezrsa ....................................................................................................................... 36

    Vlts a Windows Store alkalmazsok kztt .................................................................................................. 36

    Tbb Windows Store alkalmazs egyidej futtatsa ..................................................................................... 38

    A Charm bar ..................................................................................................................................................... 39

    Keress ............................................................................................................................................................................. 40

    Megoszts ....................................................................................................................................................................... 41

    Eszkzk s Belltsok.............................................................................................................................................. 42

    Az Asztal ............................................................................................................................................................ 43

    tkapcsols az Asztalra ............................................................................................................................................. 43

    Az Asztal s az alkalmazsok hasznlata ............................................................................................................ 43

    sszegzs .......................................................................................................................................................... 44

  • Tartalomjegyzk

    8

    3. A Windows 8 architektrja a fejleszt szemszgbl ....................................... 45 A Windows 8 fejleszti architektrja .................................................................................................... 45 Az asztali alkalmazsok rtegei ................................................................................................................ 47 A Windows 8 stlus alkalmazsok rtegei .......................................................................................... 48

    A kihvs ........................................................................................................................................................................... 49 Az architektra rtegek ttekintse ...................................................................................................................... 49

    A Windows Runtime architektrjnak ttekintse .......................................................................... 50 Metaadatok a Windows Runtime-ban ................................................................................................................. 53 Nyelvi lekpzs .............................................................................................................................................................. 58 A Windows Runtime hasznossga ......................................................................................................................... 59 Ami nem rsze a Windows Runtime-nak ............................................................................................................ 60

    A .NET keretrendszer 4.5-s vltozata ................................................................................................... 61 A .NET keretrendszer 4.5 vltozatnak teleptsi modellje .......................................................................... 61 Windows Runtime integrci .................................................................................................................................. 62 Aszinkron mveletek tmogatsa .......................................................................................................................... 62 Egyb jdonsgok ........................................................................................................................................................ 63

    A projektekre illeszked technolgia kivlasztsa ............................................................................ 63 A Windows Store .......................................................................................................................................................... 63 Windows 8 stlus vagy asztali alkalmazsok? ................................................................................................. 64 Programozsi nyelv vlasztsa ................................................................................................................................ 64

    sszegzs .......................................................................................................................................................... 65

    4. Bevezets a Windows 8 aszinkron programozsba ................................................ 67

    A szinkron modell .......................................................................................................................................... 67 Az aszinkron programozsi modell ttekintse .................................................................................. 68

    Aszinkron programozs az APM segtsgvel .................................................................................................. 68 Aszinkron programozs az esemnyalap modell segtsgvel ............................................................... 69 Az APM hasznlata ....................................................................................................................................................... 70

    Nyelvi szint aszinkronits a C# 5.0-ban ............................................................................................... 72 Aszinkron metdusok ksztse az async mdostval ................................................................................. 72 Az async mdostval megjellt metdusok hvsnak mdostsa az await opertorral ............. 73 Tudnivalk az aszinkron metdusokrl ............................................................................................................... 78

    Bevezets a Task Parallel Library-be ....................................................................................................... 80 Mirt van szksg a prhuzamostsra? .............................................................................................................. 80 Prhuzamosan fut mveletek indtsa .............................................................................................................. 81 Prhuzamosan fut mveletek bevrsa ............................................................................................................ 83 Prhuzamosan fut mveletek futsnak megszaktsa .............................................................................. 85 Kivtelkezels prhuzamosan fut mveleteknl ............................................................................................ 86

    sszefoglals ................................................................................................................................................... 90

    5. Windows 8 XAML alapismeretek ................................................................................... 91

    Trtnelmi ttekints .................................................................................................................................... 91 XAML szintaktika ............................................................................................................................................ 91 Beptett vezrlk .......................................................................................................................................... 94

    Button ................................................................................................................................................................................ 95 RepeatButton ................................................................................................................................................................. 95

  • Tartalomjegyzk

    9

    HyperlinkButton............................................................................................................................................................ 96

    ToggleButton ................................................................................................................................................................. 96

    ToggleSwitch ................................................................................................................................................................. 96

    CheckBox ......................................................................................................................................................................... 96

    RadioButton ................................................................................................................................................................... 96

    TextBlock ......................................................................................................................................................................... 96

    TextBox ............................................................................................................................................................................. 97

    PasswordBox .................................................................................................................................................................. 97

    Slider ................................................................................................................................................................................. 97

    ProgressBar s ProgressRing ................................................................................................................................... 98

    Felletek elrendezse ................................................................................................................................... 98

    Grid .................................................................................................................................................................................... 99

    Alignment...................................................................................................................................................................... 101

    StackPanel ..................................................................................................................................................................... 102

    VariableSizedWrapGrid ............................................................................................................................................ 103

    Margin ............................................................................................................................................................................ 105

    Padding .......................................................................................................................................................................... 106

    Canvas ............................................................................................................................................................................ 107

    Transzformcik ......................................................................................................................................................... 108

    XAML + C# ..................................................................................................................................................... 110

    sszegzs ........................................................................................................................................................ 111

    6. Windows 8 XAML ismeretek mlyebben ............................................................... 113

    Erforrsok ..................................................................................................................................................... 113

    Beptett erforrsok ............................................................................................................................................... 115

    Stlusok ............................................................................................................................................................. 115

    Sablonok .......................................................................................................................................................... 118

    Animcik ....................................................................................................................................................... 119

    Beptett animcik ThemeAnimation .......................................................................................................... 121

    Visual State Manager ............................................................................................................................................... 121

    Beptett tmenet-animcik ThemeTransition ......................................................................................... 122

    Adatkts ........................................................................................................................................................ 124

    sszegzs ........................................................................................................................................................ 131

    7. Modern vezrlk hasznlata Windows 8 stlus alkalmazsokban ..................... 133

    Hatkony adatkezels a CollectionViewSource segtsgvel ...................................................... 133

    Csoportosts a CollectionViewSource segtsgvel ................................................................................... 134

    Adatnavigci a CollectionViewSource segtsgvel .................................................................................. 135

    Lists adatok megjelentse s a ListViewBase osztly .................................................................. 136

    A GridView vezrl ...................................................................................................................................... 137

    Adatok megjelentse a GridView vezrlben................................................................................................ 137

    Layout testreszabsa ................................................................................................................................................ 139

    Elemek testreszabsa ............................................................................................................................................... 139

    Elemek kivlasztsa ................................................................................................................................................... 142

    Csoportok kezelse ................................................................................................................................................... 143

    Ignyalap adatletlts ........................................................................................................................................... 144

  • Tartalomjegyzk

    10

    A ListView vezrl ........................................................................................................................................ 145 A SemanticZoom hasznlata ................................................................................................................... 146 Specilis listakezels a FlipView vezrlvel ........................................................................................ 148 sszegzs ........................................................................................................................................................ 149

    8. Windows 8 alkalmazsfejleszts HTML5 s JavaScript segtsgvel .................. 151

    Bevezets ......................................................................................................................................................... 151 t a HTML5-ig ............................................................................................................................................... 151 A HTML5/JavaScript szerepe a Windows 8 fejleszti platformon ............................................. 152 A Windows 8 alkalmazsok mkdse ................................................................................................ 153

    App Container ............................................................................................................................................................. 153 Local context web context ................................................................................................................................ 154

    Ismerkeds a fejleszteszkzkkel ........................................................................................................ 155 Hello World .............................................................................................................................................................. 155 Alapvet vezrlk ...................................................................................................................................................... 162 rzkelk hasznlata ................................................................................................................................................ 164

    Blend for HTML ............................................................................................................................................. 166 sszegzs ........................................................................................................................................................ 167

    9. Alkalmazsok integrlsa a Windows 8 szolgltatsaival ..................................... 169

    A Windows 8 letciklus-modellje ........................................................................................................... 169 Fjlok elrse ................................................................................................................................................. 173

    Fjlok kivlasztsa a Picker Contract-ok segtsgvel ................................................................................ 174 Csempk kezelse ........................................................................................................................................ 175 Szenzorok kezelse ..................................................................................................................................... 179

    Egy egyszer plda: kamera s mikrofon hasznlata .................................................................................. 180 sszegzs ........................................................................................................................................................ 183

    10. Halad Windows 8 integrcis ismeretek ............................................................... 185

    Httrfolyamatok ltrehozsa ................................................................................................................. 185 Integrci a keresvel (Search Contract) ............................................................................................ 187 Integrci a belltsok panellel ............................................................................................................. 190 Pozci meghatrozsa szenzorokkal ................................................................................................... 193 sszegzs ........................................................................................................................................................ 195

    11. Webes szolgltatsok hasznlata a Windows 8 alkalmazsokban ................... 197

    Bevezets ......................................................................................................................................................... 197 Webszolgltatsok hasznlata ................................................................................................................ 198

    A webszolgltatsok mkdse .......................................................................................................................... 198 Szinkron s aszinkron hvsok .............................................................................................................................. 199 Webszolgltats egy mintaalkalmazsban ...................................................................................................... 199

    Bevezets a Live SDK hasznlatba ....................................................................................................... 204 A Live SDK .................................................................................................................................................................... 204 A Live SDK hasznlata egy mintaalkalmazsban ........................................................................................... 204

    Vals idej kommunikci ........................................................................................................................ 209 Alapfogalmak .............................................................................................................................................................. 209

  • Tartalomjegyzk

    11

    Vals idej kapcsolat fenntartsnak lehetsgei ........................................................................................ 210

    Vals idej kommunikci megvalstsa Time Trigger segtsgvel ................................................. 211

    A felh s a Windows 8 alkalmazsok ................................................................................................. 215

    Adatelrs az OData protokollon keresztl ....................................................................................... 216

    sszegzs ........................................................................................................................................................ 222

    12. A C++ programozsi nyelv s a Windows 8 alkalmazsok ................................. 223

    A Microsoft s a C++ programozsi nyelv ......................................................................................... 223

    Tiszta s biztonsgos ................................................................................................................................................ 224

    A C++ programozsi nyelv legfontosabb vltozsai...................................................................... 226

    Deklarcik ................................................................................................................................................................... 227

    j kontnerek a Standard Template Library-ban .......................................................................................... 228

    Okos mutatk .......................................................................................................................................................... 228

    Rvalue hivatkozsok .................................................................................................................................................. 229

    Mozgatsi szemantika .............................................................................................................................................. 229

    Lambda kifejezsek ................................................................................................................................................... 230

    j C++ tpusok ............................................................................................................................................................ 231

    Windows 8 stlus alkalmazsok ksztse C++ programozsi nyelven ................................. 231

    A C++ programozsi nyelv privilgiumai a Windows 8 stlus alkalmazsokban ........................... 232

    A Windows Runtime s a C++ ............................................................................................................................. 233

    A Windows Runtime objektumok kezelse a C++-ban ............................................................................. 233

    Futsidej osztlyok ltrehozsa ......................................................................................................................... 235

    Kivtelek ........................................................................................................................................................................ 236

    A C++ kpessgeinek a felfedezse a Visual Studival ................................................................ 239

    C++ projektek ltrehozsa..................................................................................................................................... 239

    Egy C++ projekt elemei .......................................................................................................................................... 240

    A Platform::String tpus hasznlata ..................................................................................................................... 241

    Futsidej kontnerek hasznlata ....................................................................................................................... 243

    Aszinkron mveletek hasznlata .......................................................................................................................... 244

    Az Accelerated Massive Parallelism hasznlata ............................................................................................. 245

    sszegzs ........................................................................................................................................................ 248

    13. A Windows Store s hasznlata ..................................................................................249

    A Windows Store .......................................................................................................................................... 249

    A Windows Store belltsai .................................................................................................................................. 251

    Windows Store fejleszti regisztrci s szablyok ..................................................................................... 252

    A Windows Store zleti modelljei ....................................................................................................................... 252

    Alkalmazsok sszekapcsolsa a weboldalunkkal ........................................................................................ 254

    Windows Store szablyok ....................................................................................................................................... 256

    Prbavltozat ksztse (Trial md) ...................................................................................................... 257

    Vsrls az alkalmazsbl....................................................................................................................................... 260

    Funkcik vsrlsa ..................................................................................................................................................... 261

    Tovbbi termkspecifikus informci lekrdezse ....................................................................................... 262

    Reklmok begyazsa .............................................................................................................................................. 263

    Windows App Certification Kit .............................................................................................................................. 265

    Alkalmazs feltltse a Windows Store-ba ..................................................................................................... 266

    sszegzs ........................................................................................................................................................ 271

  • 12

  • 13

    Elsz

    Elszr a 80-as vek vgn tallkoztam a Windows opercis rendszerrel ez mg az egyetemen trtnt , s az a Windows 2.0-s vltozata volt. Az let gy hozta, hogy az egyetem utn az els nagyobb projektem egy msfl vig tart Windows fejleszts (egy orvosi kpeket kezel krhzi informcis rendszer) volt. Ma tbb mint 20 vvel a kezdetek utn visszatekintve az akkori opercis rendszerre, megdbbentnek tnik a fejlds... A Windows trtnetben a Windows 95 megjelense ta nem trtnt ekkora vltozs az opercis rendszer szemlletben s az alkalmazsok fejlesztsnek megkzeltsben, mint most a Windows 8 kapcsn. A Windows az asztali gpekrl tkerlt a tblagpekre s mobil eszkzkre is. Olyan fejleszti platformot knl teljesen j stlus alkalmazsokkal , amelynek segtsgvel nemcsak a .NET fejlesztk, de a ms platformokrl rkezk is felhasznlhatjk meglv C++ vagy HTML/JavaScript tudsukat arra, hogy rvid id alatt ltvnyos, jl kezelhet alkalmazsokat hozzanak ltre. Ez a knyv azt tzte ki cljul, hogy bevezeti az Olvast a Windows 8 stlus alkalmazsok ksztsnek alapjaiba.

    A knyv kialaktsa sorn a korbban mr jl bevlt gyakorlatot kvettk: sszegyjtttk a kzssg lelkes szakembereit, akik nemcsak arra vettk a fradsgot, hogy kiprbljk a Windows 8 korai kiadsait, hanem ksztetst is reztek arra, hogy tapasztalataikat s tudsukat ms fejlesztkkel megosszk. A szerzk rekordid alatt hoztk ltre ezt a knyvet! A Windows 8 vgleges vltozatt 2012. augusztus kzeptl lehetett letlteni, s az azta eltelt nhny ht alatt kszlt el az itt olvashat 13 fejezet. rvai Zoltn (7. fejezet), Fr Attila Gerg (9. s 10. fejezetek), Farkas Blint (11. fejezet), Flp Dvid (2. s 4. fejezetek), Kiss Balzs (8. fejezet), Novk Istvn (1., 3. s 12. fejezetek), Petr Emil (5. s 6. fejezetek) s Turczy Attila (13. fejezet) az itt lertakat mind sajt tapasztalataik, a Windows 8 megismersbe fektetett munkjuk alapjn lltottk ssze.

    Az egyes fejezeteket igyekeztnk gy kialaktani, hogy azok az elstl az utolsig folyamatosan feldolgozhatk legyenek. Nem trekedtnk arra, hogy azt tanknyvszeren egyenetlen s szraz stlusban rjuk, minden egyes fejezet alkotjnak stlust, megkzeltsmdjt tkrzi.

    A knyv s a hozz tartoz programozsi mintapldk a Devportal.hu oldalon is elrhetk.

    Novk Istvn Budapest, 2012. oktber

  • 15

    1. A Windows alkalmazsfejleszts

    rvid trtnete

    Ebben a fejezetben az albbi tmkat ismerheted meg:

    A Windows opercis rendszer lettja s fejldse az elmlt 27 vben

    A Windows alkalmazsfejlesztst leginkbb meghatroz eszkzk s technolgik a

    kezdetektl napjainkig

    A Windows 8 paradigmavltsa az alkalmazsfejleszts megkzeltsi mdjban

    A Windows 8 stlus alkalmazsok fogalma

    A Windows lettja Hossz t vezetett a Windows 8 megjelensig a Windows els vltozatnak 1985. november 20-ai

    kibocstsa ta. Akkoriban a Microsoft a grafikus felhasznli felletek irnti rdekldsre adott

    vlaszknt az MS-DOS opercis rendszerhez egy kiegszt komponenst ksztett, amely teljesen

    megvltoztatta a szemlyi szmtgpekhez kapcsold vilgot. Ez a komponens a Windows volt. Az els

    vltozat nagyon egyszer grafikt hasznlt, s valjban egy j front-end fellet volt az MS-DOS-hoz, s

    nem nll opercis rendszer.

    Kzel ht vnek kellett eltelnie, mire az els szles krben hasznlt vltozat a Windows 3.1 1992

    mrciusban megjelent. Ez a 16-bites opercis rendszer lehetv tette a multitasking alkalmazst egy

    olyan krnyezetben, ahol a felhasznlk nem voltak ehhez hozzszokva. Virtulis eszkzkezelket

    tartalmazott, amelyek megoszthatk voltak MS-DOS alkalmazsok kztt. Vdett zemmdjnak

    (protected mode) ksznheten kpes volt tbb megabjt memria megcmzsre abban az idben az

    8086 processzorcsaldba tartoz chipek csak 640 kilobjtot engedlyeztek alap zemmdban virtulis

    memriakezel szoftver nlkl. Az ebben az idben szmtgpekkel foglalkoz felhasznlk jl

    emlkezhetnek az opercis rendszer indul kpernyjre, ahogyan az 1-1 brn is lthat.

    1-1 bra: A Windows 3.1 indul kpernyje

    Az 1995 augusztusban kibocstott Windows 95 egy valdi 32-bites opercis rendszer volt, amely a

    preemptive multitasking mkdst is tmogatta vagyis az opercis rendszer kpes volt egy

    alkalmazstl elvenni a vezrlst annak aktv kzremkdse nlkl. A Windows 95 mr nem egy MS-DOS-

  • 1. A Windows alkalmazsfejleszts rvid trtnete

    16

    ra pl kiegszts volt, hanem valban egy minden szksges funkcionalitssal br opercis rendszer

    mg akkor is, ha ezt a tnyt sokan, hossz ideig vitattk. A Windows XP 2001-es megjelensig ezt mg

    nhny vltozat (Windows 98, Windows ME) megelzte.

    A Windows XP (szles krben ismertt vlt logja az 1-2 brn lthat) az opercis rendszer csald

    legnpszerbb vltozata volt a teleptsek szma alapjn. Furcsa, de sikert nem annyira az jszer

    felhasznli lmnynek az XP az lmny (experience) szbl jn vagy az olyan innovciknak, mint a

    GDI+ grafikus alrendszer, a ClearType megjelents s a 64-bites tmogats ksznhette. A legfbb oka

    annak, hogy az XP sikeres lett, az utdjhoz, a Windows Visthoz kapcsolhat.

    1-2 bra: A Windows XP logja

    A 2006 novemberben megjelent Windows Vista j dizjnelemeket s jelentsen megerstett biztonsgi

    kpessgeket kapott ez utbbi ers kontrasztot jelentett a Windows XP-vel szemben, ahol hrom

    szervizcsomagra is szksg volt a biztonsgi rsek betmshez. Ez elegend lehetett volna, hogy az

    eldjnl nagyobb npszersgnek rvendjen, de ezekrt a kpessgekrt cserbe a Vistnak fejlettebb,

    nagyobb teljestmny hardverre volt szksge. A legtbb nagyvllalat az IT kltsgvetsnek jelents

    rszt ekkorra mr elklttte az XP stabilizlsra a Windows XP Service Pack 3 (SP3) utn , s nem

    tallta sszernek a Vistra val tllst. A Vista rvid id alatt az opercis rendszer csald legrvidebb

    let tagjv vlt.

    Ahogyan azt Steven Sinofsky, a Microsoft Windows fejlesztsrt felels vezetje nhny alkalommal

    bevallotta, a cg tanult ebbl a leckbl, amikor a Windows 7 tervezshez hozzkezdtek. A Windows 7

    2009 jliusban jelent meg, kt vvel s nyolc hnappal a Windows Vista utn. Az j opercis rendszer

    jelents teljestmnyjavulst mutatott a Windows XP-hez s a Visthoz kpest gyorsabb indulst s

    lellst, jobb feladattemezst a tbbmagos processzorokon s gy tovbb. A felhasznli lmny is

    rengeteget fejldtt, olyan j kpessgek jelentek meg, mint pldul a felugr listk, az Aero Peek s Aero

    Snap technikk, valamint rengeteg apr dolog, amely egyszerbb tette az alkalmazsok s az ablakok

    kztti gyors navigcit.

    A Windows 7 sikeresen tntette el a Vista fiask nyomait. A Windows csapatnak knny lett volna a

    Windows 7 ltal kijellt utat kvetni, azonban k egy sokkal nagyobb kihvst vllaltak fel.

    A Windows 8 paradigmavltsa Br a Windows olyan korban szletett, amikor a szemlyi szmtgpek a mindennapi letnk rszv

    vltak, a Windows mgis olyan opercis rendszer maradt, amely elssorban a vllalatokra s az

    informcival dolgoz munkatrsakra fkuszlt. Az opercis rendszer legtbb funkcija azt akarta

    gyakran megkvetelte , hogy a felhasznlk a rendszerbe bedrtozott munkafolyamatokat kvessk. A

    felhasznlk meg sem tudtak mozdulni anlkl, hogy olyan koncepcikkal kelljen megismerkednik, mint a

    fjlok, mappk, biztonsgi csoportok, jogosultsgok, megosztsok, regisztrcis adatbzis s gy tovbb. Ez

    a megkzelts tkrzte azt a mdot, ahogyan az opercis rendszer tervezi a felhasznlkrl

    gondolkodtak.

    Azoknak az alkalmazsoknak ksznheten, amelyek szpen lassan elkezdtk fellni az opercis rendszer

    erforrsait, rendszeres takartsokra s karbantartsokra volt szksg. Br minden jabb Windows vltozat

    enyhtett ezeken a terheken, azokat teljes egszben eltntetni egyik sem tudta.

  • A Windows 8 paradigmavltsa

    17

    A Microsoft megteszi az els lpseket a fogyasztk fel

    Az Apple felhasznl-centrikus termkei az iPhone s az iPad megmutattk a vilgnak, hogy ltezik

    intuitv egyttmkds is a felhasznlk s a szoftver kztt anlkl, hogy szksg lenne a fjl, knyvtr,

    regisztrcis adatbzis fogalmnak vagy a teleptsi eljrs folyamatnak ismeretre. Hossz ideig gy tnt,

    hogy a Microsoft nem igazn rti meg ezt a megkzeltsi mdot, de a piaci trendek s eladsok arra

    ksztettk a cget, hogy a felhasznl-kzpont eszkzk s opercis rendszerek irnyba forduljon.

    Az els komoly vltozst a Microsoft viselkedsben 2010 februrjnak kzepn lehetett szrevenni,

    amikor a barcelonai Mobile World Congress esemnyen a cg elszr mutatta be a Windows Phone 7-et.

    Ez az opercis rendszer teljes egszben a felhasznli lmnyrl szlt. A Windows 8 vizulis dizjnja,

    egyszersge, a szp s jl eltallt animcik a felhasznli felletet s a kszlk hasznlatt intuitvv

    tettk. A piac rtkelte ezt a vltst, s most, a Windows Phone 7.5 Mango vltozata utn a Microsoft mr

    a harmadik versenyz a mobil opercis rendszerek piacn, egyre kzelebb kerlve az Apple iOS-hez s a

    Google Androidjhoz.

    A Windows opercis rendszer csaldnak mr a Windows Phone 7 eltt volt begyazott eszkzkre sznt vltozata

    (Windows Embedded), illetve mobil telefonokon mkd vltozata (Windows CE, majd Windows Mobile).

    A Windows 8 megjelenik a sznen

    A Windows Phone felhasznl-centrikus megkzeltse a Windows 8 opercis rendszerhez kapcsold

    lmny rsze. Amikor az opercis rendszer elindul a betltsi id jelentsen lecskkent a Windows 7-

    hez kpest az j Windows 8 Start kperny nem is emlkeztet a korbban megjelen asztalra az aljn a

    tlcval. Ehelyett a felhasznl szgletes lapkkkal tallja magt szemben, amelyek egy-egy alkalmazst

    reprezentlnak, amint az az 1-3 brn lthat.

    1-3 bra: A Windows 8 Start kpernyje

    Ez az j arc nyilvnval zenetet kld a fogyasztknak. A Windows nem olyan opercis rendszer, amely

    csak informatikusoknak vagy edzett szmtgp-hasznlknak szl, hanem egyttal egy fogyasztkat

    megclz eszkz, tbbpontos rintssel s tblagpekkel a fejben tervezve. A Start kperny fellete

    nagyon intuitv, s a legtbb ember azonnal birtokba tudja venni hasznlati tmutat nlkl is. Azok a

  • 1. A Windows alkalmazsfejleszts rvid trtnete

    18

    felhasznlk, akik mr tallkoztak rintkpernyvel okostelefonokon vagy tblagpeken, termszetesnek

    rzik a Start kperny hasznlatt, az alkalmazsok indtst, grgetst, nagytst s azoknak a

    gesztusoknak az alkalmazst, amelyeket korbban mr ms eszkzzel megtanultak.

    Azoknak a felhasznlknak, akik a Windows-t zleti alkalmazsok futtatsra (pl. Word, Excel vagy ms az

    adott vllalatra jellemz alkalmazsra) hasznljk, ez a felhasznli fellet paradigmavlts taln ijeszt

    lehet. A Windows 8-at gy terveztk, hogy az teljesen kompatibilis maradjon a mr meglv

    alkalmazsokkal, s gy annak egy asztali zemmdja is van. Amikor egy a Windows korbbi vltozatval

    ksztett alkalmazst indt el a felhasznl vagy egy olyat, amelyik nem a Windows 8 stlus felletet

    hasznlja , az a mr jl ismert asztali zemmdban indul el. Pldul az Excelt elindtva az az 1-4 brn

    lthat mdon jelenik meg.

    1-4 bra: Az Excel a Windows 8 asztali mdjban fut

    Ez a Windows 8 msodik arca, ismers mindenkinek, aki korbban mr hasznlta az opercis rendszert. Ha

    a megszokott Start men lthat lenne, az aktulis dtum s id pedig nem, azt hihetnnk, hogy a

    Windows 7-et hasznljuk.

    Az j Windows 8 Start kperny nemcsak egyszer kiegsztse a Windows 7-nek! E mgtt az egyszer

    kperny mgtt a fogyaszt-kzpont alkalmazsok egy teljesen j vilga, a Windows 8 stlus

    alkalmazsok llnak. Az asztal, a rajta lv ikonok s tglalap alak ablakok helyett a felhasznl

    egyidejleg egyetlen alkalmazst lt, amely a teljes kpernyt birtokolja. Nincsenek az ablakoknak fejlcei,

    lezr gombjai, mretezhet kereteik, st egyetlen ms elemk sem (ezek sszessgt az angol

    terminolgiban chrome nven emltjk), amely a felhasznl figyelmt elvonn az alkalmazs

    tartalmrl. A Weather alkalmazs, amely az 1-5 brn lthat, j pldja ennek.

  • A Windows programozsi felletek s eszkzk rvid trtnete

    19

    1-5 bra: A Weather alkalmazs Windows 8 stlus megjelentse

    Ebben a fejezetben nhny alapvet informcit fogsz megtanulni errl az j felhasznli fellet

    paradigmrl, illetve az ilyen alkalmazsok fejlesztsrl. Mieltt azonban az alkalmazsfejleszts

    mlysgeibe merlnnk, rdemes visszatekinteni a Windows alkalmazsfejleszts trtnetre.

    A Windows programozsi felletek s eszkzk rvid

    trtnete A Windows trtnete igencsak hinyos lett volna a platformon fut alkalmazsok s az ezeket az

    alkalmazsokat kifejleszt programozk nlkl. A Microsoft mindig olyan cg volt, ami ers fejleszti

    kzssget ptett ki termkei krl, belertve a zszlshajt, a Windows-t.

    A fejleszti kzssg fontossgt gyakran hangslyozzk a Microsoft vezeti. Ha az interneten rkeresel Steve

    Ballmer nevre, aligha kerld el azokat a videkat, ahol szenvedlyesen ismtli a developers, developer,

    developers... szavakat tucatnyi alkalommal.

    2012-ben a Windows platform mr 27 ves. Hossz lete sorn nemcsak az opercis rendszer, de az

    alkalmazsok programozsi fellete (API) s a fejleszteszkzk is rengeteget fejldtek. Ebbl a

    nzpontbl a Windows 8 jelenti a legnagyobb ugrst az opercis rendszer trtnetben. Ahhoz hogy ezt

    megrtsk, rdemes visszatekintennk az idben, egszen a Windows alap alkalmazsfejleszts els

    pillanataiig.

    A C programozsi nyelv hatalma

    Br manapsg a Windows alkalmazsok ksztse mindennapos dolog, ez nem volt gy a kezdetekben.

    Abban az idben a fejlesztk MS-DOS programokon nttek fel, s azt tapasztaltk, hogy a Windows furcsa,

    kifordtott mdon mkdik. Amg egy jl viselked MS-DOS alkalmazs sajt maga vezrelt mindent, s

    meghvta az opercis rendszer funkciit, addig a Windows rltsgeket csinlt! Az opercis rendszer

    irnytotta az alkalmazst s hvta annak funkciit, amikor valamire, pldul a kperny frisstsre vagy

    egy parancs vgrehajtsra akarta sztklni azt.

  • 1. A Windows alkalmazsfejleszts rvid trtnete

    20

    s nem ez volt az egyetlen mernylet szegny programozk ellen! A C programozsi nyelvet hasznlva

    akkoriban ez volt a nyelv a legegyszerbb Hello, World alkalmazs nagyon egyszer volt:

    #include

    main()

    {

    printf("Hello, world");

    }

    Ugyanezt az eredmnyt a Windows alatt elrni mr nmi munkt kvnt. Egszen komoly kdot kellett a

    printf utasts kr kerteni, s ezt brminek hvhattuk, de intuitvnak semmi esetre sem, amint azt az 1-1

    kdlista jl mutatja:

    1-1 kdlista: A Hello, World program la Windows 3.1 (kivonat)

    #include

    /* Export the entry point to be called by Windows */

    long FAR PASCAL _export WndProc(HWND, UINT, UINT, LONG)

    /* The entry point of the application */

    int PASCAL WinMain(HANDLE hInstance, HANDLE hPrevInstance,

    LPSTR lpszCmdParam, int nCmdShow)

    {

    static char szApplication[] = "HelloW";

    HWND hwnd;

    MSG msg;

    WNDCLASS wndClass;

    /* Create a Window class */

    if (!hPrevInstance)

    {

    wndClass.Style = CS_HREDRAW | CS_VREDRAW;

    wndClass.lpfnWndProc = WndProc;

    /* A few code lines omitted for the sake of brevity */

    wndClass.hbrBackground = GetStockObject(WHITE_BRUSH);

    wndClass.lpszMenuName = NULL;

    wndClass.lpszClassName = szApplication;

    RegisterClass(&wndClass);

    }

    /* Create a window instance for the class */

    hwnd = CreateWindow(szApplication,

    "My Hello World Program",

    WS_OVERLAPPEDWINDOW,

    /* A few parameters omitted for the sake of brevity */

    hInstance,

    NULL);

    /* Initiate displaying the window */

    ShowWindow(hwnd, nCmdShow);

    UpdateWindow(hwnd);

    /* Manage the message loop */

    while (GetMessage(&msg, NULL, 0, 0))

    {

    TranslateMessage(&msg);

    DispatchMessage(&msg)

    }

    }

  • A Windows programozsi felletek s eszkzk rvid trtnete

    21

    /* Processing messages */

    long FAR PASCAL _export WndProc(HWND hwnd, UINT message,

    UINT wParam, LONG lParam)

    {

    HDC hdc;

    PAINTSTRUCT ps;

    RECT rect;

    switch (message)

    {

    case WM_PAINT:

    hdc = BeginPaint(hwnd, &ps);

    GetClientRect(hwnd, &rect);

    DrawText(hdc, "Hello, world", -1, &rect,

    DT_SINGLELINE | DT_CENTER | DT_VCENTER);

    EndPaint(hwnd, &pd);

    return 0;

    case WM_DESTROY:

    PostQuitMessage(0);

    return 0

    }

    return DefWindowProc(hwnd, message, wParam, lParam);

    }

    Ez a program rengeteg kdsorbl ll, mert egy alacsony szint szolgltatsokat knl API-t hasznl. Br a

    kd hossz, fontos bels Windows rszleteket fed fel. Ezek mg a Windows 8-ban is megtallhatk, de

    termszetesen mr tovbbfejlesztett formban:

    A program a legelejn egy n. window class-t hoz ltre a wndClass struktra mezinek feltltsvel

    s a RegisterClass metdus hvsval. A windows class egy olyan eljrst (window procedure)

    azonost, amely egy adott ablakhoz kldtt zeneteket dolgoz fel.

    A program a CreateWindow metdus segtsgvel ltrehoz egy ablakot a regisztrlt window class

    hasznlatval, majd megjelenti azt a ShowWindow hvsval. Az UpdateWindow metdus egy

    zenetet kld az ablaknak, hogy frisstse a felhasznli fellett.

    Az alkalmazs lelke az n. zenethurok (message loop):

    while (GetMessage(&msg, NULL, 0, 0))

    {

    TranslateMessage(&msg);

    DispatchMessage(&msg)

    }

    Ez hozzjut az zenetsorban lv zenethez, a billentykdokat a megfelel zenetekre fordtja le

    (pl. gy, mintha egeret hasznlnnk), majd azokat a megfelel window procedure-hz juttatja el.

    Ha az zenethurok az alkalmazs lelke, akkor a window procedure a szve. Az 1-1 kdlistban a

    WndProc eljrst az zenethurok hvja. A message paramter az zenet kdjt tartalmazza, s a

    switch utasts veszi krbe az egyes zenetek feldolgozshoz szksges kdot.

    A WM_PAINT zenet mondja meg az ablaknak, hogy frisstse a sajt fellett. A BeginPaint

    eljrssal egy n. eszkz-kontextust kr, hogy jra tudja az ablak fellett rajzolni. Ez a kontextus

    rja ki az ablak kzepre a Hello, World szveget. A ReleasePaint eljrs elereszti ezt a

    kontextust amely egybknt meglehetsen korltozott erforrs a rendszerben.

    A kd alapjn elkpzelheted, milyen idrabl s fjdalmas volt a Windows alkalmazsfejleszts abban az

    idben amiatt, hogy a fejlesztknek alacsony szint konstrukcikat kellett a Windows API-n keresztl

    hasznlniuk.

  • 1. A Windows alkalmazsfejleszts rvid trtnete

    22

    A C++ tveszi a C helyt

    1983-ban, mindssze nhny vvel azutn, hogy Brian Kernigham s Dennis Ritchie a C nyelv els

    vltozatt publiklta (1978-ban), Bjarne Stroustrup j nyelvet alkotott, amely objektum-orientlt

    szemlletet adott a C nyelvhez. Ez a C++ nyelv volt, amely hamarosan a Windows platformon is npszer

    lett.

    A C++ lehetv teszi, hogy az egybetartoz adatokat s mveleteket egy osztlyba zrjuk, tmogatja az

    rkldst s a polimorfizmust. A Windows lapos API-ja ezekkel a kpessgekkel entitsok kisebb

    halmazaival reprezentlhat, amelyek az API sszetartoz mveleteit s adatstruktrit egy logikai

    kontextusba zrjk. Pldul minden olyan mvelet, amely ablakok ltrehozshoz, megjelentshez,

    kezelshez tartozik, betehet egy Window nev osztlyba.

    A C++ megkzeltsi mdja segtette a fejlesztket abban, hogy jobban ttekinthessk a Windows API-t s

    knnyebb legyen a Windows fejlesztshez hozzkezdenik. Pldul,a Hello, World program 1-1

    kdlistban lert vltozatnak lnyegi rsze objektumok kr szervezhet, amint azt az 1-2 kdlista is

    mutatja.

    1-2 kdlista: A Hello, World program vza a C++ programozsi nyelvben (kivonat)

    // --- Class representing the main program

    class Main

    {

    public:

    static HINSTANCE hInstance;

    static HINSTANCE hPrevInstance;

    static int nCmdShow;

    static int MessageLoop( void );

    };

    // --- Class representing a window

    class Window

    {

    protected:

    HWND hWnd;

    public:

    HWND GetHandle( void ) { return hWnd; }

    BOOL Show( int nCmdShow ) { return ShowWindow( hWnd, nCmdShow ); }

    void Update( void ) { UpdateWindow( hWnd ); }

    virtual LRESULT WndProc( UINT iMessage, WPARAM wParam, LPARAM lParam ) = 0;

    };

    // --- The class representing this programs main window

    class MainWindow : public Window

    {

    // --- Implementation omitted for brevity

    };

    // --- Extract from the implementation of the Main class

    int Main::MessageLoop( void )

    {

    MSG msg;

    while( GetMessage( (LPMSG) &msg, NULL, 0, 0 ) )

    {

    TranslateMessage( &msg );

    DispatchMessage( &msg );

    }

    return msg.wParam;

    }

  • A Windows programozsi felletek s eszkzk rvid trtnete

    23

    LRESULT MainWindow::WndProc( UINT iMessage, WPARAM wParam, LPARAM lParam )

    {

    switch (iMessage)

    {

    case WM_CREATE:

    break;

    case WM_PAINT:

    Paint();

    break;

    case WM_DESTROY:

    PostQuitMessage( 0 );

    break;

    default:

    return DefWindowProc( hWnd, iMessage, wParam, lParam );

    }

    return 0;

    }

    A C++ ltal knlt objektum-orientlt megkzeltsben az objektumok jrahasznosthat kd-knyvtrokba

    voltak csomagolhatk. A fejlesztk ezekre a knyvtrakra pthettk programjaikat, pusztn azokat az

    objektum-viselkedseket definilva, amelyek klnbztek a beptettektl. Pldul, az 1-2 kdlistban csak

    a Paint metdust kellett felldefinilni sajt ablakaik felhasznli felletnek kirajzolshoz.

    A Windows programozsa rengeteget vltozott a C++ s az objektumknyvtrak hasznlatval. A

    Microsoft kt knyvtrat is ksztett, az MFC-t (Microsoft Foundation Classes) s az ATL-t (Active Template

    Library), amelyek a mai napig ott tallhatk a cg kiemelked fejleszteszkzben, a Visual Studiban.

    A Visual Basic

    A C vagy C++ nyelveken rt alkalmazsok rengeteg bels rszletet trnak fel a Windows mkdsvel

    kapcsolatosan. Nhny esetben fontos ezeknek a dolgoknak az ismerete, de a legtbbszr ez inkbb

    zavar, s eltereli a programozk figyelmt az alkalmazs valdi funkcionalitsrl.

    Az 1991 mjusban kibocstott Visual Basic drasztikusan megvltoztatta ezt a programozsi stlust. A bels

    Windows rszletek feltrsa helyett a Visual Basic elrejtette azokat, s magas szint programozsi

    konstrukcikat, pldul vezrlket, rlapokat, modulokat, osztlyokat s kdfjlokat knlt. Ahelyett, hogy

    tucatnyi kdsort kellett volna lerni egyszer funkcionalits megvalstshoz, a Visual Basic lehetv tette,

    hogy a fejlesztk alkalmazsaik valdi, zletileg hasznos funkciira fkuszlhassanak. A Hello, World

    programot egyetlen kdsorban le lehetett rni:

    MsgBox("Hello, World!")

    Semmi window class, semmi regisztrci, semmilyen zenethurok programozs! A nyelv magas szint

    konstrukcii teljesen szksgtelenn tettk az alacsony szint rszletekkel foglalkozst, azok a Visual Basic

    Runtime-ban kaptak helyet.

    Az alkalmazsfejlesztsnek ez a mdja grafikus felhasznli fellet (IDE Integrated Development

    Environment) hasznlata ma is a legkedveltebb s a leghatkonyabb. A fejlesztk grafikusan tervezik az

    alkalmazsok rlapjait s dialgusait az eszkzkszletrl kivlasztott vezrlk tervezfelletre hzsval.

    Minden egyes vezrl nhny esemnykezelvel rendelkezik, amelyek a krnyezetbl rkez esemnyeket

    dolgozzk fel, pldul azt, ha a felhasznl kivlaszt egy elemet egy legrdl listban. A programozs

    nem ms, mint az esemnykezelk kdjnak megrsa.

    1993-ban a Microsoft kidolgozott egy binris szabvnyt, a COM-ot (Component Object Model), amely

    lehetv tette ms alkalmazsokban is jrahasznosthat objektumok ltrehozst. Tbb olyan technolgia

    is plt a COM-ra pldul az OLE (Object Linking and Embedding) , amely lehetv tette az

    alkalmazsok automatizlst. Az 1993 utn kibocstott Visual Basic vltozatok a COM s OLE

    kpessgeket szem eltt tartva kerltek kifejlesztsre. Ez a megkzeltsmd olyan sikeres volt, hogy a

    nyelv egy dialektusa, a VBA (Visual Basic for Applications) a Microsoft Office makrk programozsi nyelvv

    vlt.

  • 1. A Windows alkalmazsfejleszts rvid trtnete

    24

    A Delphi

    Nem a Visual Basic volt az egyetlen fejleszti krnyezet, amely letrt a C/C++ ltal jrt trl. A Delphi, amit

    eredetileg a Borland cg fejlesztett ki, az Object Pascal programozsi nyelvet hasznlta. Amg a Visual Basic

    egy objektumalap nyelv volt lehetv tette objektumosztlyok ltrehozst begyazott adatokkal s

    mveletekkel, de nem tmogatta az rkldst s a polimorfizmust , az Object Pascal valdi objektum-

    orientlt nyelv volt. A Delphi grafikus fellete az els vltozatt 1995-ben bocstottk ki nagyon

    hasonltott a Visual Basic fellethez. A Delphit olyan RAD (Rapid Application Development) eszkznek

    terveztk, amely adatbzis alap alkalmazsok fejlesztst tmogatja, az egyszerbbektl egszen a

    nagyvllalati alkalmazsokig.

    A termk nagyon gyorsan fejldtt, az els t vben t vltozatot bocstottak ki. A Delphi volt az els

    fejleszteszkz a Windows platformon, amely 32-bites alkalmazsokat tudott fordtani. A Visual Basic

    vezrlihez hasonlan szznl is tbb vizulis komponenst tartalmazott (ezek alkottk a Delphi Visual

    Component Library gyjtemnyt), amelyeket a fejlesztk azonnal hasznlatba vehettek. Mindezek mellett

    a fejlesztk ltrehozhattk sajt komponenseiket, s a meglv gyjtemnyhez adhattk azokat.

    A .NET felbukkansa

    2002-ben a .NET keretrendszer j lendletet adott a Windows alkalmazsfejlesztsnek. A .NET programok

    egy kzbens nyelvre (MSIL, Microsoft Intermediate Language) fordulnak, s ez a kzbens kd kerl

    talaktsra a CPU-n futtathat gpi kdra futsidben az n. JIT (Just-In-Time) fordt segtsgvel. Ez az

    j megkzeltsi md j nhny fontos paradigmt hozott a Windows alkalmazsfejlesztsbe, amint azt a

    kvetkez lista a teljessg ignye nlkl bemutatja:

    A .NET eltt minden egyes nyelv (s fejleszti krnyezet is) a sajt futsidej knyvtrt hasznlta.

    Egy j nyelv megtanulsa egy j futsidej knyvtr megtanulst is jelentette. A .NET-ben minden

    nyelv ugyanazt a kzs futsidej knyvtrat hasznlja, szval az abban lv tuds minden .NET

    nyelvben felhasznlhat. Br 2002-ben mg csak kt programozsi nyelvet tmogatott a Microsoft

    (ezek a C# s a Visual Basic.NET voltak), ma mr ezeknek a nyelveknek a szma 100 felett jr. A

    Microsoft sajt maga az F# nyelvet adta mg ehhez a listhoz, s szintn tmogatja a sajt

    kzssge ltal kifejlesztett IronRuby s IronPython nyelveket is.

    A futsidej krnyezet kezeli a memriafoglalsokat s az objektumok megszntetst is az n.

    szemtgyjt (garbage collection) mechanizmus segtsgvel. Ez egyarnt segt a hatkonyabb

    kdrsban s a kevesebb hibt tartalmaz programrszek ksztsben, mivel a mechanizmus

    jelentsen cskkenti annak az eslyt, hogy a program memrialket tartalmaz.

    Az alacsony szint programozsi felletek helyett a fejlesztk olyan objektumokkal dolgozhatnak,

    amelyek elfedik a mgttk lv API-k bonyolultsgt. Ahelyett, hogy a fejlesztknek minden

    apr-csepr mgttes Windows rszlettel foglalkozniuk kellene, magasabb szint absztrakcikat

    hasznlhatnak, amelyekkel termelkenyebbek lesznek.

    A .NET magas szint egyttmkdst knl a COM s .NET objektumok kztt. A .NET kd nemcsak

    elrni tudja a COM objektumokat, de olyan objektumokat is kszteni lehet vele, amelyeket a COM

    vilg tud fogyasztani.

    A .NET-et felgyelt krnyezetnek nevezzk, a programozsi nyelveit pedig felgyelt nyelveknek

    megklnbztetve ket a natv programozsi nyelvektl, mint pldul a C, Object Pascal (Delphi) s a C++,

    amelyek kzvetlenl CPU-specifikus utastsokra fordulnak.

    Nem a .NET volt az els felgyelt kd futsidej krnyezet. Ez a cmke a Java nyelvet illeti, amelyet a Sun

    Microsystems 1995-ben jelentett be. A .NET a Microsoft vlasza volt a Java jelensgre, s sok kpessgt a Sun Java

    implementcija inspirlta.

    Nemcsak a nyelv, de a vele prban kibocstott Visual Studio fejleszteszkz is jelents szerepet jtszott a

    .NET sikerben. A Visual Studio kb. egy tucatnyi projektsablonnal rkezett, amelyek gyors indulsi

    lehetsget biztostottak a Windows alkalmazsfejlesztshez. Ma a Visual Studio Ultimate vltozata mr

    szznl is tbb projektsablont tartalmaz.

  • A Windows programozsi felletek s eszkzk rvid trtnete

    25

    A Visual Studio projektsablonok jelents hatkonysggal brnak. Pldul az 1-6 brn lthat alkalmazs

    nhny kattintssal sszerakhat a Windows Forms Application sablon segtsgvel.

    1-6 bra: Egyszer Windows Forms alkalmazs a Visual Studival ltrehozva

    A Visual Studio eszkzeinek a hasznlatval knnyen kialakthatod az 1-6 brn lthat alkalmazst. Az

    egyetlen kdrszlet, amit kzzel kell az alkalmazshoz adni az 1-3 kdlistban flkvr betkkel kiemelt

    rszlet.

    1-3 kdlista: Az 1-6 bra kpernyje mgtt lv kd

    using System;

    using System.Windows.Forms;

    namespace HelloWorldWinForms

    {

    public partial class Form1 : Form

    {

    public Form1()

    {

    InitializeComponent();

    }

    private void button1_Click(object sender, EventArgs e)

    {

    label1.Text = "Hello from Windows Forms!";

    }

    }

    }

    Br a .NET gazdag objektumknyvtrakkal s nagyszer eszkzkkel volt felszerelve, az als rtegei mg

    mindig olyan programozsi felleteket hasznltak, amelyek az els Windows vltozatok tervezsekor jttek

    ltre. Ez olyan volt, mintha egy mai Lamborghinit egy az 1960-as vekbl val motorral hasznlnnk.

    Az j felhasznli fellet technolgik

    Hossz ideig a Windows felhasznli fellett a GDI (Graphics Device Interface) API kezelte, amely a

    Windows XP kibocstsakor a GDI+ technolgira vltozott. A GDI s a GDI+ is raszter-bzis technolgik

    voltak, s minden alapvet Windows vezrl ezeket hasznlta sajt megjelentshez. Ha egy fejleszt meg

    szerette volna vltoztatni a vezrlk vizulis megjelenst, az egyetlen lehetsge annak a Windows

    esemnynek a fellrsa volt, amelyik a vezrl elemeinek kirajzolsrl gondoskodott.

    A .NET 3.0-ban bevezetett WPF (Windows Presentation Foundation) grafikus alrendszer (ez ksbb a

    Windows Vista beptett komponense is lett) teljesen talaktotta a GDI paradigmt. A felhasznli fellet

    imperatv megvalstsa helyett vagyis egy adott programozsi nyelven lert utastssorozat helyett a

    WPF a XAML nyelvet, az XML egy leszrmazottjt hasznlja a fellet elemeinek s viselkedsnek lersra.

    A WFP a GPU (Graphics Processing Unit) nagyszer hardveres gyorstsi kpessgeit is kihasznlja.

  • 1. A Windows alkalmazsfejleszts rvid trtnete

    26

    A Silverlight, a Microsoft gazdag webes lmnyt biztost keretrendszere is a XAML-t hasznlja a

    felhasznli fellet lersra. Az 1-4 kdlista egy nagyon egyszer XAML mintapldt mutat, amely a Hello,

    World alkalmazst valstja meg Silverlightban.

    1-4 kdlista: A Hello, World lersa XAML-ben (Silverlight)

    Hello from Silverlight

    Ez a kd az 1-7 brn lthat megjelenst hozza ltre. Az brn megjelen szveget az 1-4 kdlistban

    flkvr bettpussal kiemelt rszlet jelenti meg.

    1-7 bra: Az 1-4 kdlista eredmnye

    A WPF s a Silverlight nagyszer technolgik! Ezeket hasznlni olyan, mintha az 1960-as vekbl

    szrmaz Lamborghini motort (GDI/GDI+ technolgia) lecserlnnk egy modernre (WPF/Silverlight)! Ezek a

    technolgik nemcsak a fellet megjelenst, de annak dinamikus viselkedst is definiljk az esetek

    jelents rszben kd nlkl vagy minimlis kddal , s sszekapcsoljk a felletet az alkalmazs logikai

    rszvel (modell) is. A tejessg ignye nlkl, itt egy lista ezek legfontosabb jellemzirl:

    A WPF s Silverlight technolgik gy lettek kialaktva, hogy elsrend felhasznli lmnyt

    knljanak asztali s webes alkalmazsokban egyarnt. Az egyszer felhasznli elemek, mint

    pldul szvegdobozok, nyomgombok, lenyl listk, kpek stb. mellett teljes szabadsgot adnak

    animcival s mdiaelemekkel elltott tartalom ltrehozshoz. A hagyomnyos akr

    unalmasnak is mondhat szgletes felleti elemekkel szemben a WPF s Silverlight lehetv

    teszi, hogy az alkalmazsod teljes fellett lecserld.

    Ezek a technolgik rugalmas elrendezst knlnak, amely lehetv teszi, hogy a fellet

    automatikusan olyan tnyezkhz alkalmazkodhasson, mint pldul a kperny mrete,

    felbontsa, a megjelentett elemek szma, mrete, belltott nagyts stb.

    A stlusok s sablonok olyan kpessgek, amelyek a szoros egyttmkdst teszik lehetv a

    fejlesztk s a dizjnerek kztt. A fejlesztk az alkalmazs logikjval foglalkoznak, s a

    felhasznli fellet vizulis tulajdonsgait sohasem lltjk kzvetlenl. Ehelyett jelzik, ha a

    felhasznli fellet llapota megvltozik. A dizjnerek hozzk ltre a fellet megjelentst,

    figyelembe vve annak lehetsges llapotait.

    A Silverlight s a WPF adatktst hasznl ez olyan technolgia, amely deklaratv mdon kapcsolja

    ssze a fellet elemeit az alkalmazs adataival, illetve ms felleti elemekkel. Az adatkts

    egyttmkdik a stlusokkal, sablonokkal, st mg az animcikkal is. Ez a mechanizmus klnsen

    hasznos zleti alkalmazsok ltrehozsnl. Az adatkts segtsgvel az adatbzisbl rkez s a

    logikai rteg ltal feldolgozott informcik kzvetlenl a felhasznli fellet elemeihez kthetk,

    kd rsa nlkl.

  • A Windows alkalmazsfejleszts 22-es csapdja

    27

    A WPF s Silverlight legnagyobb ernye valsznleg az a tny, hogy lehetv teszi a felhasznli fellethez

    tartoz feladatok sztvlasztst a fejlesztkhz, illetve a dizjnerekhez tartozkra. A mai fogyaszt-

    kzpont alkalmazsok ksztsnl ez nyilvnval elny azokhoz a megkzeltsi mdokhoz kpest, ahol

    a fejlesztk s a dizjnerek feladatai keverednek.

    A Windows alkalmazsfejleszts 22-es csapdja A Windows alkalmazsfejleszts evolcija sorn a technolgik s technikk elgaztak. Az egyik g a natv

    alkalmazsfejleszts, amely a C programozsi nyelvvel indult a Windows korai napjaiban. A msik g

    felgyelt kd alap fejleszts, amely a .NET keretrendszert hasznlja a kapcsold nyelvekkel s

    technolgikkal egytt.

    A CPU-specifikus utastsokra val fordtsnak s a Windows API-hoz, valamint a rendszer erforrsaihoz

    val alacsony szint hozzfrsnek ksznheten a natv alkalmazsok olyan j teljestmnyt mutatnak,

    amelyet nem gyrhetnek le a felgyelt kdot hasznl alkalmazsok. Azonban ha zleti alkalmazsok

    rsrl van sz, a natv kd kevsb termelkeny, s sokkal munkaignyesebb a hasznlata, mint a .NET

    keretrendszerben hasznlt felgyelt kd. Mivel az zleti alkalmazsok ltalban adatbzisokkal dolgoznak,

    a felgyelt kdhoz tartoz alacsonyabb teljestmny nem rzkelhet, mert az alkalmazs jelents rszt a

    szolgltatsrteg s az adatbzis kztti kommunikcival tlti.

    Yossarian, a bombz piltja rezhette magt hasonl helyzetben Joseph Heller regnyben, A 22-es

    csapdjban, mint manapsg a Windows fejlesztk, amikor egy adott alkalmazshoz a megfelel

    technolgit igyekeznek kivlasztani.

    Rengeteg esetben, kifejezetten az asztali alkalmazsok ksztsnl nincs igazbl optimlis vlaszts a

    natv s a felgyelt kd kztt. Br a WPF s a Silverlight nagyszer technolgik ltvnyos alkalmazsok

    ksztshez, nem rhetk el egyszeren natv kdbl. A WPF s a Silverlight nincs elg mlyen az

    opercis rendszerbe gyazva. Pldul amikor egy WPF alkalmazst elindtunk, idbe telik, amg a WPF

    alrendszer betltdik a memriba. Rengeteg esetben, amikor szmtsi kapacitsra van szksg, a .NET

    gyengbb eredmnyt produkl, mint a natv kd.

    A Visual Studio nagyszer pldja ennek a tudathasadsos helyzetnek. Vegyes kdbzist hasznl, a legtbb

    komponens C++-ban kszlt, bizonyos rszek pedig C#-ban, WPF-et hasznlva. Az indulkpernynek

    azonnal meg kell jelennie, amint a felhasznl elindtotta az alkalmazst, ez C++-t hasznl GDI+-szal, mert

    a WPF nem volna ehhez elegenden gyors. A Visual Studio kdszerkesztje WPF-et hasznl, mert az

    megfelelen gazdag kpessgeket s eszkzkszletet knl ilyen sszetett komponens befogadsra

    nagyszer felhasznli fellet biztostsa mellett.

    zleti alkalmazsok fejlesztse sorn a termelkenysg az egyik legfontosabb tnyez. A natv

    alkalmazsok teljestmnyelnye nem ad vals rtket ezekhez, mert az esetek tbbsgben az adatbzis

    rteg jelenti a szk keresztmetszetet. Felgyelt kd hasznlatval az zleti alkalmazsok programozsi

    fzisa ltalban sokkal gyorsabb s hibktl mentesebb.

    Asztali alkalmazsok ksztsnl a natv kd optimlis teljestmnyt biztost, de ebben az esetben nincs

    lehetsged a WPF vagy Silverlight hasznlatra. Ha felgyelt kdra trsz t, javul a hatkonysgod, de

    vesztesz az alkalmazs vgs teljestmnybl. Vgs elkeseredsedben szvr megoldst is vlaszthatsz

    ahogyan azt a Visual Studio is teszi , de ez rengeteg egyb feladatot is jelent. Nem knny dnteni, igaz?

    A Windows 8-cal ez a helyzet teljesen megvltozik. Webfejlesztk HTML5/CSS3/JavaScript tapasztalattal,

    edzett C++ programozk s .NET-en felntt fejlesztk mindannyian azt rezhetik, hogy tudsuk elegend

    a Windows 8 stlus alkalmazsok fejlesztshez. Nincs kitntetett fejleszti tbor, mint pldul a C

    programozk volt a Windows-korszak elejn. Mindenki ugyanazokat az eszkzket s technolgikat

    hasznlhatja kompromisszumok nlkl.

  • 1. A Windows alkalmazsfejleszts rvid trtnete

    28

    sszegzs A Windows platform elkpeszt fejldsen ment t lettjnak elmlt 27 vben. Egyszer MS-DOS

    kiegsztsbl komplex s minden kpessggel br opercis rendszerr vlt, amely a vilg szemlyi

    szmtgpeinek jelents rszn fut. A Windows-t informcival dolgoz, illetve tapasztalt szmtgp-

    felhasznlkkal a fejben terveztk. Br minden egyes jabb verzi egyre kzelebb s kzelebb kerlt a

    kevesebb tudssal rendelkez felhasznlkhoz, soha nem vlt az olyan egyszer fogyaszti eszkzk

    opercis rendszerv, mint pldul az Apple iPhone-ja vagy iPadje.

    A Windows 8 megvltoztatja ezt a helyzetet. A felhasznli szmra mr ismert hagyomnyos asztali

    zemmd mellett az opercis rendszernek j megjelenst biztostanak a Windows 8 stlus alkalmazsok,

    amelyek intuitv felhasznli lmnyt biztostanak. Ezeknl az alkalmazs a teljes kpernyt, s gy a

    felhasznl teljes figyelmt is birtokolja.

    Nemcsak az opercis rendszer, de a fejleszteszkzk s a programozsi fellet is rengeteget vltozott.

    Amg a kezdetekben csak a C s C++ programozk kivltsga volt a Windows alkalmazsok ksztse,

    addig ma mr a C++, Visual Basic, C# s Delphi fejlesztk is rhatnak alkalmazsokat kedvenc eszkzeikkel.

    A kivlasztott programozsi nyelv s eszkz fggvnyben a fejlesztk klnbz API-k s technolgik

    kzl vlaszthatnak. Amg a natv nyelvek (C, C++ s Delphi) CPU-specifikus kdot fordtanak s jobb

    teljestmnyt knlnak, a felgyelt kd nagyobb termelkenysget biztost az zleti alkalmazsoknl, illetve

    azok hasznlatba vehetik a modern felhasznli fellet technolgikat, a WPF-et s a Silverlightot.

    A Windows 8 stlus alkalmazsok ugyanazt az API-t knljk a natv s a felgyelt kd alkalmazsok

    szmra egyarnt. St, ez az API elrhet a HTML5/CSS3/JavaScript fejlesztk szmra is!

    A Windows 8 nemcsak a felhasznli felletet cserli le, de azt a mdot is, ahogyan azt hasznljuk. A

    hagyomnyos beviteli eszkzk mellett, mint pldul a billentyzet s az egr, els osztly lmnyt knl

    az opercis rendszerrel s a Windows 8 alkalmazsokkal val kapcsolattartsra tbbpontos rintssel,

    rplcval, illetve giroszkpon vagy gyorsulsrzkeln keresztl.

  • 29

    2. Bevezets a Windows 8

    hasznlatba

    Ebben a fejezetben az albbi tmkat ismerheted meg:

    Mirt gondolta jra a Microsoft a Windows fellett, s mirt hasznos ez?

    Hogyan hasznlhatod hatkonyan az j felleti elemeket s a Windows Store alkalmazsokat?

    Hogyan futtathatsz tradicionlis asztali alkalmazsokat Windows 8-on, s ezek hogyan

    viszonyulnak az jfajta alkalmazsokhoz?

    A Windows 8 az els olyan opercis rendszer, melynek egyik f clja, hogy kt teljesen klnbz vilgot

    kssn ssze: a hagyomnyos asztali szmtgpek s laptopok lassan fl vszzada ismert, fejld vilgt,

    valamint az elbbitl eddig teljesen elklnl, mg gyerekcipben jr tblagpek (tabletek) mkdst,

    energiatakarkossgt s alkalmazsmodelljt.

    Mindezt pedig gy kvnja nyjtani, hogy a felhasznl ne rezze magt korltozva. Megkapja a

    hagyomnyos Windows opercis rendszerek rugalmassgt, hasznlhat brmilyen korbbi Windowsra rt

    szoftvert, de emellett kihasznlhatja a tblagpekre ksztett opercis rendszerek elnyeit is, mint pldul

    a termszetes felhasznli fellet (Natural User Interface NUI). Vagy megfordtva a dolgot a Windows

    8 teszi elszr lehetv, hogy a felhasznlknak ne kelljen ms-ms opercis rendszereket hasznlniuk

    akkor, ha ppen egy asztali gp eltt lnek vagy egy tblagpet hasznlnak.

    Emellett a Windows 8 j szintre emeli a tblagpek mkdsnek eddig csak mintegy mellktermkeknt

    megjelen alkalmazs-szinergit, vagyis azt, hogy az eszkz igazi kpessgeit nemcsak maguk az

    alkalmazsok adjk, hanem ezek egyttmkdse is. Ez az els olyan asztali gpekre is telepthet

    opercis rendszer, melyet eleve gy alaktottak ki, hogy az egyes alkalmazsok termszetes, a rendszerbe

    s a felhasznli lmnybe illeszked mdon mkdhessenek egytt.

    Kt cl, kt fellet, egy opercis rendszer A hagyomnyos asztali szmtgpek ltalnosan elterjedt adatbeviteli eszkzeit senkinek sem kell

    bemutatni. vtizedek ta billentyzetet s egeret hasznlunk erre a feladatra. Ezek az eszkzk nagyon

    lassan vltoztak csak, hiszen tkletesen szolgljk feladatukat.

    Az elmlt vekben azonban a hardverek mrete s fogyasztsa (s ra) elrte azt a pontot, amikor

    megjelenhettek jfajta, a korbbi hordozhat szmtgpektl fggetlen kategrit kpvisel cleszkzk,

    a slate-ek, illetve elterjedtebb nevkn tabletek, tblagpek. Ezek olyan cleszkzk, melyek tervezsnl

    elsdleges szempont volt, hogy kzben tarthatak knnyek, vkonyak legyenek, illetve ennek

    ksznheten ne legyen szksg extra hardverre a vezrlshez, vagyis a felhasznl kzvetlenebb,

    termszetesebb mdon manipullhassa a kpernyn lv objektumokat.

    Az rintsre optimalizlt opercis rendszer azonban jval tbbet jelent, mint hogy a kperny rintsre

    rzkeny. A felhasznli felletet eleve gy kell kialaktani, hogy azt a felhasznl az ujjaival knnyedn

    kezelhesse. Pldul az ikonoknak, menpontoknak elg nagyoknak kell lennik. Emellett nemcsak az egr

    funkcijnak kivltsa a cl, hanem az, hogy a fellet ptsen a termszetes interakci elnyeire. Erre

    szolglnak a tbbrintses tmogatsnl kihasznlhat ujjmozdulatok (gestures), mint pldul a kt ujjal

    trtn nagyts vagy elforgats.

    Adott teht kt vilg, kt fellettel. Az egyik oldalon a megszokott, hatkony tartalom-ltrehozsra

    kihegyezett egrkzpont irnyts, a msik oldalon a tartalomfogyasztsra alkalmas termszetes

    felhasznli fellet.

  • 2. Bevezets a Windows 8 hasznlatba

    30

    A Windows 8 szakt azzal a megoldssal, hogy egy opercis rendszer csak az egyik fajta fellettel

    rendelkezhet, ezzel mintegy elre megszabva, mire lehet knyelmesen hasznlni! Egy csomagban kapjuk

    meg a hagyomnyos asztalos-ablakos felletet annak minden elnyvel, illetve az j stlus, ltvnyos

    Windows 8 felletet, mely ugyanolyan knnyen hasznlhat egrrel, mint az ujjainkkal.

    Adatbevitel Windows 8-on

    A Windows 8 hasznlata rintsvezrlssel

    A termszetes felhasznli fellet ltalban intuitv mdon tanulhat. Elg keznkbe venni egy Windows 8-

    cal rkez tblagpet, s egyszeren megrzseinkre hagyatkozva nhny perc alatt megtanulhatjuk az j

    Start kperny s a Windows Store alkalmazsainak alapvet hasznlatt. Vannak azonban elsre taln

    rejtettebb kpessgek, amelyeket a hatkony hasznlat rdekben nem rt ismernnk. Ezeket ltalban

    valamilyen specilisabb ujjmozdulattal hvhatjuk el. Az albbiakban a Windows 8-on hasznlhat

    ujjmozdulatokat tekintjk t rviden, egyelre elmletben, megknnytend a fejezet ksbbi rszeinek

    rtelmezst.

    rints (Tap): Egy objektum egyszeri, rvid megrintse.

    Nyomva tarts (Press and Hold): Egy objektum megrintse utn az ujj kpernyn tartsa

    krlbell egy msodpercig.

    Elhzs (Slide): Egy lista vagy egyb kpernyrl kilg objektum lthat rsznek mdostsa egy

    ujj kpernyn trtn elhzsval.

    Lehzs (Swipe): Egy objektum kijellse az objektum megrintse utn az ujj lefel hzsval.

    Csps (Pinch): Kp vagy egyb objektum kicsinytse, nagytsa (semantic zoom) kt ujjnak az

    rintkpernyn val kzeltsvel vagy tvoltsval.

    Forgats (Rotate): Kp vagy egyb objektum forgatsa kt ujjnak az rintkpernyn val

    forgatsval.

    Szlrl behzs (Swipe from the edge): Egy ujjnak a kperny szlrl val behzsa. Jellemzen

    kapcsold lehetsgeket (pl. AppBar) vagy rendszerszint lehetsgeket (pl. Charm bar) aktivl.

    Egyb adatbeviteli eszkzk Windows 8-on

    Mind felhasznlknt, mind fejlesztknt rdemes figyelembe venni, hogy nemcsak a hagyomnyos

    rtelemben vett interakcis eszkzk (egr, billentyzet, rintkperny) hasznlhatk adatbevitelre,

    hanem a kevsb eltrbe helyezettek is.

    Ilyen pldul az rvessz (stylus), mely a kzrs-felismerssel egytt nagyban megknnytheti a szveges

    adatbevitelt, s ilyenek pldul az rzkelk. A Windows Runtime a Windows 8 programozsi fellete

    rzkelk egsz sorhoz biztost hozzfrst, ha az adott eszkzt ppen ellttk valamelyikkkel:

    gyorsulsmr, giroszkp, magnetomter, krnyezeti fnyrzkel, illetve a helyzet-meghatroz rendszer.

    Egy olyan alkalmazsnl, mely akr tblagpeken is futhat, vagy azt kifejezetten tblagpre fejlesztettk,

    elsdleges szempont lehet, hogy a felhasznl a lehet legknnyebben tudja kezelni az alkalmazst akkor

    is, ha nincs a kzelben hardveres billentyzet s egr. Ugyan az rintkperny kpes tvenni ezek helyt,

    st esetenknt mg knyelmesebb is lehet rajta keresztl vgezni az interakcit, de rdemes kihasznlni

    minden rendszer adta lehetsget arra, hogy mg knnyebb tegyk a felhasznlk dolgt. (gy nagyobb

    valsznsggel kltik a pnzket az alkalmazsunkra.) Elg arra gondolni, hogy pldul mekkora elnyt

    jelent a beptett helyzet-meghatroz rendszer integrlsa az alkalmazsunkba azzal szemben, mintha a

    felhasznlnak magnak kellene megadnia a tartzkodsi cmt.

    A Start kperny s az l csempk Taln a legszembetlbb vltozs s jdonsg a Windows 8 felletvel kapcsolatban, hogy eltnt az

    ikonikus Start men. Bejelentkezskor teljesen j fellet, a 2-1 brn lthat Start kperny (Start Screen)

    fogadja a felhasznlt. Ez a Start men utdnak tekinthet: a korbbi Start men ltal nyjtott

  • A Start kperny s az l csempk

    31

    lehetsgek tovbbra is mind elrhetk lesznek. De a Start kperny nem pusztn teljes kpernyss tett

    Start men, annl sokkal tbbet nyjt!

    2-1 bra: A Start kperny, a bal szls csoportban l csempkkel

    Ahogy korbban is, a Start kpernyre kitzhetjk a leggyakrabban hasznlt programjainkat. Ezek azonban

    nemcsak statikus ikonokknt tudnak megjelenni.

    A Windows Store alkalmazsokhoz gynevezett l csempk (Live Tiles) tartoznak. Ha az alkalmazs

    tmogatja, s nem tiltottuk le, az l csempk folyamatosan informcikat kzlnek velnk a hozzjuk

    tartoz alkalmazssal kapcsolatban. Nincs felttlenl szksg az alkalmazsok megnyitshoz arra, hogy

    rtesljnk a minket rdekl jdonsgokrl, elg, ha l csempjt rgztjk a Start kpernyn. A hrolvas

    alkalmazs csempjn mindig a legfrissebb hr lesz olvashat, az idjrst jelz alkalmazsn a vrhat id,

    a kzssgi hlzatokat kezel alkalmazsn pedig ismerseink legutbbi llapotfrisstsei cserldnek.

    Ilyen mdon a Start kperny nemcsak a gyakran hasznlt alkalmazsok listja lesz, hanem egy szemlyre

    szabott kzponti rsze a Windows nyjtotta felhasznli lmnynek: elg egy pillantst vetni a Start

    kpernyre, s azonnal ttekinthetjk, hogy mi trtnt krlttnk a vilgban, ismerseinkkel, ahogy azt a

    2-1 bra is mutatja. Mindezt egy helyen anlkl, hogy tbb alkalmazst el kellett volna indtanunk. Ha

    pedig egy hrre, e-mailre, esemnyre bvebben is kvncsiak vagyunk, esetleg reaglni akarunk r, elg

    megrinteni az l csempt, s azonnal elindul a kapcsold alkalmazs.

    A csempk a Start kpernyn kt-kt csempe szlessg oszlopokban helyezkednek el akrhny ilyen

    oszlopot ltrehozhatunk, akr annyit is, hogy mr ne frjenek el a kijelzn. Ilyenkor a Start kperny

    grgethet. Egeret hasznlva egyszeren az egrgrg vagy a PageUp s PageDown gombok segtsgvel

    grgethetjk jobbra-balra, illetve a Start kperny aljn megjelen grgetsvot is hasznlhatjuk.

    A csempk ltrehozsa

    Csempt gy tudunk ltrehozni, hogy egy programot rgztnk a Start kpernyn, vagy egy alkalmazst

    futtatva, azon az alkalmazson keresztl rgztjk.

    Hogy ttekinthessk az sszes teleptett program listjt, a jobb egrgombbal kell kattintanunk a Start

    kperny egy res rszre, vagy rintkperny esetn hasznljuk a kperny szlrl behzs

    ujjmozdulatot a kperny aljn. Ekkor alul megjelenik az alkalmazssv (AppBar), amelyen egyetlen gombot

    tallunk, melynek felirata All Apps (Az sszes alkalmazs), ahogy a 2-2 brn is lthat. Ezt aktivlva a

  • 2. Bevezets a Windows 8 hasznlatba

    32

    Start kperny tadja a helyt az sszes teleptett alkalmazst megjelent kpernynek (Apps), ahogy a 2-

    3 bra is szemllteti.

    2-2 bra: A Start kperny alkalmazssvja

    2-3 bra: A teleptett alkalmazsok listja

    Az Apps kpernyn jobb kattintssal vagy a lehzs (swipe) ujjmozdulattal kivlaszthatjuk az alkalmazst,

    amelynek csempjt a Start kpernyn szeretnnk elhelyezni. Ekkor ismt az alkalmazssv nylik meg alul,

    s azon megtallhat a Pin to Start (Rgzts a Start kpernyn) gomb feltve, hogy az alkalmazsnak

    mg nincs ott csempje.

    A csempk trendezse

    A Start kperny testreszabsnak egyik mdja, hogy a rajta rgztett csempket a hidegburkolktl

    eltren knnyedn thelyezhetjk. A csempk thelyezsnek mdja teljesen intuitvnak mondhat: az

    ismert fogd s vidd (drag-and-drop) technikt alkalmazhatjuk. Egr hasznlata esetn a bal gombot

    nyomva tartva hzzuk el a csempt az eredeti helyrl. rintkpernyt hasznlva annyi a klnbsg, hogy

    a csempt ujjunkkal lefel hzva tudjuk kimozdtani helyrl. A tbbi csempe ilyenkor kisebb lesz, a

    httrbe kerl, s ahogy az thelyezend csempt mozgatjuk az egrrel vagy ujjunkkal, flrellnak az

    tjbl, vagyis kirtik a helyet, ahova a csempe kerlne, ha eleresztennk. Ez a helyzet lthat a 2-4 brn

    is. Amikor tnylegesen el is eresztjk a csempt, akkor rgzl j pozcijban.

  • A Start kperny s az l csempk

    33

    2-4 bra: A Start kperny csempethelyezs kzben

    A csempk csoportostsa

    Br a Start kpernyn elssorban csak a gyakran hasznlt alkalmazsainkat rgztjk, gy is elfordulhat,

    hogy szeretnnk tlthatbb tenni a tbb tucat csempbl ll kpernyt. E clbl a csempket akr

    csoportokba is rendezhetjk, s ezeknek a csoportoknak nevet is adhatunk. Lehetsgnk nylik mg

    gyorsan, a csoportok kztt naviglva ugrlni a Start kpernyn, gy akkor is gyorsan eltallunk a keresett

    csemphez, ha egybknt tbb kpernynyit kellene tgrgetnnk.

    A csoportba rendezs is a fogd s vidd mdszerrel trtnik: ha egy csempt egy msik csoportba hzunk,

    onnantl annak a csoportnak lesz eleme. Ha j csoportot szeretnnk ltrehozni, akkor egy csempt kt

    csoport kz (vagy a legels el, illetve legutols mg) kell vonszolni, amg meg nem jelenik alatta egy

    ujjnyi vastag vilgosszrke csk, ahogy a 2-5 brn is lthat. Ha ilyenkor engedjk el, a csempe egy j

    csoport els eleme lesz.

    A csoportok sorrendjnek megvltoztatsra s a csoportok el- vagy tnevezsre norml nzetben nincs

    lehetsg, de tbbek kztt erre is szolgl az ttekint vagy madrtvlat nzet.

  • 2. Bevezets a Windows 8 hasznlatba

    34

    2-5 bra: j csempecsoport ltrehozsa

    Ha a Start kpernyn a Ctrl nyomva tartsa mellett hzzuk lefel az egrgrgt, vagy rintkpernys

    eszkznl ha sszecsippentjk kt ujjunkat a kpernyn, az ttekint (lekicsinytett) nzetbe jutunk.

    Alternatvaknt a Start kperny jobb als sarkban tallhat gombbal vlthatunk a norml s a ttekint

    nzetek kztt. Itt madrtvlatbl vehetjk szemgyre a csempket, s jobban szembetnnek a csoportok.

    Egy csoportra kattintva visszakerlnk a norml nzetbe, ezzel teht gyorsan ugrlhatunk a Start kperny

    szlei kztt, ha nem akarunk grgetni.

    A csoportok trendezshez mindssze annyit kell tennnk, mint amit egy-egy csempe thelyezsnl

    tennnk. Fogd s vidd mdszerrel arrbb vonszolhatunk egy csoportot, s elereszthetjk ott, ahova

    helyezni szerettk volna.

    2-6 bra: Egy csempecsoport nevnek megvltoztatsa az ttekint nzetben

  • A Start kperny s az l csempk

    35

    De ebben a nzetben ki is jellhetjk a csempecsoportokat jobb kattintssal vagy a lehzs ujjmozdulattal.

    Ha egy csempecsoportot kijelltnk, a kperny aljn megjelen menben a Name group gombot

    aktivlva nevet adhatunk a csoportnak, vagy trhatjuk meglv nevt, ahogy azt a 2-6 bra is szemllteti.

    A norml nzethez val visszatrshez elg, ha az egyik csoportra kattintunk, vagy az egr grgjt, illetve

    a csps ujjmozdulatot fordtva hasznljuk, vagy a jobb als sarokban lv nzetvlt gombra

    kattinthatunk.

    Mveletek a csempkkel

    Csempink teht rendezgethetk, csoportosthatk, s ha a mgttk lv alkalmazs tmogatja,

    folyamatosan info