Slide 1

Slide 1 text

Build your apps on the shoulders of giants Components Team @redth Jonathan Dick

Slide 2

Slide 2 text

I let other developers make me look good

Slide 3

Slide 3 text

■ Is there already a (free) solution? ■ Is it economical to purchase ■ Most C# will work! Programming is Flipping Hard Work!

Slide 4

Slide 4 text

By using Xamarin’s Components store you can build your apps faster and improve how they look and how they perform. Hi, I’m Jonathan Dick

Slide 5

Slide 5 text

“If I have seen further it is by standing on the shoulders of Giants.” Sir Isaac Newton

Slide 6

Slide 6 text

200+ http://components.xamarin.com

Slide 7

Slide 7 text

Anatomy of a Component Types of Components ■ Themes ■ User Controls ■ Libraries What’s Inside? ■ Videos / Screenshots ■ Reusable Libraries ■ Documentation ■ Getting Started Guide ■ Sample Solutions

Slide 8

Slide 8 text

What about NuGet?

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Xamarin Studio NuGet Support

Slide 11

Slide 11 text

Components vs NuGet • NuGets are great for distributing reusable code… • NOT so great for distributing documentation and samples Not mutually exclusive! • Components are Important to us • Samples, Getting Started • Curation - review process • Paid Components

Slide 12

Slide 12 text

Meet some of the giants

Slide 13

Slide 13 text

Syncfusion Essential Studio Xamarin.Forms Data Visualizations • Charts • Guages • Tree Maps Document Viewing & Creation • Microsoft Word & Excel Documents • PDF

Slide 14

Slide 14 text

Modern HTTP Client Native System.Net.Http Handlers • Android: Square’s OkHttp Library • iOS: NSUrl* API’s using System.Net.Http;
 
 // iOS
 var httpClient = new HttpClient(new NSUrlSessionHandler());
 
 // Android
 var httpClient = new HttpClient(new OkHttpNetworkHandler());


Slide 15

Slide 15 text

Azure Mobile Services Authentication var provider = MobileServiceAuthenticationProvider .GoogleAccount;
 
 var user = await azure.LoginAsync(view, provider);
 Data Storage var client = new MobileServiceClient ("URL", "KEY");
 
 var todoTable = client.GetTable(); 
 
 await todoTable.InsertAsync(new TodoItem {
 Title = "Find the monkey"
 });

Slide 16

Slide 16 text

Couchbase Lite .NET Lightweight, NoSQL, syncable database engine // Create a document
 var doc = Database.CreateDocument();
 
 // Save a document
 var result = doc.PutProperties ( new Dictionary {
 { "text", value } ,
 { "check", false } ,
 { "created_at", jsonDate }
 });
 
 // Read a document
 var doc = this.Database.GetExistingDocument (documentID);
 IDictionary contents = doc.Properties;


Slide 17

Slide 17 text

Bindings to Native libraries Google Cardboard
 Android Bindings Facebook
 iOS / Android Bindings Amazon Fire Phone
 Android Bindings


Slide 18

Slide 18 text

Demo

Slide 19

Slide 19 text

Find a Giant. Be a Giant.

Slide 20

Slide 20 text

Q&A