Programvaruutveckling



Relevanta dokument
Programvaruutveckling för nybörjare

Kom igång med. Windows 8. DATAUTB MORIN AB

WINDOWS PRESENTATION FOUNDATION LEKTION 1

Miljön i Windows Vista

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

Windows 8.1, hur gör jag?

Snabbstartsguide. Visa fler alternativ Klicka på den här pilen för att visa fler alternativ i en dialogruta.

Introduktion Office 365

Lathund för Svenskt Näringsliv

Skapa din egen MediaWiki

Laboration 1 Introduktion till Visual Basic 6.0

Snabbguide. 1. Systemkrav. 2. Installation och aktivering. Installation. Aktivering

FileMaker. Köra FileMaker Pro 10 på Citrix Presentation Server

Kapitel 4 Arkivmenyn Innehåll

Kort om World Wide Web (webben)

FileMaker Pro 13. Använda Fjärrskrivbord med

Snabbstartsguide. Visa eller växla mellan onlinekonton Klicka på ditt konto-id för att ändra inställningar eller växla mellan konton.

Interaktiva applikationer för dator (WPF) och web (Silverlight) Grafisk utvecklingsmiljö. Hela produktioner: design, layout, animationer, skins, etc.

Komma igång med OneD. Allt på en plats

Spara dokument och bilder i molnet

Uppdatering till Windows 8.1 steg för steg-guide

Möt nya Windows. Vacker. Snabb. Dynamisk.

Sidpanelen och gadgetar De är nya. De är smarta. Lär dig hur du använder dem.

Guide för fjärråtkomst av Gigamedia IP-kamerakit

via webbgränssnittet. Du har även tystnadsplikt gällande dina identifikationsuppgifter.

Uppdatering till Windows 8.1 steg för steg-guide

Laboration 2 Datorverktyg vid LiU

Operativsystem och användargränssnitt

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel:

Skapa ett eget programnu! NU! Komplett med programvara och konkreta exempel! Patrice Pelland. Swedish Language Edition published by Docendo Sverige AB

Lathund för Novell Filr

Använda Office 365 på en iphone eller en ipad

FileMaker. Köra FileMaker Pro 10 på Terminal Services

Kom igång med Windows 8.1

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

Här är några tips om hur du kommer igång med vanliga uppgifter. Komma igång -serien

Så får du Microsofts Office-paket gratis

Administrationsmanual ImageBank 2

Startanvisning för Bornets Internet

Installationsguide för FAR Komplett Offline 2.1.2

Anvia Online Backup 1(8) Installationsguide

Övning: Arbeta med Azure Explorer

Så delar du filer. utan att bli övervakad LAJKA-GUIDE

INSTALLATIONS ANVISNING

Nintex Workflow 2007 måste installeras på Microsoft Windows Server 2003 eller 2008.

Introduktion till MySQL

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

TeamViewer Installation och användning

Microsoft Windows 8 Grunder

Novell Vibe Add-In 1.0.1

Statistiska centralbyrån

ONEDRIVE ÖVERBLICK Vad är OneDrive?... 2 Molnet?... 2 Två typer av OneDrive... 2 Hitta sin OneDrive för företag... 3

KOMMUNLEDNINGSKONTORET / IT-AVDELNINGEN. Office 365. Lathund

Författare Version Datum. Visi System AB

Snabbstartsguide. Få hjälp Klicka på frågetecknet om du vill söka efter hjälpinnehåll.

Migrera till Word 2010

Arbetshäfte Office 365 en första introduktion

» RSS - Bygg din egen RSS!

2.Starta GPSTrack genom att klicka på GPSTrack-programvarans genväg 1.

1. Uppdateringsmodul (CMS)

SeniorNet Södermalm. Windows 10. En snabbtitt Windows 10 1

6. Nu skall vi ställa in vad som skall hända när man klickar på knappen samt att markören skall ändra sig till en hand när markören är på knappen.

Snabbstartsguide. Verktygsfältet Snabbåtkomst Kommandona här är alltid synliga. Högerklicka på ett kommando om du vill lägga till det här.

Manual för fjärrinloggning

Skapa mappar, spara och hämta dokument

Nej, Latitude ON Flash är för närvarande endast tillgängligt på följande Dell datorer: Dell Latitude E4200 Dell Latitude E4300

Utforska kommandon i menyfliksområdet Varje menyflik har grupper, och varje grupp har en uppsättning relaterade kommandon.

Välj bort om du vill. 96 Internet och e-post. 2. Mail-programmet finns i datorn. 1. Skriv mail i sökrutan. Windows Live Mail i Aktivitetsfältet.

Gör en modern släktbok för CD eller webben

Internet. En enkel introduktion. Innehåll:

Innehåll i detta dokument

Migrera till PowerPoint 2010

Så här hanterar du din OneDrive i Office 365

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

FileMaker Pro 11. Köra FileMaker Pro 11 på Citrix XenApp

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Lathund Office online

1

Installationshandbok.

Guide för Innehållsleverantörer

Hur man införskaffar e-böcker till Reader

ADOBE FLASH PLAYER 10.3 Lokal inställningshanterare

Introduktion. Skriv in användarnamn och lösenord

NU NÄR DU BEKANTAT DIG MED RAMARNAS EGENSKAPER OCH VET. hur man markerar och ändrar dem, är det dags att titta lite närmare på

Kom igång med TIS-Office

Manual till DIKO

Installation och aktivering av Windows 7

WINDOWS 8.1. Grunder

SENIORER SENIORER. Grundläggande IT för. Windows 7. Grundläggande IT för. Windows 7. Eva Ansell Marianne Ahlgren. Eva Ansell Marianne Ahlgren

3.5 Visuell programmering

del 3 ARBETA MED PROGRAM

Innehåll. Dokumentet gäller från och med version

F-Secure Mobile Security. Android

Office 365 Windows 10

Spela in och exportera din PowerPoint som en film via Premiere Elements

Guide för Google Cloud Print

Komponenter med COM (och COM+/VC++ 7.0)

Transkript:

Programvaruutveckling

Kapitel 1 Vad är programvaruutveckling?

Innehåll ❶ ❷ Vad är programvara? Vad är programvaruutveckling? Hur utvecklas programvara? Programvaruutveckling som bransch. Uppgifter Frågor och svar

Vad är programvara? Digitala entiteter som består av små enkla kommandon som kan köras på en dator (eller liknande enhet) Programvara bearbetar användarens indata och genererar och visar utdata Programvara är vanligtvis endast tillgänglig i digitala (elektroniska) format

Exempel på programvara På en dator Word, Excel, PowerPoint, Photoshop Webbläsare På en telefon Appar som: Kartprogram, tidtabeller, meddelandeappar, spel o.s.v. På webben Google, Facebook, Twitter

Vad är programvaruutveckling? Utvecklingen av programvara och program Varje projekt behöver åtminstone utvecklare, designers och testare Själva programvaruutvecklingen görs på datorer med hjälp av speciella program Resultatet är programmeringskoden (eller bara koden)

Programvaruutveckling som bransch Programvaruutveckling utgör en del av IT-branschen och har ett enormt värde Även små programvaruprojekt har ofta ett värde på 500 000 1 000 000 kronor Experter inom flera olika områden behövs Utvecklare och testare Grafiska designers, gränssnittsdesigners Säljare, marknadsförare, stödpersonal, utbildare

Uppgifter Fundera på om programvara kan anta fysisk form. Ge minst tre exempel på enheter som kör programvara. Datorer och telefoner räknas inte. Ta reda på vilka verktyg som krävs för programvaruutveckling. Är papper och penna allt som behövs? Vilka olika jobb faller inom området programvaruutveckling?

Frågor och svar 1 Varför behövs programvara? Programvara har en viktig roll i det moderna samhället eftersom nästan alla elektroniska enheter bygger på programvara. Mycket annat hanteras också av programvara: kassaflöden, tåg- och busstidtabeller, satelliter, TV-programtablåer o.s.v. Listan är lång. Programvaran har stor effekt på hur vi lever och uppfattar livet. I framtiden kommer programvarans roll att bli ännu viktigare.

