Store Apps -sovelluskehityksenaloittaminenHeikki Raatikainenheikki.raatikainen@sovelto.fi
Käyttöliittymämurros• Käyttöliittymät ovat murrosvaiheessa aina, muutossykli kuitenkinkiihtyy joka asettaa lisävaatimuksia...
Windows 8Windows 8Windows 8 WinRT3
Kaksi käyttöjärjestelmää samassa paketissaSininen puoli• Käytetään nimeä: Desktop• Perinteinen Windows• Kaikki nykyiset Wi...
Mitä uutta Windows 8:ssa Vihreä puoli• Kaikki sovellukset ovat uusia• Sovellukset käyttävät WinRT API:a• Käyttöliittymämal...
Windows 8 versiot ja Windows EcoSystemWindows EcosystemEditionsProducts• Windows 8 Pro• All Editions• Windows RT• Windows ...
Store App –ohjelmointi, vaadittavat taidot1. Välineet: Visual Studio 20122. WinRT API3. UI-kuvauskieli ja ohjelmointikieli...
1 - Välineet• Windows 8 käyttöjärjestelmä• Visual Studio 2012• Windows 8 SDK• Developer License (voimassa 30pv, ilmainen, ...
2 - WinRT API != .NET 4.5• .NET –osaamisesta on paikoitellen hyötyä mutta sen perusteella eipysty tekemään yhtään WinRT-so...
3 - UI-kuvauskieli ja ohjelmointikieli• Store Apps sovelluksien ohjelmointimallit• XAML ja C# (tai VB)• XAML ja C++• HTML5...
Windows 8 rakenne11Windows 8 Platform ArchitectureWin32Desktop AppsHTML C/C++C# /VB.NETInternetExplorer.Net CLR/Silverligh...
4 – Rinnakkaisuus• WinRT APIssa on kaikki palvelut jotka voivat kestää pitkääntoteutettu asynkronisesti• Sovelluksen pitää...
5 – Kommunikointimenetelmät ja palvelut• Store App ei pääse suoraan kytkeytymään yrityksen tietokantaan väliin on rakenne...
6 - Pilvi• Azure ja muut pilvipalvelut tarjoavat lisää mahdollisuuksia StoreAppsien käyttöön• Tietokanta Azuressa• Palvelu...
Esityksessä on nyt kalvon mittainen väliaikaMiksikö?… koska kohta tulee niin tärkeää asiaa ettei kaikki edesymmärrä että s...
7 – Desing Guidelines• Windows-käyttöliittymän tyyli/suunnitteliopas on ollut olemassaainakin 20 vuotta, valitettavan harv...
Store App - uusia tekniikoitaSovelluksen elinkaari, käyttöliittymän moniajoa ei oleTilesNotifications, ToastCharms: Share,...
Milloin sovellus on suorituksessaKäyttäjä valitsee foreground-sovelluksenSystem hallitseesovelluksen elinkaarenKäyttäjä kä...
Prosessin suoritustilatRunningAppSuspendedAppsuspendingTerminatedAppLowMemoryCode gets to runNo coderunsApp not runningres...
Windows 8 touch languagePress and hold to learn Swipe to selectSlide to dragTap for primary actionPinch to zoom Rotate to ...
Zoom ja Semantic zoom• Semantic Zoom ei ole pikseleiden suurentamista vaan datansuurentamista, siirtyminen kahden erilaise...
Tile sekä Share, Search ja muut Charms:itTilesSharingSearching in context
Live Tiles, sovellus on suorituksessa aina• Sovellus voi esittää informaatiota, vaikka ei ole foreground:ssa• Sovellus voi...
Local Updates• Foreground-sovellus päivittää Tile:ä• Esim:• Kohdalla oleva sivu, kuva jne.• Viimeksi downloadattua dataaRu...
Push Notifications• "elävä Start screen"• Päivittää Tile:ä vaikka sovellus eiole suorituksessaApp Cloud ServiceWindows Pus...
Toast Notifications• Välitön huomautus käyttäjälle• Käyttäjä voi kieltää sovelluksen Toastit• Käyttäjä voi siirtyä välittö...
Share ja Search• Share• Clipboard++• Helppo, käyttäjän ohjaama tapa jakaa dataa sovellusten välillä• Search• Käyttöjärjest...
8 - Gestures, Charms, contracts• tulikin jo esiteltyä…
9 – App Manifest• VS 2012 valikko: Project | Store | Edit App Manifest• Application UI• Nimi, kuvausteksti, tuetut laittee...
10 – Upload Package• Sovellus testataan koodin osalta perinteisesti• Windows App Certification Kit• Create App Package• Up...
Sovellus toimii sellaisenaanKoodia voi hyödyntää jossain määrinOsaaminen siirtyy – koodi eiOsaamista voi hyödyntää – koodi...
Modern UI edut ja haitat operatiivisissa sovelluksissa+ Data luku ja selailu toimii todella nätisti+ Esittäminen ja vaikut...
Store App, haasteita ja mahdollisuuksia• Kuinka saada monimutkainen, laaja käyttöliittymäyksinkertaistettua sormikäyttöise...
Upcoming SlideShare
Loading in …5
×

Store App -kehityksen aloittaminen

448 views

Published on

Sovelto Aamiaisseminaari 3.5.2013
Heikki Raatikainen

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
448
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Store App -kehityksen aloittaminen

  1. 1. Store Apps -sovelluskehityksenaloittaminenHeikki Raatikainenheikki.raatikainen@sovelto.fi
  2. 2. Käyttöliittymämurros• Käyttöliittymät ovat murrosvaiheessa aina, muutossykli kuitenkinkiihtyy joka asettaa lisävaatimuksia designereille, koodaajille jamyös liiketoiminnoista vastaaville.• merkkipohjaiset järjestelmät• graafinen (ikkunoituva) käyttöliittymä• Web-sovellukset• javascript ja Ajax• mobiilisovellukset (ja pienet selaimet)• mobiili ja kosketusnäytöt• kosketusnäytöt (tablet/slate)• Millä tekniikalla sovellukset kannattaa tehdä?• Client-sovellus, ilmaisuvoimaisin mutta vain rajoitettu laite/KJ-valikoima• Web-sovellus, toimii kaikkialla (jos selain tukee) mutta perinteisestirajoitetummat ominaisuudet• Edellisten yhdistelmä?2
  3. 3. Windows 8Windows 8Windows 8 WinRT3
  4. 4. Kaksi käyttöjärjestelmää samassa paketissaSininen puoli• Käytetään nimeä: Desktop• Perinteinen Windows• Kaikki nykyiset Windows 7 –sovellukset toimivat• Osassa tablet-koneita (ARM-prosessoriset tabletit) sinistä puolta ei oleVihreä puoli• Käytetään nimiä: Store Apps, Modern UI Style, WinRT• Uusi, sormilla käytettävä maailma• Toki näppäimistö ja hiiri toimii, mutta...• Mikään nykyinen sovellus ei täällä toimi, kaikki on tehtävä uudelleen
  5. 5. Mitä uutta Windows 8:ssa Vihreä puoli• Kaikki sovellukset ovat uusia• Sovellukset käyttävät WinRT API:a• Käyttöliittymämalli ja –ohjeisto on Design guidance for WindowsStore apps (aikaisemmin Modern UI Style ja Metro UI)• Sovellusta voi ajaa vain full screenillä• Toinen sovellus voi olla ankkuroitu "tiileksi"• Käyttöliittymän moniajoa ei ole, mutta korvaavia tekniikoita kyllä• Ei kehyksiä, ei valikoita – eikä varsinkaan Ribbonia• Sovelluksia voi asentaa (vain) Windows Store:n kautta• WinRT-sovellus ei voi tehdä pahaa• Sama fiilis kuin puhelinsovelluksilla – helppo ja turvallinen asentaa, helppoottaa pois• IE 10 (eri versio kuin sinisellä puolella)
  6. 6. Windows 8 versiot ja Windows EcoSystemWindows EcosystemEditionsProducts• Windows 8 Pro• All Editions• Windows RT• Windows 8 Enterprise• Xbox• Microsoft SkyDrive• Windows Store
  7. 7. Store App –ohjelmointi, vaadittavat taidot1. Välineet: Visual Studio 20122. WinRT API3. UI-kuvauskieli ja ohjelmointikieli: XAML/C# tai HTML5/Javascript4. Rinnakkaisuus5. Kommunikointimenetelmät6. Pilvi ja se mahdollisuudet7. Design Guidelines8. Gestures, Charms, contracts9. App Manifest – sovelluksen ominaisuudet10. Validointi/sertifiointi eli kauppapaikalle siirto7
  8. 8. 1 - Välineet• Windows 8 käyttöjärjestelmä• Visual Studio 2012• Windows 8 SDK• Developer License (voimassa 30pv, ilmainen, VS:n kautta, vainpaikallinen kehitys/testaus)• Windows Store developer account (maksullinen, vaatimussovelluksen julkaisemiseen Windows Storeen)https://appdev.microsoft.com/StorePortals/en-us/Account/Signup/Start/• Windows App Certification Kit• ja mahdollisesti muutama muu työkalu tarpeen mukaan:http://msdn.microsoft.com/en-us/windows/apps/br229516.aspx• Kehitys/testaaminen ei vaadi välttämättä kosketusnäytöllistäkonetta, voidaan simuloida emulaattorissa8
  9. 9. 2 - WinRT API != .NET 4.5• .NET –osaamisesta on paikoitellen hyötyä mutta sen perusteella eipysty tekemään yhtään WinRT-sovellusta• WinRT API on huomattavasti suppeampi ja erilainen• XAML on lähellä WPFää, muuten paljon opeteltavaa• WinRT API Reference:http://msdn.microsoft.com/en-us/library/windows/apps/br211377.aspx9Lukumäärä WinRT .NET 4.5assembly 15 120nimiavaruus 60 400tyyppi ~1k ~14kPropertyt/metodit/tapahtumat ~10k ~110k
  10. 10. 3 - UI-kuvauskieli ja ohjelmointikieli• Store Apps sovelluksien ohjelmointimallit• XAML ja C# (tai VB)• XAML ja C++• HTML5 ja JavaScript• Käytettävä ohjelmointikieli on tietenkin hallittava mahdollisimmanhyvin• XAML, lähellä WPF/Silverlight –versioita, täysin erilainen kuinWindows Forms• MVVM Design Pattern (Model-View-ViewModel)• HTML5/JS ei ole sama kuin perinteisten web-sovelluksen HTML/JS10
  11. 11. Windows 8 rakenne11Windows 8 Platform ArchitectureWin32Desktop AppsHTML C/C++C# /VB.NETInternetExplorer.Net CLR/SilverlightWindows Store appsC++/CXC# /VB.NET JavascriptComm. &DataXAMLHTMLCSSWinRT APIsGraphics &MediaDevices&Others
  12. 12. 4 – Rinnakkaisuus• WinRT APIssa on kaikki palvelut jotka voivat kestää pitkääntoteutettu asynkronisesti• Sovelluksen pitää pystyä reagoimaan kaikkiin käyttäjäntoimintoihin joten käyttöliittymäsäie ei voi odottaa mitään pitkään• Metodit ovat …Async –päätteisiä ja palauttavat Taskin• C#:n async ja await –varatut sanat on syytä osata, sekä käyttö ettäniiden takana oleva toiminnallisuus• Edellisen ymmärtämiseksi pitää osata myös Task- ja Task<T> -luokkien käyttö12
  13. 13. 5 – Kommunikointimenetelmät ja palvelut• Store App ei pääse suoraan kytkeytymään yrityksen tietokantaan väliin on rakennettava palvelukerros, esimerkiksi:• Web Service• WCF• Web Api• Samalla kannattaa miettiä miten datan tarjoaa käytettäväksisovellukselle, tehdäänkö mahdollisimman geneerinen jayleiskäyttöinen palvelu ja hyvin rajoitettu vain Store App-sovellusta varten13
  14. 14. 6 - Pilvi• Azure ja muut pilvipalvelut tarjoavat lisää mahdollisuuksia StoreAppsien käyttöön• Tietokanta Azuressa• Palvelu sovelluksen käyttöön• Azure Storage• Skaalautuu helpommin ja paremmin kuin omat palvelimet• Luotettavuus14
  15. 15. Esityksessä on nyt kalvon mittainen väliaikaMiksikö?… koska kohta tulee niin tärkeää asiaa ettei kaikki edesymmärrä että se on tärkeää!15
  16. 16. 7 – Desing Guidelines• Windows-käyttöliittymän tyyli/suunnitteliopas on ollut olemassaainakin 20 vuotta, valitettavan harva on vain lukenut sitä• Store Apps –sovelluskehitys muuttaa tilanteen koska DesignGuidelinesiin on käytännössä pakko tutustuahttp://msdn.microsoft.com/en-us/library/windows/apps/hh465424.aspx• Sovelluksen tehdään tiettyjen pelisääntöjen mukaan• Sovellukset hyödyntävät KJ:n palveluita eri tavalla kuinaikaisemmin, esimerkiksi tiedoston valinta tai tiedon jakaminen• Homma alkaa jo olemassa oleviin sovelluksiin tutustumalla,Storesta löytyy ilmaiseksi hyviä esimerkkejä (ja valitettavastihuonojakin ja kehnosti toimivia)16
  17. 17. Store App - uusia tekniikoitaSovelluksen elinkaari, käyttöliittymän moniajoa ei oleTilesNotifications, ToastCharms: Share, SearchContractsZoom, Semantic Zoom
  18. 18. Milloin sovellus on suorituksessaKäyttäjä valitsee foreground-sovelluksenSystem hallitseesovelluksen elinkaarenKäyttäjä käynnistääuseita sovelluksiaKäyttäjä hallitseesovelluksen elinkaaren
  19. 19. Prosessin suoritustilatRunningAppSuspendedAppsuspendingTerminatedAppLowMemoryCode gets to runNo coderunsApp not runningresumingApp gets 5s tohandle suspendApp is notnotified beforeterminationApps are notifiedwhen they havebeen resumedUserLaunchesAppSplashscreen
  20. 20. Windows 8 touch languagePress and hold to learn Swipe to selectSlide to dragTap for primary actionPinch to zoom Rotate to rotateSwipe from edge forsystem and app UI
  21. 21. Zoom ja Semantic zoom• Semantic Zoom ei ole pikseleiden suurentamista vaan datansuurentamista, siirtyminen kahden erilaisen näkymän välillä• Zoom
  22. 22. Tile sekä Share, Search ja muut Charms:itTilesSharingSearching in context
  23. 23. Live Tiles, sovellus on suorituksessa aina• Sovellus voi esittää informaatiota, vaikka ei ole foreground:ssa• Sovellus voi "hälyttää" käyttäjän• Kaksi mekanismia päivittämiseen• Local• Push Notifications
  24. 24. Local Updates• Foreground-sovellus päivittää Tile:ä• Esim:• Kohdalla oleva sivu, kuva jne.• Viimeksi downloadattua dataaRunning AppCall Local NotificationAPI
  25. 25. Push Notifications• "elävä Start screen"• Päivittää Tile:ä vaikka sovellus eiole suorituksessaApp Cloud ServiceWindows Push NotificationService (WNS)HTTPPOSTNotificationDelivered
  26. 26. Toast Notifications• Välitön huomautus käyttäjälle• Käyttäjä voi kieltää sovelluksen Toastit• Käyttäjä voi siirtyä välittömästi sovelluksen haluttuun kohtaan• Toastit voivat olla lähtöisin sovelluksen lokaalista tilasta tainotifikaatiosta
  27. 27. Share ja Search• Share• Clipboard++• Helppo, käyttäjän ohjaama tapa jakaa dataa sovellusten välillä• Search• Käyttöjärjestelmän palvelu• Sovelluksen julkaisevat, millaista dataa ne kykenevät etsimään• Devices• tulostin yms laitteet• Settings• sovelluskohtaiset astetukset aina samasta kohtaa kaikissa sovelluksissa
  28. 28. 8 - Gestures, Charms, contracts• tulikin jo esiteltyä…
  29. 29. 9 – App Manifest• VS 2012 valikko: Project | Store | Edit App Manifest• Application UI• Nimi, kuvausteksti, tuetut laitteen asennot, logot ja Tile-kuvat• Capabilities• mitä ominaisuuksia sovellus käyttää, esim. Internet, Location, WebCam• Declarations• esim File Open Picker, Search• Packaging• sertifikaatit, julkaisija, versionumero
  30. 30. 10 – Upload Package• Sovellus testataan koodin osalta perinteisesti• Windows App Certification Kit• Create App Package• Upload Package (siirto Storeen tarkistettavaksi ja tämä vaatiiDeveloper Accountin)
  31. 31. Sovellus toimii sellaisenaanKoodia voi hyödyntää jossain määrinOsaaminen siirtyy – koodi eiOsaamista voi hyödyntää – koodia eiSiirtyminen 7  8
  32. 32. Modern UI edut ja haitat operatiivisissa sovelluksissa+ Data luku ja selailu toimii todella nätisti+ Esittäminen ja vaikuttaminen• Dashboard+ Mobiilisuus ja kosketuskäyttö• Satunnaiseen ja tilapäiseen käyttöön myös data-entry -sovelluksissa- Datan syöttäminen- Window, ei Windows• toki on telakointi, mutta sekin on vain "isompi tile"• Multimonitor-tuen rajoitukset- Työvälineistön käyttö sormella• Toolbar ja Ribbon –kontrollien puute, keksittävä omia ratkaisuja32
  33. 33. Store App, haasteita ja mahdollisuuksia• Kuinka saada monimutkainen, laaja käyttöliittymäyksinkertaistettua sormikäyttöiseksi?• Jolla kuitenkin voi tehdä "kaikki mitä aikaisemminkin"• Joka sopii aloittelijan lisäksi myös tehokäyttäjälle• Mietittävä useimmat asiat uudelleen• Vaatii huimasti käyttöliittymän suunnittelua• Sovellus ohjaa käyttäjää• Eikä niin, että käyttäjälle tarjotaan kaikki työkalut• Näyttää minimalistisen valikoiman toimintoja• Mahdollisesti pettymyksiä mutta myös aivan uusiamahdollisuuksia• Toisaalta: voi olla vain kyse vain pienistä viilauksista, esim. Outlook 2013sormikäyttö33

×