windows phone geek night

23
Windows Phone Geek Night 12/6-2012 Mads Jensen Software Pilot, Trifork [email protected] twitter: ArbitraryJensen Niels Ladegaard Beck Software Pilot, Trifork [email protected] twitter: nielslbeck

Upload: bandele

Post on 23-Feb-2016

27 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Windows Phone Geek Night

Windows Phone Geek Night12/6-2012

Mads JensenSoftware Pilot, Trifork

[email protected]: ArbitraryJensen

Niels Ladegaard BeckSoftware Pilot, Trifork

[email protected]: nielslbeck

Page 2: Windows Phone Geek Night

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

Page 3: Windows Phone Geek Night

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

Page 4: Windows Phone Geek Night

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

Page 5: Windows Phone Geek Night

Byggemiljø Udfordring

– Release af apps til forskellige lande.

Page 6: Windows Phone Geek Night

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'"> …

Page 7: Windows Phone Geek Night

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

Page 8: Windows Phone Geek Night

Sproghåndtering Google spreadsheet Custom tool 

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

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

bundle[key]);}

Page 9: Windows Phone Geek Night

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

Page 10: Windows Phone Geek Night

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

Page 11: Windows Phone Geek Night

Navigation NavigationService

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

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

Page 12: Windows Phone Geek Night

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

– ListPicker– DatePicker– Tray’en

Page 13: Windows Phone Geek Night

Test Unittests

– NUnit– Mocking– Integration i udviklingsmiljøet

• NCrunch

Page 14: Windows Phone Geek Night

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 |

Page 15: Windows Phone Geek Night

Test Automation Frameworks Cucumber, Calabash, Robotium,

Apple UIAutomation, Capybara, Selenium and Watir

WindowsPhoneTestFramework

Page 16: Windows Phone Geek Night

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

Page 17: Windows Phone Geek Night

WindowsPhoneTestFramework - stabil?

Page 18: Windows Phone Geek Night

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

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

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

</TextBox>

Page 19: Windows Phone Geek Night

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

Page 20: Windows Phone Geek Night

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

Page 21: Windows Phone Geek Night

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

Page 22: Windows Phone Geek Night

Links Application Certification

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

WindowsPhoneTestFrameworkhttps://github.com/Expensify/WindowsPhoneTestFramework

Page 23: Windows Phone Geek Night

?