33
3 must use libraries Supercharging your Xamarin app! Join the Conversation #hackday @ChrisBriggsy

Supercharging your Xamarin app! 3 must use libraries

Embed Size (px)

Citation preview

Page 1: Supercharging your Xamarin app! 3 must use libraries

3 must use libraries

Supercharging your Xamarin app!

Join the Conversation #hackday @ChrisBriggsy

Page 2: Supercharging your Xamarin app! 3 must use libraries

Chris Briggs

@ChrisBriggsy

Senior Software Developer

Blog at

blog.chrisbriggsy.com

Head up IoT at SSW

Join the Conversation #hackday @ChrisBriggsy

Page 3: Supercharging your Xamarin app! 3 must use libraries

Join the Conversation #hackday @ChrisBriggsy

Thanking our sponsors

Page 4: Supercharging your Xamarin app! 3 must use libraries

Text “SUPERCHARGE-XAMARIN” to 0437 333 075

Want these slides?

Standard cost of SMS within Australia will apply

Page 5: Supercharging your Xamarin app! 3 must use libraries

Make handling transient exception child's play

Save pull your hair when debugging asynchronous errors

Simplify persisting data cross platformAgenda

Page 6: Supercharging your Xamarin app! 3 must use libraries

Stage 0 – Just An idea

• Focus on Features

• Trying to solve a problem

• Anything is possible

• Scope creep

Join the Conversation #hackday @ChrisBriggsy

Page 7: Supercharging your Xamarin app! 3 must use libraries

Stage 1 – Proof of concept

• Build a proof of concept

• Core functionality working

• Probably buggy

• Flesh the app out

Join the Conversation #hackday @ChrisBriggsy

Page 8: Supercharging your Xamarin app! 3 must use libraries

Stage 2 – Beta testing

• Start gathering data

• Start listening to user

feedback

• Realise application is fragile

• Improve the app

Join the Conversation #hackday @ChrisBriggsy

Page 9: Supercharging your Xamarin app! 3 must use libraries

Stage 3 – Set it loose

• Release in to the app store

• Continue gathering data

• Continue listening to user

feedback

• Continue to Improve the app

• Sink or Swim

Join the Conversation #hackday @ChrisBriggsy

Page 10: Supercharging your Xamarin app! 3 must use libraries

Stage 4 – Improving the app by metrics

• The app has been out for a while

• Focus on visibility into the application

• Errors logged + reports

• End user usage

• Performance Metrics

• Store rating trends

• Feature X is not the key feature of the

app but used by 75% of users

• Therefore: We should spend additional time to

polish feature x

Join the Conversation #hackday @ChrisBriggsy

Page 11: Supercharging your Xamarin app! 3 must use libraries

Join the Conversation #hackday @ChrisBriggsy

What stage are you at?

Tweet @ChrisBriggsy

Page 12: Supercharging your Xamarin app! 3 must use libraries

Join the Conversation #hackday @ChrisBriggsy

Page 13: Supercharging your Xamarin app! 3 must use libraries

internet connections are unreliable on mobile apps

Join the Conversation #hackday @ChrisBriggsy

Page 14: Supercharging your Xamarin app! 3 must use libraries

What is Polly?

• Express transient exception handling policies in a

fluent manner.

• Retry, Retry Forever, Wait and Retry or

Circuit Breaker

• Works across .NET 3.5 / 4.0 / 4.5 / PCL

Join the Conversation #hackday @ChrisBriggsy

Page 15: Supercharging your Xamarin app! 3 must use libraries

Join the Conversation #hackday @ChrisBriggsy

Page 16: Supercharging your Xamarin app! 3 must use libraries

Join the Conversation #hackday @ChrisBriggsy

Page 17: Supercharging your Xamarin app! 3 must use libraries

No internet connection

Join the Conversation #hackday @ChrisBriggsy

Page 18: Supercharging your Xamarin app! 3 must use libraries

What is Akavache

• Asynchronous Persistent key-value storage

• Its a way to write data to disk without locking up the

UI of an application.

• Awesome framework for caching data.

• Very useful for storing important data

Join the Conversation #hackday @ChrisBriggsy

Page 19: Supercharging your Xamarin app! 3 must use libraries

Join the Conversation #hackday @ChrisBriggsy

Page 20: Supercharging your Xamarin app! 3 must use libraries

Join the Conversation #hackday @ChrisBriggsy

Page 21: Supercharging your Xamarin app! 3 must use libraries

Join the Conversation #hackday @ChrisBriggsy

Page 22: Supercharging your Xamarin app! 3 must use libraries

Fody. AsyncErrorHandler

• Fody - Extensible tool for weaving .net assemblies

• AsyncErrorHandler - integrate error handling into

async code

Join the Conversation #hackday @ChrisBriggsy

Page 23: Supercharging your Xamarin app! 3 must use libraries

Join the Conversation #hackday @ChrisBriggsy

Page 24: Supercharging your Xamarin app! 3 must use libraries

Join the Conversation #hackday @ChrisBriggsy

Page 25: Supercharging your Xamarin app! 3 must use libraries

Join the Conversation #hackday @ChrisBriggsy

Page 26: Supercharging your Xamarin app! 3 must use libraries

Recommended Fody Add-ins

PropertyChanged - Injects INotifyPropertyChanged

code into properties.

CryptStr - Encrypt literal strings in your .NET

assemblies.

Join the Conversation #hackday @ChrisBriggsy

Page 27: Supercharging your Xamarin app! 3 must use libraries

Make handling transient exception child's play

Save pull your hair when debugging asynchronous errors

Simplify persisting data cross platformSummary

Page 28: Supercharging your Xamarin app! 3 must use libraries

Text “SUPERCHARGE-XAMARIN” to 0437 333 075

Want these slides?

Standard cost of SMS within Australia will apply

Page 29: Supercharging your Xamarin app! 3 must use libraries

The Weather app challenge

Page 30: Supercharging your Xamarin app! 3 must use libraries

Step 1 : Go to http://xamarinhackdayweather.azurewebsites.net

/swagger

Page 31: Supercharging your Xamarin app! 3 must use libraries

Step 2 : Create a Xamarin weather app

Page 32: Supercharging your Xamarin app! 3 must use libraries

Need inspiration?

Page 33: Supercharging your Xamarin app! 3 must use libraries

Step 3 : Present!