42
Tools and processes we use to build apps quickly and to a very high standard. Timur Garifzyanov

Tool and processes we use to build apps quickly and to a very high standard

Embed Size (px)

Citation preview

Page 1: Tool and processes we use to build apps quickly and to a very high standard

Tools and processes we use to build apps quickly and to a very high standard.Timur Garifzyanov

Page 2: Tool and processes we use to build apps quickly and to a very high standard

1. Badoo2. Windows phone at Badoo3. Architecture, tools, patterns

Page 3: Tool and processes we use to build apps quickly and to a very high standard

Badoo

Page 4: Tool and processes we use to build apps quickly and to a very high standard

Badoo - 269,570,384 registered

Page 5: Tool and processes we use to build apps quickly and to a very high standard

190 countries

Page 6: Tool and processes we use to build apps quickly and to a very high standard

+250 employees who speak 46 languages

Page 7: Tool and processes we use to build apps quickly and to a very high standard

Moscow and London

Page 8: Tool and processes we use to build apps quickly and to a very high standard

Technologies

Page 9: Tool and processes we use to build apps quickly and to a very high standard

Mobile 80% - Web 20%

Page 10: Tool and processes we use to build apps quickly and to a very high standard

Platforms

Page 11: Tool and processes we use to build apps quickly and to a very high standard

User Profile Current World Region Android iOS Windows

AFRICA 5% 1% 6%APAC 1% 2% 0%ASIA 7% 5% 7%EURO 41% 42% 42%LATAM 21% 6% 33%

MENA 9% 7% 3%NAMER 17% 37% 9%

Page 12: Tool and processes we use to build apps quickly and to a very high standard

Windows phone at Badoo

Page 13: Tool and processes we use to build apps quickly and to a very high standard

OS Percent8.10 84.78.0 8.077.10 6.3210.0 0.94

Page 14: Tool and processes we use to build apps quickly and to a very high standard

Windows Phone – 678,000 monthly

Page 15: Tool and processes we use to build apps quickly and to a very high standard

2m sessions daily

Page 16: Tool and processes we use to build apps quickly and to a very high standard

Average rating is 4.5 stars

Page 17: Tool and processes we use to build apps quickly and to a very high standard

2 developers + 2 QA

Page 18: Tool and processes we use to build apps quickly and to a very high standard
Page 19: Tool and processes we use to build apps quickly and to a very high standard

Experimental platform

Page 20: Tool and processes we use to build apps quickly and to a very high standard

Architecture, tools, patterns

Page 21: Tool and processes we use to build apps quickly and to a very high standard

Easily change anything

Page 22: Tool and processes we use to build apps quickly and to a very high standard

Don’t break things

Page 23: Tool and processes we use to build apps quickly and to a very high standard

Async/await

Page 24: Tool and processes we use to build apps quickly and to a very high standard

async/await is greatvar image = await new ImageDownloader().Download(LargeUrl); ImageSessionCacheService.Put(ImageCacheService.GetCacheKey(LargeUrl), image);

        

Page 25: Tool and processes we use to build apps quickly and to a very high standard

Every page is a function

Page 26: Tool and processes we use to build apps quickly and to a very high standard

Modal window serviceawait ModalWindowService.ShowAsync<UploadPhotoPage, List<Photo>>(params);

        

Page 27: Tool and processes we use to build apps quickly and to a very high standard

xaml

Page 28: Tool and processes we use to build apps quickly and to a very high standard

App.xaml<Application.Resources>

<ResourceDictionary><state:UserState x:Key="UserState" />

</ResourceDictionary></Application.Resources>

        

Page 29: Tool and processes we use to build apps quickly and to a very high standard

MenuText="{Binding Person.Name, Source={StaticResource UserState}}"

        

Page 30: Tool and processes we use to build apps quickly and to a very high standard

Behaviors<i:Interaction.Behaviors>

<behaviors:ManageImageBehavior IsBlured="True" Source="{Binding Url}" /></i:Interaction.Behaviors>

        

Page 31: Tool and processes we use to build apps quickly and to a very high standard

Triggers<ec:DataTrigger Binding="{Binding PromoBlockType, ElementName=UserControl}“ Value=“1”>

<ec:ChangePropertyAction PropertyName="Visibility" Value="Visible" /></ec:DataTrigger>

        

Page 32: Tool and processes we use to build apps quickly and to a very high standard

Styles<Style x:Key="PhotoPlaceholder“><Style x:Key="TopBarStyle“><Style x:Key="PopularityControlStyle“>

        

Page 33: Tool and processes we use to build apps quickly and to a very high standard

Content Templates<conditional:ConditionalControl>

<conditional:IfFeatureEnable FeatureType=“FEATURE"><DataTemplate>

<Button Width="328“></Button>

</DataTemplate></conditional:IfFeatureEnable>

</conditional:ConditionalControl>

        

Page 34: Tool and processes we use to build apps quickly and to a very high standard

Content Templates <conditional:ConditionalControl>

<conditional:IfAbTestVariation TestId=“1” VariationId=“2”><DataTemplate>

<Button Width="328“></Button>

</DataTemplate></conditional:IfAbTestVariation>

</conditional:ConditionalControl>

        

Page 35: Tool and processes we use to build apps quickly and to a very high standard

C# 6

Page 36: Tool and processes we use to build apps quickly and to a very high standard

Null-conditional operatorsIf (Object != null && Object.Field != null && Object.Field.Field != null && Object.Field.Field.Enabled){ Action();}

        

Page 37: Tool and processes we use to build apps quickly and to a very high standard

Null-conditional operatorsIf (Object?.Field?.Field?.Enabled == true){ Object.Field.Field.Action();}

        

Page 38: Tool and processes we use to build apps quickly and to a very high standard

NameofOnPropertyChanged(nameof(Property))

        

Page 39: Tool and processes we use to build apps quickly and to a very high standard

JiraTelerikFxCop

TeamCityStyleCop

ResharperVisual Studio 2015

Page 40: Tool and processes we use to build apps quickly and to a very high standard

We are hiring

Page 41: Tool and processes we use to build apps quickly and to a very high standard

7500£

Page 42: Tool and processes we use to build apps quickly and to a very high standard

Contacts

Timur GarifzyanovWindows Phone Team [email protected] & [email protected] & @garifzyanov_tim