Frågor och svar 2 Hur många arbetar med programvaruutveckling i Finland? I Finland, precis som i många andra länder i Väst, finns många anställda inom programvaruutveckling och närliggande områden. I Finland arbetar runt 20 000 personer med programvaruutveckling. Och flera hundra tusen arbetar direkt eller indirekt inom närliggande områden. Programvaruutvecklingen föddes i Storbritannien och USA.

Frågor och svar 3 Hur kan jag börja utveckla programvara? Programvara kan utvecklas med många verktyg och på många plattformar. Att börja kostar oftast ingenting. Du kan ladda ned de verktyg som du behöver från olika webbplatser för programutveckling. Verktyg för professionell utveckling kostar ofta en slant, men även dessa brukar ha gratislicenser för tidsbegränsad testning.

Programvaruutveckling

Kapitel 2 Programmering i Windows 8

Innehåll ❷❸ En närmare titt på Windows 8 Windows 8-appar Vilka verktyg används för att utveckla Windows 8-appar? Uppgifter Frågor och svar

En närmare titt på Windows 8 Den viktigaste nya funktionen är den nya Startskärmen som är anpassad för pekskärmar Startskärmen ersätter den tidigare Start-menyn

Startskärmen i Windows 8 Startskärmen har ändrats, men den välbekanta skrivbordsvyn är fortfarande tillgänglig i Windows 8 I skrivbordsvyn fungerar Windows 8 som tidigare Windows-versioner, t.ex. Windows 7 På den nya Startskärmen kan appar visa automatiska statusuppdateringar, t.ex. nya meddelanden

Windows 8-versioner Fyra tillgängliga Windows 8-versioner 1. Windows RT ARM-plattform, endast nya Windows 8-appar, inget stöd för äldre x86-program 2. Windows 8 X86-plattform, för enklare användning 3. Windows 8 Professional X86-plattform, för företagsanvändning 4. Windows 8 Enterprise X86-plattform, för stora företag

Processorarkitekturer ❸ Datorer och mobila enheter använder två olika processorarkitekturer som inte är kompatibla med varandra Datorer använder Intels x86-arkitektur Särskilt mobila enheter använder ARM-arkitektur I dag finns det programmeringstekniker som gör att ett program kan köras i båda arkitekturer

Windows 8-appar Nya Windows 8-appar utvecklas med nya tekniker och kan köras i helskärmsläge Fungerar både på ARM och x86 Med helskärmsläge kan användarna fokusera helt på appen Potential för nya visningsmöjligheter Fantastiska möjligheter för exempelvis grafiska designers

Enhetliga layouter och gränssnitt Windows 8-appar har två gemensamma krav Matchande layout med andra appar i enlighet med Microsofts riktlinjer Kompatibilitet med användargränssnittet Kraven på enhetlig layout gäller inte spel o.s.v. Tekniska krav specificerar att appar måste utvecklas med Windows 8-kompatibla programmeringstekniker

Esimerkki ulkoasuvaatimuksista

Windows Store Windows 8-appar distribueras och säljs via Windows Store Windows 8-appar måste installeras via Store, inte genom exempelvis kopiering Utvecklare kan köra och testa sina appar med en utvecklarlicens Varför är apparna endast tillgängliga via Windows Store?

Appcertifieringar Alla appar som är tillgängliga i Store har genomgått Microsofts kvalitets- och datasäkerhetscertifieringar Endast certifierade appar accepteras i Windows Store Eftersom endast certifierade appar kan installeras, kan användarna vara säkra på att apparna inte innehåller t.ex. virus Certifieringskraven gäller både teknik och innehåll

Kommersiella möjligheter Appar och spel som distribueras via Store kan vara gratis eller inte Betalappar brukar kosta några tiotal kronor Gratisappar och gratisspel lockar oftast användare snabbare Utvecklare av populära appar kan tjäna pengar genom att ha annonser i apparna

Nödvändiga verktyg Du behöver åtminstone följande verktyg 1. Dator med ett Windows 8-operativsystem Vi rekommenderar även att du har en enhet med pekskärm, men det är inget krav 2. Utvecklingsverktyg Visual Studio (mer i efterföljande bilder) 3. Internetanslutning

Företagsdistribution Företag vill oftast inte distribuera sina interna program offentligt Globala Windows 8 Store är inte alltid en lämplig distributionskanal för företagsappar Lösningen heter Enterprise Sideloading, en funktion för separat inläsning Företag får tillgång till en intern distributionskanal för Windows 8-appar Licenserna säljs separat, minst 100 per beställning

Utvecklingsverktyg Windows 8-appar kan utvecklas med Microsofts eget utvecklingsverktyg, Visual Studio Visual Studio är gratis för privat bruk, men de finns avgiftsbelagda professionella versioner Microsofts Expression Blend kan användas för grafisk design och animering Visual Studio kan laddas ned på www.visualstudio.com Express-versionerna är gratis och kan också användas för kommersiella projekt

Visual Studio 2013

Programmeringsspråk Fyra centrala alternativ C# Visual Basic C++ HTML5/JavaScript Typiska val är C# eller HTML5/JS Alla programmeringsspråk kan användas för att komma åt samma funktioner i Windows 8-program

Uppgifter Försök att komma på tre appar som skulle vara roliga och användbara i hemmet, för skolarbete eller i anslutning till en hobby. Kan det finnas enheter som använder två olika processorarkitekturer? Vilka fördelar skulle den typen av lösning ha? Skriv ned tre fördelar och tre nackdelar med enheter som hanteras via en pekskärm. Tänk igenom vilka fördelar grafik och animeringar kan ha i ett produktivitetsprogram för företag.

Frågor och svar 1 Vilka funktioner gör en app lämplig för enheter med pekskärm i stället för en enhet med tangentbord och mus? En app som ska användas på enheter med pekskärm måste ta hänsyn till flera saker som är mindre viktiga i traditionella datorprogram som hanteras via tangentbord och mus. En av de viktigaste skillnaderna är att ett touchgränssnitt har sämre precision än ett musgränssnitt. Av den anledningen måste alla element som användaren ska kunna peka på vara relativt stora. En annan viktig aspekt på enheter med pekskärm är de olika typerna av gester. Ett vanligt datorprogram kan starta olika processer när användaren trycker på olika tangenter, t.ex. funktionstangenterna F1 och F2. Dessa funktioner måste dock återges på ett helt annat sätt på enheter med pekskärm utan något fysiskt tangentbord.

Frågor och svar 2 Vad är en processorarkitektur? Vilka olika processorarkitekturer finns det? Processorarkitekturen eller mikroarkitekturen definierar en processors tekniska funktioner. Dessa funktioner påverkar sedan vilken typ av programvara som processorn kan köra. De vanligaste arkitekturerna i dag är Intels x86/x64-plattform och ARM, som framförallt används på mobila enheter. Exempel på andra kända mikroarkitekturer i informationsteknikens historia är Motorola 6502, Alpha, Itanium och Zilog Z80.

Frågor och svar 3 Vilka verktyg används för att utveckla Windows 8-appar? Windows 8-appar utvecklas enklast i utvecklingsverktyget Microsoft Visual Studio och det kompatibla programmet Blend. Blend är ett grafikverktyg som används för att utveckla och förbättra de visuella elementen i en app.

Programvaruutveckling

Kapitel 3 Din första Windows 8-app

Innehåll ❷❸ Förberedelser Första starten av Visual Studio Skaffa en Windows 8-utvecklarlicens Ditt första program: Hello world! Uppgifter Frågor och svar

Genomgång: obligatoriska verktyg Du behöver åtminstone följande verktyg när du utvecklar Windows 8-appar 1. Dator med ett Windows 8-operativsystem Vi rekommenderar även att du har en enhet med pekskärm, men det är inget krav 2. Utvecklingsverktyg Utvecklingsverktyg 3. Internetanslutning

Förberedelser Vi antar att Windows 8 redan är installerat på din arbetsdator Innan du sätter igång måste du kontrollera att: Du har en fungerande Internetanslutning eftersom det kan ta lång tid att ladda ned Visual Studio över en dålig eller långsam anslutning Windows är uppdaterat och de senaste säkerhetskorrigeringarna är installerade (använd tjänsten Windows Update)

