Supercharging your Xamarin app! 3 must use libraries

Preview:

Citation preview

3 must use libraries

Supercharging your Xamarin app!

Join the Conversation #hackday @ChrisBriggsy

Chris Briggs

@ChrisBriggsy

Senior Software Developer

Blog at

blog.chrisbriggsy.com

Head up IoT at SSW

Join the Conversation #hackday @ChrisBriggsy

Join the Conversation #hackday @ChrisBriggsy

Thanking our sponsors

Text “SUPERCHARGE-XAMARIN” to 0437 333 075

Want these slides?

Standard cost of SMS within Australia will apply

Make handling transient exception child's play

Save pull your hair when debugging asynchronous errors

Simplify persisting data cross platformAgenda

Stage 0 – Just An idea

• Focus on Features

• Trying to solve a problem

• Anything is possible

• Scope creep

Join the Conversation #hackday @ChrisBriggsy

Stage 1 – Proof of concept

• Build a proof of concept

• Core functionality working

• Probably buggy

• Flesh the app out

Join the Conversation #hackday @ChrisBriggsy

Stage 2 – Beta testing

• Start gathering data

• Start listening to user

feedback

• Realise application is fragile

• Improve the app

Join the Conversation #hackday @ChrisBriggsy

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

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

Join the Conversation #hackday @ChrisBriggsy

What stage are you at?

Tweet @ChrisBriggsy

Join the Conversation #hackday @ChrisBriggsy

internet connections are unreliable on mobile apps

Join the Conversation #hackday @ChrisBriggsy

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

Join the Conversation #hackday @ChrisBriggsy

Join the Conversation #hackday @ChrisBriggsy

No internet connection

Join the Conversation #hackday @ChrisBriggsy

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

Join the Conversation #hackday @ChrisBriggsy

Join the Conversation #hackday @ChrisBriggsy

Join the Conversation #hackday @ChrisBriggsy

Fody. AsyncErrorHandler

• Fody - Extensible tool for weaving .net assemblies

• AsyncErrorHandler - integrate error handling into

async code

Join the Conversation #hackday @ChrisBriggsy

Join the Conversation #hackday @ChrisBriggsy

Join the Conversation #hackday @ChrisBriggsy

Join the Conversation #hackday @ChrisBriggsy

Recommended Fody Add-ins

PropertyChanged - Injects INotifyPropertyChanged

code into properties.

CryptStr - Encrypt literal strings in your .NET

assemblies.

Join the Conversation #hackday @ChrisBriggsy

Make handling transient exception child's play

Save pull your hair when debugging asynchronous errors

Simplify persisting data cross platformSummary

Text “SUPERCHARGE-XAMARIN” to 0437 333 075

Want these slides?

Standard cost of SMS within Australia will apply

The Weather app challenge

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

/swagger

Step 2 : Create a Xamarin weather app

Need inspiration?

Step 3 : Present!