Windows Phone Geek Night

Post on 23-Feb-2016

26 views 0 download

description

Windows Phone Geek Night. Mads Jensen Software Pilot, Trifork mjn@trifork.com twitter: ArbitraryJensen. Niels Ladegaard Beck Software Pilot, Trifork nlb@trifork.com twitter: nielslbeck. 12/6-2012. Agenda. Præsentation af Danske Banks app Udviklingsmiljø Pakker/toolkits - PowerPoint PPT Presentation

Transcript of Windows Phone Geek Night

Windows Phone Geek Night12/6-2012

Mads JensenSoftware Pilot, Trifork

mjn@trifork.comtwitter: ArbitraryJensen

Niels Ladegaard BeckSoftware Pilot, Trifork

nlb@trifork.comtwitter: nielslbeck

Agenda Præsentation af Danske Banks app Udviklingsmiljø Pakker/toolkits Metro/stærkt brand Navigation Styling Test Deployment Bugs/aha-oplevelser/husk

Præsentation af Danske Banks app Lavet i samarbejde med Danske

Bank og in2media 4 seperate apps

– Danske Bank– Fokus Bank– Sampo Pankki– Danske Bank SE

Udviklingsmiljø

Visual Studio 2010– ReSharper

TeamCity– Windows Server 2008 – Virtualiseret Windows 7 – Agent på Windows 7 bærbar

Testmobiler– Samsung Omnia 7– HTC Radar– Nokia Lumia 800

Byggemiljø Udfordring

– Release af apps til forskellige lande.

Løsning Opret Debug/Release til de

forskellige lande. ReleaseDK DebugDK, ... 

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseDK|AnyCPU'"> … 

<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugDK|AnyCPU' OR '$(Configuration)|$(Platform)' == 'DebugSE|AnyCPU' OR '$(Configuration)|$(Platform)' == 'DebugFI|AnyCPU' OR '$(Configuration)|$(Platform)' == 'DebugNO|AnyCPU'"> …

Løsning part 2 Conditional compilation symbols #if DK// some code#elif NO// come code Norway...#endif

Sproghåndtering Google spreadsheet Custom tool 

using (var resx = new ResXResourceWriter(ResourcesLabels + localeValue + ".resx")) {

foreach (var key in keys)resx.AddResource(key,

bundle[key]);}

Pakker/toolkits MetroGridHelper MVVM Light Toolkit

– Code snippets, base classes, ViewModelLocator, RelayCommand og Messaging

BindableApplicationBar Json.NET

– Kommunikation med backenden– Persistering i isolated storage

Silverlight for Windows Phone Toolkit– Date/time pickers, ListPicker, LockablePivot,

PhoneTextBox, TiltEffect samt transitions Async CTP

Metro/stærkt brand Metro designsproget

– Ingen gradients– Ingen streger– Ingen skygger– Ingen odd/even-rows i lister– Animationer– Win as one

Brandet sikret gennem– Skrifttype i overskrifter– Genbrug af ikoner

• Ikonerne på valutalisten er runde og med lys – men uden skygger

– Svage gradients på samtlige sider

Navigation NavigationService

– URI-baseret• Parametre via querystring• Ikke typestærk navigation

– Ingen returværdi– Navigation til view – ikke viewmodel

Styling Don’t! Styling er en smal sag – men...

– ListPicker– DatePicker– Tray’en

Test Unittests

– NUnit– Mocking– Integration i udviklingsmiljøet

• NCrunch

Integrationstest CucumberFeature: Search courses In order to ensure better utilization of courses Potential students should be able to search for courses  Scenario: Search by topic Given there are 240 courses which do not have the topic

"biology" And there are 2 courses A001, B205 that each have "biology"

as one of the topics When I search for "biology" Then I should see the following courses: | Course code | | A001 | | B205 |

Test Automation Frameworks Cucumber, Calabash, Robotium,

Apple UIAutomation, Capybara, Selenium and Watir

WindowsPhoneTestFramework

Feature: App Test In order to test my app As a WP7 Developer I want to see it start and take a picture

of it Scenario: Start the app Given my app is uninstalled And my app is installed And my app is running Then I wait 5 seconds Then take a picture

WindowsPhoneTestFramework - stabil?

Controls Customs controls Behaviors<TextBox InputScope="Search" Text="{Binding

SearchText, Mode=TwoWay}" Name="searchTextBox"><i:Interaction.Behaviors>

<util:UpdateOnSearchBehavior/></i:Interaction.Behaviors>

</TextBox>

Deployment - udviklingsfasen 2 muligheder

– Deployment via Marketplace – beta apps• LiveID til mobiler skal benyttes• Ikoner, screenshots, tekster osv.• Unik URL sendes manuelt rundt

– App’en downloades direkte via telefonen• Ingen opdateringer

– Test-telefoner låses op som udviklertelefoner• Som standard 3 devices – henvendelse til

supporten for flere• XAP-fil distribueres

– App’en deployes via Application Deployment Tool

Deployment - Marketplace Læs reglerne for publicering på Marketplace Læg i god tid en prøveversion på Marketplace

(den kan skjules) for at se, hvor Microsoft finder ”fejl”

Undgå storstilet reklamekampagne umiddelbart i forbindelse med lanceringen af appen– Godkendelseprocessen kan trække ud – evt. med

afvisning– Efter godkendelse kan det ta’ op til 48 timer før

app’en kan hentes• En statusændring (f.eks. skjult til synlig) kan ligeledes ta’

48 timer

Bugs/aha-oplevelser/husk Silverlight Toolkit for Windows Phone

– PhoneTextBox Hint ses stadig ved databinding af Text

Hvid tekst i tray’en Sprog på views Komma i stedet for punktum på numerisk

tastatur Ordbogen i TextBox med InputScope=Search TextChanged på TextBox GUI-tråden

Links Application Certification

Requirements for Windows Phonehttp://msdn.microsoft.com/en-us/library/hh184843(v=VS.92).aspx

WindowsPhoneTestFrameworkhttps://github.com/Expensify/WindowsPhoneTestFramework

?