Ladda ned Visual Studio 2013 Express Visual Studio 2013 Express för Windows 8 är en gratisprodukt som du kan ladda ned från http://www.visualstudio.com/downloads/downloadvisual-studio-vs Ladda ned Express-versionen som är avsedd för Windows 8-utveckling

Installera Visual Studio Installationsfilen för Visual Studio 2013 Express heter winexpress_full.exe Starta installationsfilen genom att dubbelklicka på filens ikon Den första skärmen i installationsprogrammet visas Acceptera licensvillkoren och klicka på Install

Startskärmen i installationsprogrammet

Installation När du har klickat på Install behöver du bara vänta 10 20 minuter beroende på datorns prestanda. Ett meddelande visas när installationen är klar. Knappen Launch visas längst ned i fönstret.

Programmet har installerats

Första starten av Visual Studio Första gången du startar Visual Studio uppmanas du att logga in Du måste logga in för att kunna utveckla Windows 8-appar Processen är enkel, klicka bara på knappen Sign In och följ anvisningarna Du kan också välja att logga in senare

Inloggning

Skaffa en utvecklarlicens Du behöver en utvecklarlicens för att kunna installera dina färdiga program En kostnadsfri utvecklarlicens är giltig i 30 dagar och en betallicens är giltig 90 dagar i taget Efter förfallodatumet kan licensen förnyas automatiskt via Visual Studio

Din första app Det enklaste sättet att lära sig Windows 8- programmering är genom att pröva och öva Nu ska vi skriva ett enkelt Hello Worldprogram Du kan fortsätta att utveckla appen själv Du behöver En dator med Windows 8.1 Visual Studio 2013 (installerat och registrerat)

Starta ett nytt projekt En Windows 8-app består av en samling filer kallade ett projekt Starta Visual Studio och välj File, New Project Fönstret New Project öppnas

Fönstret New Project

Skaffa en utvecklarlicens Om du startar ett nytt projekt i Visual Studio utan en utvecklarlicens uppmanas du att skaffa en Det är gratis att skaffa en tillfällig licens Den här typen av licens ger inte åtkomst till Windows Store

Hello World-gränssnittet Visual Studio innehåller en kodredigerare och en vy för design av det visuella gränssnittet I verktygslådan till vänster om fönstret hittar du de komponenter som du behöver för att bygga gränssnittet Dra två komponenter till MainPage.xamlgränssnittet: TextBlock och Button

Gränssnitt

Skriva kod Button-komponenten ändrar texten som visas när knappen aktiveras I Visual Studio skriver du kod i kodredigeraren Du kan öppna kodredigeraren genom att dubbelklicka på Button-komponenten Du kan namnge TextBlock-komponenten i fönstret Properties

Kodredigerare

Komponent och kod Du kan ändra en komponents namn i fönstret Properties När du har gett TextBlockkomponenten ett namn, t.ex. textblock, kan du skriva följande kodsträng i händelsehanteraren för Button-komponenten: textblock.text = Hello, World! ;

Köra appen Du kan starta appen via Visual Studio genom att klicka på knappen Start i mitten av verktygsfältet

Köra appen Det tar några sekunder att bygga och starta appen Skärmen blir svart och appens gränssnitt visas Tryck på knappen så bör texten ändras

App

Stänga appen Eftersom Windows 8-appar körs i helskärmsläge måste du veta hur du kommer tillbaka till Visual Studio Du kan göra det på flera sätt Pekskärm: stäng appen genom att svepa nedåt från skärmens överkant Tryck på Alt+F4 på tangentbordet Tryck på Windows+D när du vill gå tillbaka till Visual Studio. Klicka sedan på den röda knappen Stop Debugging i verktygsfältet

Uppgifter 1. Ta reda på maskinvarukraven för Visual Studio Express 2013 för Windows. Går det att köra Visual Studio på äldre datorer? 2. Förklara varför Windows 8-utvecklare behöver en utvecklarlicens. 3. Visual Studio levereras med fyra programmallar. Beskriv när de olika mallarna skulle kunna användas och ge exempel på ett program som skulle passa för respektive mall. 4. Ta reda på hur du enkelt kan öppna Blend direkt från Visual Studio. Går det att öppna Visual Studio direkt från Blend?

Frågor och svar 1 Måste jag ha en dator, bärbar dator eller surfplatta med pekskärm för att kunna utveckla Windows 8-appar? Inte nödvändigtvis, men enheter med pekskärm har många fördelar. Visual Studio är utrustat med en Windows 8-simulator, som du kan använda för att med hjälp av en mus testa hur appen skulle fungera på en pekskärm. Appen tror att den körs med en pekskärm.

Frågor och svar 2 Jag har Windows 7 på min dator. Hur kan jag börja utveckla Windows 8-appar? Du måste uppgradera till Windows 8 för att kunna använda och utveckla Windows 8-appar. Om datorn är högst två år och fungerar bra med Windows 7, kan du förmodligen uppgradera operativsystemet. Om datorn är gammal och långsam är det bättre att köpa en ny dator, t.ex. en bärbar dator med pekskärm. Dessa finns att köpa för mindre än 4 000 kronor.

Frågor och svar 3 Jag vill kopiera en Windows 8-app som jag har skapat till en vän/kollega. Hur kan jag kopiera appen till en annan dator? Om din vän eller kollega har Windows 8 och Visual Studio kan du skicka appens källkod till vännen eller kollegan och sedan be honom eller henne att kompilera koden på sin dator. Om detta inte är möjligt eller om du vill behålla källkoden, kan du skapa ett appaket för distribution i Visual Studio och sedan kopiera paketet till en annan dator. Du kan skapa appaketet genom att klicka på Store-menyn och sedan på Create App Packages. Din vän eller kollega kan sedan skaffa nödvändig utvecklarlicens med hjälp av PowerShell-kommandot Get-WindowsDeveloperLicense.

Programvaruutveckling

Kapitel 4 Windowsappgränssnitt

Innehåll ❷❸ Vikten av ett bra gränssnitt Planera gränssnittet Vad måste du ta hänsyn till när du skapar gränssnittet? Visual Studio-appmallar Layoutkontroller Importera bilder och grafik Animeringar

Vikten av ett bra gränssnitt Särskilt konsumenter överger snabbt en app med ett dåligt eller bristfälligt gränssnitt Ett gränssnitt är bra när användaren inte behöver stanna upp och tänka efter hur det ska användas Ett bra gränssnitt kräver arbete

Windows 8-gränssnitt Windows 8 har utformats för snygg visuell design, effektivitet och användarvänlighet Det går att lära sig mycket genom att observera användarna och hämta idéer från andra appar Följ Microsofts riktlinjer, men gå ifrån dem om du utvecklar spel Börja på dev.windows.com

Planering Ett bra gränssnitt kräver eftertanke En bra plan kräver inga speciella verktyg penna och papper räcker Skisser över appens gränssnitt är en viktig del av planen Ditt mål är att hjälpa grafiska designers och utvecklare att komma igång snabbt

En bra plan besvarar frågor När du planerar din app kan det vara bra att försöka besvara åtminstone följande frågor: Vad är appen bra på och på vilket sätt är den bättre än andra? Vem riktar sig appen till? På vilka enheter kan appen användas? Surfplattor, bärbara datorer, stationära datorer? Vilka är de viktigaste funktionerna i appen? Hur ser de viktigaste skärmarna i appen ut och hur navigerar du mellan dem? I vilken ordning?

Touch först Windows 8-appar är främst avsedda att hanteras via touch Hänsyn måste tas till detta när gränssnittet utformas Många använder dock fortfarande datorer utan pekskärmar Se till att appen kan användas med traditionella inmatningsmetoder

Microsofts fem riktlinjer Microsoft har tagit fram fem riktlinjer för Windows 8-gränssnitt Yrkesskicklighet Snabb och smidig Genuint digital Mer med mindre Tänk på helheten

Visual Studio-appmallar Microsoft har ansträngt sig för att göra utvecklingen av Windows 8-appar så enkel som möjligt genom att tillhandahålla programmallar De fyra viktigaste mallarna är: Blank App Grid App Hub App Split App

Fönstret New Project

