1 / 23

Windows Phone Geek Night

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

bandele
Download Presentation

Windows Phone Geek Night

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

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

  3. 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

  4. 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

  5. Byggemiljø • Udfordring • Release af apps til forskellige lande.

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

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

  8. Sproghåndtering • Google spreadsheet • Custom tool  using (var resx = new ResXResourceWriter(ResourcesLabels + localeValue + ".resx")) { foreach (var key in keys) resx.AddResource(key, bundle[key]); }

  9. 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

  10. 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

  11. Navigation • NavigationService • URI-baseret • Parametre via querystring • Ikke typestærk navigation • Ingen returværdi • Navigation til view – ikke viewmodel

  12. Styling • Don’t! • Styling er en smal sag – men... • ListPicker • DatePicker • Tray’en

  13. Test • Unittests • NUnit • Mocking • Integration i udviklingsmiljøet • NCrunch

  14. Integrationstest • Cucumber Feature: 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 |

  15. Test Automation Frameworks • Cucumber, Calabash, Robotium, Apple UIAutomation, Capybara, Selenium and Watir • WindowsPhoneTestFramework

  16. 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

  17. WindowsPhoneTestFramework - stabil?

  18. Controls • Customs controls • Behaviors <TextBox InputScope="Search" Text="{Binding SearchText, Mode=TwoWay}" Name="searchTextBox"> <i:Interaction.Behaviors> <util:UpdateOnSearchBehavior/> </i:Interaction.Behaviors> </TextBox>

  19. 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

  20. 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

  21. 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

  22. Links • Application Certification Requirements for Windows Phonehttp://msdn.microsoft.com/en-us/library/hh184843(v=VS.92).aspx • WindowsPhoneTestFrameworkhttps://github.com/Expensify/WindowsPhoneTestFramework

  23. ?

More Related