windows phone geek night
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 PresentationTRANSCRIPT
Windows Phone Geek Night12/6-2012
Mads JensenSoftware Pilot, Trifork
[email protected]: ArbitraryJensen
Niels Ladegaard BeckSoftware Pilot, Trifork
[email protected]: 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
?