Mer om mallar Blank App En tom mall avsedd för utvecklare med erfarenhet av Windows 8-programmering Grid App Hjälper dig att komma igång med utvecklingen av Windows 8-appar baserat på ett rutnät indelat i olika grupper Tredje separat sida med detaljerad information om varje objekt Hub App Ett nytt tillägg som kräver Windows 8.1 Hub App delar in appens huvudskärm i delar med olika storlek så att viktiga element får mer utrymme Mallen har tre sidor Split App Split App delar upp appen i två sidor Mallen är perfekt för appar som innehåller text och bilder

XAML-språk Windows 8-apparnas gränssnitt skapas med programmeringsspråket XAML XAML är en förkortning av extensible Application Markup Language XAML baseras på XML-syntax Du känner enkelt igen XAML-filer på filformatet.xaml Visual Studio-mallarna innehåller alltid minst en XAML-fil

Layoutkontroller Windows 8-appar kan ta upp allt tillgängligt skärmutrymme Du kan använda särskilda layoutkontroller med dina Windows 8-appar De vanligaste layoutkontrollerna är Canvas, StackPanel, Grid och VariableSizedWrapGrid

Kontroll Asettelukontrollit Beskrivning Exempellayout Canvas Valfri placering av element StackPanel Grid VariableSizedWrapGrid Staplar automatiskt elementen vågrätt eller lodrätt Rutnätslayout där utvecklaren anger antalet rader och kolumner Som Grid men de enskilda panelerna kan ha olika storlek

Importera bilder och grafik Imponerande och snygg grafik är ett måste för att locka användare Därför är det viktigt att veta hur man importerar grafikelement till appar och visar dem på skärmen Bilderna kan importeras när appen utvecklas eller laddas ned från webben när appen körs

Lägga till en bildfil 1. Starta Visual Studio och öppna ditt Windows 8- approjekt 2. Välj Add Existing Item på Project-menyn 3. Välj bildfilen och klicka på Add 4. Lägg till en Image-komponent i programmet och välj bildfilen via fältet Source för Imagekomponenten 5. Bildfilen visas inuti Image-komponenten

Lägga till en bildfil, 4 och 5 Image-komponenten i verktygslådan Ange källan

Ladda ned en bild Förutom de bilder som du lägger till i ett projekt kan du använda bildfiler från Internet Exempelkod för att ladda ned en bild En bild med namnet myimage laddas ned till Imagekomponenten string url = "http://www.osoite.fi/kuva.jpg"; myimage.source = new BitmapImage(new Uri(url));

Animeringar Windows 8-appar har omfattande stöd för animeringar Animeringar kan vara både trevliga och praktiska, särskilt på enheter med pekskärm Animeringarna skapas med XAML-kod De måste inte skrivas manuellt Du kan ha stor glädje av Expression Blend när du skapar animeringar

Expression Blend

Vad är Expression Blend? Expression Blend är ett grafikverktyg Visual Studio är däremot avsett för programmering Använder och stöder samma filformat som Visual Studio Smidig samverkan mellan utvecklare och grafiska designers Både Blend och Visual Studio har samma XAMLstöd, men funktionerna är olika

En enkel animering Nu ska vi skapa en enkel animering i XAMLkod Vårt mål är att visa en rörelse på skärmen Vi ska också skriva koden som startar animeringen

Steg 1: Ellipsen som ska animeras XAML-kod som lägger till en röd ellips <Ellipse x:name="ellipse" Fill="Red" HorizontalAlignment="Left" Height="100" Margin="76,216,0,0" Stroke="Black" VerticalAlignment="Top" Width="130" RenderTransformOrigin="0.5,0.5"> <Ellipse.RenderTransform> <CompositeTransform/> </Ellipse.RenderTransform> </Ellipse>

Steg 2: Definiera animeringen <Storyboard x:name="storyboard1"> <DoubleAnimation Duration="0:0:0.6" To="568.657" Storyboard.TargetProperty="(UIElement. RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="ellipse d:isoptimized="true"/> <DoubleAnimation Duration="0:0:0.6" To="2.985" Storyboard.TargetProperty="(UIElement. RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="ellipse d:isoptimized="true"/> </Storyboard>

Steg 3: Starta animeringen Animeringen har skrivits i XAML, men den startar inte automatiskt Animeringar kan startas på flera sätt Det enklaste sättet är att låta programkoden hantera aktiveringen Använd den här kodsträngen: Storyboard1.Begin();

Uppgifter Vilka är fördelarna med att både Visual Studio och Blend stöder samma XAML-format? Vad är en storyboard när vi pratar om Windows 8-appar? Ta reda på vilka processorer som används när ett Windows 8-program visar animeringar.

Frågor och svar 1 Jag är van vid att utveckla program i Visual Studio. Måste jag använda Blend? Blend är inte nödvändigt ur teknisk synvinkel, men det är mycket effektivt när du skapar grafik, särskilt animeringar. Små detaljer är viktiga och du bör lägga tid på programmets grafik. Kort sagt kan Blend förbättra en redan bra Windows 8-app.

Frågor och svar 2 Var hittar jag mer information om XAML? XAML (extensible Application Markup Language) är ett språk för att beskriva och definiera Windows 8- programgränssnitt. XAML gör det lättare för dig att koda appar för Windows 8. Utförlig information om XAML finns på http://msdn.microsoft.com/library/windows/apps/br22956 4.aspx. En del material finns på svenska. Tänk på att eftersom XAML bygger på XML-syntax blir det lättare för dig att lära dig XAML om du redan kan XML.

Programvaruutveckling

Kapitel 5 Datahantering

Innehåll ❷❸ Grunderna i databindning Använda onlinedata SQL-databaser Vad är OData? Uppgifter Frågor och svar

Databindning Den enklaste metoden att visa data på skärmen är att visa statiska data Den här enkla metoden passar för vissa appar, t.ex. e-läsare eller enkla spel Metoden är dock inte lika flexibel för storskaliga appar

Grunderna i databindning Databindning är en viktig metod för att visa data i Windows 8-program Du kan skriva kod som konfigurerar gränssnittskomponenter att visa data så som de programmerats, men det kan vara svårt i större projekt

Databindning och XAML Databindning kan underlätta två situationer Visningen av data (från kod till skärm) Situationer då användaren redigerar data som visas med hjälp av en komponent, t.ex. TextBox (från skärm till kod) Databindningen hanteras i koden med hjälp av klasser och XAML-strängar

Utgångspunkt: C#-klassen Student public class Student { public int Student ID { get; set; } public string Name { get; set; } public string Social security ID { get; set; } public string Email { get; set; } }

XAML-definition Du måste veta två saker när du skriver XAML-definitionen 1. Vilken källfilsegenskap ska anges som källan? 2. Vilken egenskap för vilken gränssnittskomponent ska anges som målet? Till exempel: Student.Name --> TextBlock.Text

XAML-syntax Du känner lätt igen databindningsprocesser i XAML-gränssnitt på ordet Binding inom klammerparenteser, { och } {Binding}-definitionen associeras med målkomponentens egenskap, som blir databindningens mål

Exempel <TextBlock x:name="studentidtextblock" Text="{Binding Student ID}"... <TextBlock x:name="nametextblock Text="{Binding Name}"... <TextBlock x:name="socialidtextblock" Text="{Binding Social security ID}"... <TextBlock x:name="emailtextblock" Text="{Binding Email}"...

Definiera datainnehåll När XAML-databindningen har definierats måste du fortfarande ange vilken objektinstans som databindningen ska associeras med Det gör du med hjälp av XAML-sidans DataContext-egenskap

Skapa en objektinstans Normalt sett hämtas ett objekts data från en databas eller Internet, eller så genereras de i samband med bearbetningen En enkel metod om du vill testa hur databindningar fungerar är att använda statiska objekt

Exempel Student o = new Student() { Student ID = 12345, Name = "Olli Opiskelija", Social security ID = "010290-123A", Email = "olli@oppilaitos.fi" };

Koppla egenskapen DataContext Du kan koppla valfritt objekt till en sidas DataContext-egenskap Databindningsdefinitionerna i XAML börjar leta efter definierade egenskaper i det angivna objektet Exempel this.datacontext = o;

Använda onlinedata Dina Windows 8-appar får liv när du ansluter dem till onlinedata En onlinedatafeed kan ha många olika former En Twitter-feed, dagens nyhetsrubriker i en RSS-feed eller data som genereras av en bakgrundsprocess i XML-format o.s.v.

Många möjligheter Windows 8-appar kan använda onlinedata på ett flexibelt sätt Normalt sett hämtas onlinedata med HTTP-protokollet Du kan också använda socketgränssnitt, TCP/IPgränssnitt eller FTP

Klassen HttpClient Du kan använda klassen HttpClient med Windows 8-appar Den finns i namnrymden Windows.Web.Http Klassen körs asynkront Appen stannar inte och väntar tills data har laddats ned, och användaren kan fortsätta använda appen Krypterade anslutningar via HTTPS-protokollet stöds också

Exempel HttpClient client = new HttpClient(); Uri uri = new Uri("http://www.bing.com/"); string data = await client.getstringasync(uri);

Appexempel: RSS-läsare Nu ska vi titta på en exempelapp som läser Yleisradios nyhetsfeed genom en RSS-feed RSS = Really Simple Syndication Data kan laddas ned med HTTP-protokollet och data i RSS-format baseras på XML

Ladda ned RSS-data med HTTP HttpClient client = new HttpClient(); Uri uri = new Uri( "http://yle.fi/uutiset/rss/paauutiset.rss"); string data = await client.getstringasync(uri); XmlDocument xml = new XmlDocument(); xml.loadxml(data);

RSS-feedens title-element

Hämta rubriker från en RSS-feed I det förra exemplet infogades de RSS-data som hämtades i en XML-komponent Med den här typen av komponent kan vissa element hittas med hjälp av XML-filens trädstruktur

Använda en XML-komponent Hitta title-element XmlNodeList nodes = xml.selectnodes("//channel/item/title"); Visa innehållet i title-element, d.v.s. nyhetsrubrikerna List<string> titles = nodes.select(n => n.innertext).tolist();

SQL-databaser SQL är det viktigaste frågespråket, framförallt för databaser, och kan användas för att söka efter och uppdatera data i databaser Förkortning av Structured Query Language SQL-databaser kan nås på många sätt LAN-databaser är vanliga, men molnbaserade SQL-databaser är också populära Om ett program ska användas Om programmet ska användas utanför ett intranät upprättas databasanslutningen oftast via Internet med hjälp av webbtekniker

Dataåtkomstmetoder Webbgränssnitt Socketanslutningar (TCP/IP) SQL-databas Lokal installation Proxyserver

En översikt över möjligheterna Det enklaste sättet är att installera databasen på samma enhet som programmet En vanligare lösning att låta Windows 8- programmet ansluta till en separat server där databasen körs via ett nätverk

Anslutningsmetoder Traditionella LAN-databaser kan kräva så kallade socketanslutningar Mer moderna molnbaserade databaser stöder anslutningar via HTTP HTTP kan också användas för att komma åt databasen via Internet

OData OData eller Open Data är en standard som utvecklats av Microsoft tillsammans med andra IT-aktörer Odata kan användas för att överföra databasdata ( SQL-data ) över Internet Odata-standarden är avsedd att fungera framförallt med HTTP och XML och JSONdataformat

OData-plattformsstöd Den senaste versionen av Odata-standarden är 3.0 Den stöds redan av många olika plattformar Själva enheten är plattforms- och enhetsoberoende Exempel på plattformar som stöds är Windows, Mac OS X och Linux OData stöder exempelvis Excel, PHP, Ruby och självklart Microsofts.NET/C# (och därför även Windows 8-appar)

Uppgifter Ge minst tre exempel på datalagringsmetoder som kan användas med Windows 8-program. Vilka är för- och nackdelarna med respektive metod? Hur kan du bygga en app som fungerar även om det inte finns någon Internetanslutning? Vilka fördelar har öppna standarder som OData för dataöverföringar? Ge exempel på andra dataöverföringsstandarder.

Frågor och svar 1 Min app behöver bara enklare datalagring. Vilka lagringsmetoder ska jag använda? För enkla program kan det räcka med att använda en lokal XML-fil som en del av appen. Du kan till exempel bearbeta XML-filer med hjälp av klassen XmlDocument, som finns i namnrymden Windows.Data.Xml.Dom. Du kan också använda enklare SQL-baserade databaser som SQLite. Den här databasen kan enkelt introduceras i appen med det så kallade NuGet-paketet. Du hittar den genom att söka efter SQLite for Windows Runtime i Visual Studio. Om du snabbt vill implementera ett webbsystem i bakgrunden kanske du också vill ta en titt på nya Windows Azure Mobile Services.

Frågor och svar 2 Jag utvecklar en Windows 8-app och jag skriver koden i Visual Studio. Appen ska kommunicera med bakgrundssystemet med hjälp av HTTP-protokollet. Måste jag använda Visual Studio för att skapa även bakgrundssystemet. Fördelen med öppna tekniker (som HTTP) är att det inte spelar någon roll vilka utvecklingsverktyg som används så länge standarderna följs. Därför kan du skriva Windows 8-appens gränssnitt i Visual Studio och bakgrundssystemet i Python eller PHP om du vill. Det finns dock flera fördelar med att även skriva bakgrundssystemet i Visual Studio eftersom du inte behöver använda två eller fler olika utvecklingsverktyg. Dessutom kan du dra nytta av effektiva dataöverföringsmetoder som OData. Du kanske också vill bekanta dig med Microsofts ASP.NET-tekniker. De kan programmeras i exempelvis C#.

Frågor och svar 3 Jag har hört att många bakgrundssystem har angripits och att kontonamn och lösenord har stulits från dem. Hur kan jag undvika detta? Det här är en komplex, men viktig fråga. De stora bakgrundssystemen och databaserna för populära program är särskilt lockande mål för kriminella. Det är viktigt att användarnas kontonamn och lösenord krypteras på rätt sätt. Alla krypteringsmetoder är inte lika bra och därför bör du noga välja den effektivaste krypteringen för dina appar. Många andra element påverkar säkerheten i bakgrundsprogram, och det har skrivits många böcker i ämnet. Mer information finns bland annat i artikeln Building Secure ASP.NET Applications som du hittar på Microsofts webbplats för utvecklare på http://msdn.microsoft.com/en-us/library/ff649100.aspx.

Programvaruutveckling

Kapitel 6 Avancerad gränssnittsdesign

Innehåll ❷❸ Hur ser ett bra Windows 8-gränssnitt ut? Windows 8-apparnas grunder Rutnätssystem och bildpunkter Mallar för gränssnittskomponenter Uppgifter Frågor och svar

Hur ser ett bra Windows 8-gränssnitt ut? Ett bra gränssnitt består av flera detaljer, och det är viktigt att vara noga Den viktigaste frågan kan sammanfattas i en enda mening: är det lätt att lära sig och lätt att använda gränssnittet? Riktlinjerna för Windows 8-appar förespråkar minimalism både i gränssnittets design och i innehåll

Exempelgränssnitt

Windows 8 User Experience Guidelines Microsoft har samlat gränssnittsriktlinjerna för Windows 8-appar i en 300-sidig handbok, Windows 8 User Experience Guidelines Riktlinjerna gäller framförallt för normala XAML-baserade appar och produktivitetsappar De delar som rör apparnas användbarhet är viktiga även för spel

Windows 8-apparnas grunder Du måste ha vissa grundläggande kunskaper om gränssnittsdesign för att kunna skapa bra och effektiva appar Nu ska vi titta närmare på aspekter som skärmupplösning, layout, gränssnittskontroller och animeringar

Rutnätssystem Windows 8-appar kan köras på olika typer av enheter, från traditionella stationära datorer till små surfplattor Den minsta synliga enheten på skärmen är bildpunkten, men för gränssnittsdesign är den här enheten alldeles för liten Windows 8-appar använder ett gränssnittssystem som delar in skärmen i enheter och sedan i mindre delenheter

Windows 8-rutnät

Enhet Enhetsstorlekar Storlek: 20 20 bildpunkter Delenhet Storlek: 5 5 bildpunkter En enhet består av 4 4 = 16 delenheter Bildpunkt Fysisk bildpunkt på skärmen, storleken beror på vilken enhet som används

Upplösningar på Windows 8-enheter Den minsta upplösning som stöds för Windows 8-appar är 1366 768 bildpunkter Den här skärmen består av 63 38 enheter De skarpaste skärmarna i dag har upplösningar på 4K-nivå Den här typen av skärm har oftast 3840 2160 bildpunkter, vilket betyder att skärmen stöder visning av fyra HD-videor samtidigt Den vanligaste upplösningen på en Windows 8-enhet är full HDupplösning eller 1920 1080 bildpunkter Du bör också känna till begreppet dpi Punkter per tum (dots per inch) Ju högre dpi-värde, desto skarpare bild

Användning av skärmutrymme och dpi-värden Som utvecklare kan du välja hur du vill visa innehåll på högupplösta skärmar, antingen: 1. mer information (t.ex. nyhetsrubriker) eller 2. samma antal element men med större storlek Windows 8 kan automatiskt välja bilderna baserat på skärmens dpi-värde På så vis kan skärmar med bättre skärpa visa högupplösta bilder utan att programkoden behöver ändras

Skapa touchgränssnitt Windows 8-appar bör utformas för att främst användas via touch (principen touch först ) När appen fungerar bra med touch kan den genast användas även på enheter med andra inmatningsmetoder Ofta kombinationen mus och tangentbord, eller penna på vissa enheter

Händelsestyrda appar Windows 8-appar är händelsestyrda Det betyder att Windows-operativsystemen informerar apparna om viktiga ändringar genom händelser Exempel på händelser är en tryckning på skärmen, en tangenttryckning eller när enheten vänds från lodrätt till vågrätt läge

Händelsehanterare Du kan programmera en händelsehanterare för alla dessa händelser Hanteraren kör ett särskilt kodstycke beroende på typen av händelse Händelsehanterare kan definieras i fönstret Properties i Visual Studio

Händelser i Visual Studio Klicka på blixtikonen om du vill visa den valda komponentens händelser

Visa kommandon Windows 8-apparnas minimalistiska design innebär att det kanske inte finns några synliga kommandokontroller allt utrymme används för innehållet Men kommandon är viktiga och, beroende på app, kan det behövas flera dussin kommandon I Windows 8 kan du visa kommandon på flera olika sätt Den vanligaste metoden är att använda ett appfält

Appfält

Så här fungerar ett appfältet Ett appfält är ett vågrätt fält som visas när användaren sveper från ett hörn på skärmen Användaren kan också högerklicka på appen eller trycka på tangentbordsgenvägen Windows+Z Du kan placera appfältet längst upp eller längst ned på skärmen Nederkanten är den vanligaste placeringen och de vanligaste kommandona bör placeras där Kommandona i appfältet placeras antingen till vänster eller till höger i fältet, aldrig i mitten, så att det blir så lätt som möjligt att använda det på en surfplatta

Exempel <Page.BottomAppBar> <AppBar x:name="alapalkki"> <Grid> <StackPanel Grid.Column="1 HorizontalAlignment="Right Orientation="Horizontal"> <AppBarButton HorizontalAlignment="Left Label="Päivitä" VerticalAlignment="Top" Icon="Refresh"/> </StackPanel> </Grid> </AppBar> </Page.BottomAppBar>

Mallar för gränssnittskomponenter Det finns ungefär 40 komponentmallar för Windows 8-appar. Du hittar alla i verktygslådan i Visual Studio. För en enkel app kan det räcka med drygt tio olika komponenter. Nedan följer en beskrivning av de vanligaste komponenterna. Observera att du kan lägga till komponenter på skärmen medan appen körs.

Komponenter 1/2 Komponent Bild Beskrivning TextBlock Den här komponenten visar text med valt teckensnitt och angiven storlek. Själva texten definieras i komponentens Text-fält. Dessa komponenter brukar också kallas för etiketter. TextBox Button TextBox-komponenterna gör det möjligt att mata in text. Koden kan enkelt läsa texten med hjälp av komponentens Text-egenskap. Som namnet antyder skapar Button-komponenter olika typer av knappar för olika situationer. Som standard är dessa knappar rektangulära, men i till exempel appfältet är de runda. Knappar används också i meddelandedialogrutor. CheckBox RadioButton Med CheckBox kan användaren fatta beslut av typen ja/nej. Den här komponenten fungerar bäst när det bara finns några få alternativ. RadioButton fungerar som CheckBox, men användaren kan bara välja ett av flera alternativ till skillnad mot CheckBox som tillåter flera val.

Komponenter 2/2 ComboBox Med ComboBox kan användaren välja ett av flera alternativ. Jämfört med RadioButton är fördelen med ComboBox att den tar mycket mindre plats. DatePicker Med DatePicker kan användaren enkelt välja ett datum. Det är bättre att be användaren ange ett datum med hjälp av DatePicker än att använda TextBox. TimePicker Slider ToggleSwitch TimePicker fungerar som DatePicker, men i stället för ett datum frågar den efter en tid. Slider är ett användbart verktyg om du vill att användaren ska välja ett värde baserat på ett fördefinierat intervall, t.ex. en procentandel från noll till hundra. Den här skjutreglagekomponenten kanske inte passar i alla situationer, och när hög precision krävs är det bättre att kräva att värdet anges som ett tal. ToggleSwitch är lämpligt för situationer då en funktion måste sättas på eller stängas av. Användaren förväntar sig att den nya funktionen aktiveras direkt, precis som när ToggleSwitch används för att aktivera WiFi-anslutningen på en surfplatta.

Nödvändigt skärmutrymme När användaren öppnar en Windows 8-app fyller den som standard hela skärmen Användaren kan välja att flytta en app åt sidan så att två eller fler appar får plats på skärmen samtidigt I Windows 8.1 kan du visa fyra appar samtidigt bredvid varandra Varje app måste ha minst 320 bildpunkter vågrätt utrymme

Exempel

I programkoden Du kan enkelt kontrollera det tillgängliga skärmutrymmet med hjälp av programkod Till exempel så här: (wirth; heigth = Bounds.Height): int width = (int)window.current.bounds.width; screensizetextblock.text = "Current screen width is " + width + " pixels.";

Uppgifter 1. Ta reda på vilken som är den mest populära skärmupplösningen för Windows 8-enheter. 2. Skulle alla kommersiellt tillgängliga Windows 8- appar kunna skapas bara med gränssnittskomponenterna i Visual Studio? Var kan komponenter från tredje part skaffas, om sådana behövs? 3. Läs riktlinjerna för Windows 8-gränssnitt och se vad anpassningsbar layout betyder.

Frågor och svar 1 Visual Studio har flera tillgängliga gränssnittskomponenter. Hur vet jag vilken jag ska använda? Varje komponent har ett särskilt användningsområde. Val av typen ja eller nej kan till exempel visas med tre olika komponenter, men endast en av komponenterna kommer att passa en viss bestämd situation. Men valet står inte alltid mellan rätt och fel, utan mellan bra och bättre. Det bästa sättet att lära sig mer om riktlinjerna för komponenter är att läsa Microsofts rekommendationer. Du hittar dem i dokumentet Windows 8 User Experience Guidelines (se bild 6.2). Men valet står inte alltid mellan rätt och fel, utan mellan bra och bättre. Det bästa sättet att lära sig mer om riktlinjerna för komponenter är att läsa Microsofts rekommendationer. Du hittar dem i dokumentet Windows 8 User Experience Guidelines (se bild 6.2).

Frågor och svar 2 Jag vill testa min app på olika enheter men jag har bara en bärbar dator. Hur kan jag testa min app utan att behöva köpa alla olika typer av Windows 8-enheter? Det enklaste sättet att testa appens funktioner, t.ex. olika skärmupplösningar, är att använda simulatorn som ingår i Visual Studio. Du kan använda simulatorn om du vill testa olika upplösningar och skärmorienteringar (vågrät eller lodrät) på surfplattor. Ibland kanske du får chansen att testa din app på en riktig enhet. Därför bör du hålla koll på Microsofts event i Sverige, då man ibland anordnar särskilda workshops där du kan testa dina appar på olika enheter.

Programvaruutveckling

Kapitel 7 Appdistribution och appförsäljning

Innehåll ❷❸ Dina appar på dina enheter Windows Store-utvecklarkonto Distribuera appar Publicera en app i Store Viktiga fönster i Visual Studio Uppgifter Frågor och svar

Dina appar på dina enheter Du kanske inte behöver en Windows 8-enhet med pekskärm för testning under utvecklingsprocessen Enklare testning kan utföras med simulatorn i Visual Studio Den slutliga testningen bör dock göras på en verklig enhet, t.ex. en surfplatta

Simulatorn i Visual Studio

Microsoft Surface-surfplatta

Installera appar Windows 8 är byggt på ett sätt som förhindrar direktinstallation av Windows 8-appar På så sätt upprätthålls en hög säkerhetsnivå i hela operativsystemet Som utvecklare kan du överföra appen till en enhet via Visual Studio Vanliga användare kan bara installera appar genom Windows Store

Överföra appar 1. Öppna ditt Visual Studio-projekt. 2. Kontrollera att appen kan byggas utan fel. Välj Rebuild från Build-menyn. 3. Välj Device som distributionsmål i listan med val i verktygsfältet i Visual Studio. 4. Anslut enheten till datorn med en USB-kabel. 5. Klicka på Build/Deploy i Visual Studio. 6. Efter en liten stund bör appen ha överförts till enheten. Koppla från USB-kabeln. Nu bör appen visas på enhetens startskärm.

Välja målenhet i Visual Studio

Windows Store-utvecklarkonto Du behöver ett utvecklarkonto för att kunna sälja och distribuera appar i Windows Store Med detta konto kan du skicka din app till Microsoft för certifiering Om appen godkänns kan du publicera den i Windows Store till valfritt pris (eller gratis, och i så fall talar vi om distribution)

Skaffa ett utvecklarkonto Vem som helst som betalar den årliga kontoaktiveringsavgiften med ett krediteller betalkort kan skaffa ett utvecklarkonto För närvarande är årsavgiften 20 för privatpersoner och 75 för företag När du har betalat avgiften kan du skicka in så många appar du vill för försäljning och distribution Registrering: http://dev.windows.com/

Instrumentpanelen för ett utvecklarkonto

Distribuera appar Du kan bestämma var du vill distribuera och sälja din app Du kan välja något eller alla 80 länder som Microsoft Store finns i Antalet tillgängliga länder ökar hela tiden, så dina affärsmöjligheter blir bara bättre och bättre Om din app är på engelska kan det vara särskilt bra att inte begränsa antalet länder

Anmärkningar En global distribution av en app kan kräva vissa ändringar i appen Det mest konkreta exemplet är översättning av gränssnittet Du kanske också behöver tänka igenom färger, ikoner, ljud och läsriktning

Appinformationen i Store, t.ex. antal språk

Publicera en app i Store Innan du publicerar din app i Store måste du kontrollera att: appens funktioner är färdiga appen ser bra ut och fungerar optimalt I den senaste 2013-versionen av Visual Studio går publiceringen snabbare tack vare flera automatiska processer Publiceringen av Windows 8-appar är webbaserad

Appens namn Information som behövs för publiceringen Det här namnet är det namn som användarna använder när de söker efter din app i Store De länder där din app ska distribueras eller säljas (och prisintervallet) De populäraste prisalternativen är de lägsta priserna på mellan 10 20 kr, t.ex. 1,19, 1,69, 1,99 och 2,49 Ett distributionspaket APPX-filen innehåller appens kompilerade binärfil och relaterade stödfiler Bilder, skärmdumpar och en kort beskrivning Appen visas i Store med dess namn, bilder och skärmdumpar

Manifestfilen Manifestfilen är en del av alla Windows 8-appar Den innehåller den tekniska information som Store behöver Till exempel: systemkrav, tillgängliga språk o.s.v. Du kan leta upp manifestfilen i Visual Studio via fönstret Solution Explorer Manifestfilen är XML-baserad och kan redigeras i Visual Studio och manuellt i XML-koden

Manifestfilen

Redigera den i Visual Studio

Skicka in appen När appen och manifestfilen är klara och när appen har testats är det dags att skicka appen till Microsoft för certifiering Du kan göra det på något av två sätt: Använd en webbläsare och logga in till ditt utvecklarkonto på dev.windows.com Starta processen från Visual Studio

Skapa ett distributionspaket I Visual Studio kan du klicka på Store-menyn och välja Create App Packages Det här kommandot skapar ett distributionspaket för appen och kombinerar det med manifestfilen i ett paket som skickas till Microsoft

Skapa appaket

Förberett distributionspaket Du utför fyra steg när du skickar in en app När du har utfört stegen skapas en APPX-fil i projektmappen i Visual Studio Därefter måste du ladda upp appaketet till Store Det kan du göra med kommandot Upload App Packages i Visual Studio

Förberett distributionspaket

Viktiga fönster i Visual Studio Visual Studio 2013 är ett flexibelt utvecklingsverktyg som är avsett för både amatörer och professionella utvecklare Genom att bekanta dig med verktygen kan du utveckla appar snabbare Nu ska vi utforska de viktigaste fönstren i Visual Studio

Solution Explorer Solution Explorer är ett av de viktigaste underfönstren i Visual Studio Det används främst för att hantera filerna som hör till appen Det kan användas som ett sökverktyg för hela appen Du kan söka efter filer baserat på namn eller söka efter klasser och metoder i programkoden

Solution Explorer

Toolbox Fönstret Toolbox innehåller alla komponenter som du kan använda när du utformar appens gränssnitt Innehållet i verktygslådan ändras beroende på vilket Visual Studio-läge som är aktivt Om du skapar ett XAML-gränssnitt visas de tillgängliga gränssnittskomponenterna i verktygslådan

Toolbox

Properties Fönstret Properties visas oftast längst ned till höger i huvudvyn i Visual Studio Här kan du se information om det valda objektet och redigera de objektspecifika egenskaperna Ibland visas inte Properties och du måste ta fram det Tangentbordsgenvägen för Properties är F4

Properties

Team Explorer Team Explorer är inkörsporten till källkontroll och relaterade funktioner Källkontroll mellan olika utvecklare krävs om mer än en person arbetar med projektet samtidigt Källkontroll kan vara användbart även för enskilda utvecklare och ska inte underskattas Team Explorer ger åtkomst till Microsofts tjänst för källkontroll, TFS (Team Foundation Server) Git-källkontroll stöds också

Team Explorer

Uppgifter 1. Ta reda på hur många länder du högst kan distribuera dina appar i. Försök att bedöma hur många kunder du kan nå ut till. 2. Ge exempel på tre saker som du bör ta hänsyn till när du skapar flera språkversioner av din app. 3. Tänk igenom hur du skulle kunna öka försäljningen av appen genom att erbjuda en utvärderingsversion.

Frågor och svar 1 Min Windows 8-app är färdig och jag skulle vilja sälja den via Windows Store. Hur gör jag? Se till att du har registrerat ett utvecklarkonto antingen som privat utvecklare eller som ett företag. Se till att ditt kreditkort har registrerats och godkänts. Detta tar 3 4 dagar. När det är klart kan du skapa ett distributionspaket genom att följa anvisningarna i det här kapitlet och skicka in det till Microsoft på dev.windows.com.

Frågor och svar 2 I manifestfilen kan jag välja vilka funktioner appen använder, t.ex. platsdata, röst, kontaktbok o.s.v. Hur vet jag vilka funktioner jag måste välja? Som utvecklare måste du informera Microsoft om de tekniska funktioner (t.ex. nätverkstrafik, telefonposition o.s.v.) som din app använder. Den slutgiltiga granskningen av de funktioner som appen använder sker under certifieringen. Det betyder att om du råkar välja fel, så åtgärdas detta innan appen distribueras och säljs. Certifieringen avbryts dock om de val du gjort skiljer sig kraftigt från verkligheten.

Frågor och svar 3 Var hittar jag mer information om Microsofts molnbaserade system för källkontroll? Microsofts molnbaserade kostnadsfria tjänst för källkontroll för högst fem användare heter Visual Studio Online Basic (tidigare Team Foundation Service). Mer information om tjänsten och registreringssidan finns på www.visualstudio.com. Det finns en direktanslutning i Visual Studio till den här tjänsten via fönstret Team Explorer.

Programvaruutveckling

Kapitel 8 Avancerade avsnitt

Innehåll ❸ Effektiv användning av C# Asynkron programmering LINQ Visual Studio 2013 och Blend 2013 Källkontroll i molnet XAML-tips Marginaler och avtal Lokalisera appar Uppgifter Frågor och svar

Effektiv användning av C# C# är ett kraftfullt och flexibelt programmeringsspråk Flera moderna funktioner Till exempel generiska datatyper, stöd för asynkron programmering och parallellism, integrerat frågespråk o.s.v. Nu ska vi utforska några användbara funktioner i C#

Asynkron programmering Asynkrona processer inom programmering betyder att två eller fler funktioner körs parallellt (samtidigt) inte i en kö, vilket annars är vanligt Asynkrona processer kan användas i situationer då ett program verkar ha låst sig t.ex. när en stor fil laddas ned från webben.

C# och asynkrona processer Med de nya nyckelorden async och await är det lätt att använda asynkron programmering med C# Vid asynkron programmering används klassen Task i hög utsträckning, som ingår i Windows 8-klassbiblioteken

Exempelkod private async void StartButton_Click( object sender, RoutedEventArgs e) { try { Task<int> inttask = ExampleMethodAsync(); ResultsTextBox.Text += "Doing something else " + "while the method is processed"; int intresult = await inttask; ResultsTextBox.Text += String.Format( "Length: {0}\n\n", intresult); } catch (Exception) { //... } }

LINQ Förkortning av Language Integrated Query LINQ är ett frågespråk som är integrerat i C#. LINQ gör det enkelt att hämta data från flera olika källor Syntaxen påminner om SQL Om du redan kan SQL kan du snabbt lära dig LINQ

LINQ-exempelfråga int[] luvut = {5,3,9,7,1,6,10,4,2}; var lajiteltuna = from l in luvut where l > 5 orderby l select l; foreach (int luku in lajiteltuna) { // display number on screen... }

Datakällor som stöds i LINQ Det sista exemplet demonstrerade en LINQfråga som hämtar tal från en matris Förutom matriser och programinterna objekt kan LINQ hämta data från SQL-databaser Exempel på andra källor som stöds är XML-filer och webbkällor

Ett till exempel NorthwindEntities entities = new NorthwindEntities(); var FinnishClients = from c in entities.customers where c.country == "Finland" orderby c.companyname select c; foreach (var client in FinnishClients) { int ordercount = client.orders.count; // change processing... }

Visual Studio 2013 och Blend Visual Studio och Blend är systerverktyg. Du behöver båda för att utveckla Windows 8-appar Båda programmen har utformats så att det ska vara så enkelt som möjligt att arbeta med dem tillsammans När du har öppnat ditt projekt i Visual Studio kan du enkelt växla till Blend och redigera valfri XAML-fil Det snabbaste sättet att byta program är att klicka på kommandot Open in Blend från snabbmenyn i Solution Explorer

Starta Blend

Källkontroll Källkontroll är en integrerad del i alla programvaruprojekt Källkontroll gör det möjligt för flera utvecklare att hålla koll på och samordna samtidiga ändringar Ändrad eller borttagen kod kan hämtas om det behövs Alla utvecklare bör känna till grunderna i källkontrollsystem

Microsofts lösning Visual Studio fungerar bra med Microsofts system för källkontroll Team Foundation Service (eller TFS) En molnbaserad tjänst som används direkt från Visual Studio eller med en webbläsare

Team Foundation Service

Använda TFS från Visual Studio Under registreringen kan du välja ett namn för tjänsten Det här namnet används för att skapa en URL-adress för ditt projekt, som sedan anges i Visual Studio En anslutning upprättas i Visual Studio Team Explorer När anslutningen har upprättats kan du fortsätta att använda källkontroll utan ytterligare definitioner

TFS-serverns egenskaper

CodePlex CodePlex är en öppen webbtjänst för community-utveckling av open sourcelösningar CodePlex innehåller en förenklad version av ett TFS-baserat system för källkontroll CodePlex har tiotusentals aktiva användare och många intressanta projekt

XAML-tips Windows 8-gränssnitten skrivs i XAML Genom att bekanta dig med funktionerna i XAML kan du utveckla bättre appar snabbare Här är tre tips för bättre XAML-programmering

Komponentmarginaler Ofta definieras gränssnittskomponenternas storlek och placering med Margin-värdet Värdena är relativa och beror på om komponenten i fråga finns i en annan komponent eller inte

Exempel Så här ser Margin-värdet ut i XAML-kod: <Rectangle Margin="7,7,40,20" /> Margin-värdet består av fyra värden, som representerar avståndet mellan komponentens kanter till det överordnade elementets kanter Värdena är ordnade så här: left, top, right, bottom

Marginalinställning i Visual Studio

Avtal En Windows 8-app kan ansluta till operativsystemets funktioner med hjälp av avtal Operativsystemet och appar kan utbyta data genom avtal Vissa grundläggande processer behöver inte köras separat i varje program

Avtal för Sök Ett exempel på den här typen av koppling är sökfunktionen i Windows Med avtalet för Sök tas data från din app med i resultatet när användaren använder sökfunktionen i operativsystemet Innehållet kan vara text, bilder, video o.s.v.

Sökfunktionen i Windows

Lokalisera appar Om du ska distribuera en app eller ett spel utanför Sverige bör du även fundera på om appen borde översättas till andra språk Det är enkelt att översätta Windows 8-appar till flera språk

Två översättningsaspekter Det finns två olika översättningsaspekter lokalisering och globalisering Lokalisering Att översätta och anpassa appen till målkulturen (t.ex. färger och ikoner, ordlekar i spel o.s.v.) Globalisering Att programmera ett program som bara finns på t.ex. svenska eller engelska så att det stöder olika datum, valutor och tusentalsavgränsare utan att översätta gränssnittet

Kontrollera vilka språk som används Du kan kontrollera användarnas nationella inställningar och språkinställningar med rätt kodsträngar Biblioteksklasser Windows.Globalization.Language System.Globalization.CultureInfo

Exempel string keyboard = Windows. Globalization.Language. CurrentInputMethodLanguageTag; string operating system = System. Globalization.CultureInfo. CurrentCulture.Name;

Översätta gränssnittet Om du vill översätta gränssnittet till andra språk bör du använda resursfiler I stället för att lägga till texten som visas i TextBlock- och Button-komponenterna i XAML-koden, skrivs texten till en resursfil för respektive språk när du använder resursfiler Du känner lätt igen resursfiler i Solution Explorer i Visual Studio på filnamnstillägget.resw

Resursfilernas plats Resursfilerna sparas i undermappen Strings i projektet Du kan behöva skapa den här mappen manuellt Fler undermappar skapas i den här mappen för varje språkkod Språkkoder har formatet xx-xx Exempelvis är undermappen för svenska sv-se

Resursfilernas plats

Redigera resursfiler Resursfiler redigeras i Visual Studio i tabeller som påminner om Excel-tabeller, med en nyckel till vänster och värdet till höger Du kan kopiera och klistra in värdena i Excel och skicka filen till en översättningsbyrå Nyckeln består av två delar: först ett unikt namn (t.ex. komponentens namn) och sedan egenskapens namn avgränsat med en punkt. Det senare namnet lokaliseras. Exempel: Button.Content

Redigeringsvyn i Visual Studio

Lokaliserade XAML-definitioner För att lokaliserade resursfiler ska fungera behöver varje gränssnittskomponent ett Uid-attribut Observera att du kan lämna den ursprungliga definitionen i XAML-koden, t.ex. knappens visningstext När appen körs kan Windows programbibliotek läsa in resursfilerna som matchar användarens nationella inställningar och visa gränssnittet baserat på dessa värden

Exempel <Button x:uid="mybutton" Content="Button" /> Uid-värde Attribut som ska lokaliseras Egenskapen Name anger den valda komponentens Uid-värde och vilken egenskap som ska lokaliseras. Formatet är component.property.