March 12, 2014

Building Enterprise Dashboards on the iPhone and iPad

By

Over the years traditional desktop applications have excelled at rendering large amounts of data on large multi-monitor configurations by leveraging beautiful dashboard and graphing controls from .NET vendors. The enterprise landscape has evolved into a bring your own device workplace and enterprise applications have also started to evolve to adjust for this shift. It is now up to development teams to reimagine their applications from a point and click mouse experience to a beautiful touch based mobile experience that can deliver a truly native experience on each platform. Mobile users desire easy content consumption with simple touch interactions and blazingly fast native performance to fully immerse them visually. They want to get to the data they are most interested in and get to that data quickly.

 nuclios-charts

With Xamarin you can create beautiful native experiences for all types of mobile application including bringing these dashboards to mobile devices. We understand that mobile developers need to deliver alluring apps for enterprises and consumers by embracing native platform features while still being highly productive in their development environment. We have a rich ecosystem of components and controls to get developers up and running immediately with highly performing, visual, and customizable controls that meet business requirements. This of course includes dashboards that you can bring to your applications.

Nuclios-Logo

One of these controls is from Infragistics who published their NucliOS component on the Xamarin Component Store, featuring over 40 different charts optimized for mobile. NucliOS has a wide range of controls to help visualize and analyze large volumes of data ranging from advanced scientific and financial charts, data grids, pie charts, radial gauges, and more. They even have a free iOS app to browse all of the controls featured in NucliOS, which is available on the Apple App Store.

NucliOS has tons of awesome controls, which I can’t attempt to show off in just a single post. So, for this example I am going to get you started by showing you how to make a bar chart using the IGChartView control. You can then take it from there to completely customize it as it can render more than 40 different chart types!

Getting Started

To get started with NucliOS controls you can either purchase the component from the component store or elect for the “Try” option to start a free trial right away.

NucliOS-GetStarted

After you have the component we can started by setting up a data source for the bar chart. 

Identify a Data Source

We will need some sort of data source to feed into our chart. For this example I am going to use something very familiar, Microsoft’s Northwind Database. Northwind is exposed as an oData Service with all sorts of sample data including employees, customers, orders, and products. I will consume this oData feed using the Simple.oData.Client portable class library, which handles connecting to and fetching the data to create a dashboard displaying sales for products based on their categories.

Here is what my Model looks like for the data:

 public class SalesByCategory {
    public SalesByCategory ()
    {
        ProductName = new List ();
        ProductSales = new List ();
    }
    public List ProductName{
        get;
        set;
    }
    public List ProductSales{
        get;
        set;
    }
}

Next up I will create a simple helper method that will query Northwind and grab the top 15 selling products by category:

 async Task GetDataAsync() {
    var client = new ODataClient("http://services.odata.org/Northwind/Northwind.svc/");
    var salesData = await client.For ("Sales_by_Categories").Top(15).OrderBy("ProductSales").FindEntriesAsync();
    SalesByCategory salesByCategory = new SalesByCategory();
    foreach (var sale in salesData) {
        salesByCategory.ProductName.Add (NSObject.FromObject(sale["ProductName"].ToString()));
        salesByCategory.ProductSales.Add (NSObject.FromObject(sale["ProductSales"].ToString()));
    }
    return salesByCategory;
}

With this data I can visualize it by feeding it into an IGChartView with the help of IGCategorySeriesDataSourceHelper :

var data = await GetDataAsync ();
// set data source
IGCategorySeriesDataSourceHelper barSeriesSource = new IGCategorySeriesDataSourceHelper();
barSeriesSource.Values = data.ProductSales.ToArray();
barSeriesSource.Labels = data.ProductName.ToArray();

Create Axises

We are going to create a 2D chart, so I will set the X and Y axis to chart the data of the product’s sales and product name respectively.

// Create axis types and add it to the chart
IGNumericXAxis xAxisBar = new IGNumericXAxis ("xAxis");
IGCategoryYAxis yAxisBar = new IGCategoryYAxis ("yAxis");

Create Series

As mentioned earlier, I am going to plot this data in a bar series. To do this will set it’s data source from which we created earlier with the help of IGCategorySeriesDataSourceHelper

// decide on what series need to be displayed on the chart
IGBarSeries barSeries= new IGBarSeries ("series");
barSeries.XAxis = xAxisBar;
barSeries.YAxis = yAxisBar;
// set the appropriate data sources
barSeries.DataSource = barSeriesSource;

Putting it all together

Now all we have to do is set the IGChartView axis, series, and location to finalize the visualization our data.

var chart = new IGChartView(this.View.Bounds);
chart.AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth;
chart.AddAxis(xAxisBar);
chart.AddAxis(yAxisBar);
chart.AddSeries(barSeries);
 this.View.Add(chart);

That’s it! We now have a beautiful visualization of our data.

NucliOS-Chart-SalesData

The IGChartView can be completely customized and changed with just a few lines of code. In fact, I can change this into a Column Series by simply changing my X and Y axis and setting up the chart as an IGColumnSeries:

var xAxisBar = new IGCategoryXAxis ("xAxis");
var yAxisBar = new IGNumericYAxis ("yAxis");
var columnSeries = new IGColumnSeries ("series");
columnSeries.XAxis = xAxisBar;
columnSeries.YAxis = yAxisBar;

Column Series

You can download all of this source code to try it for yourself from GitHub.

Discuss this blog post in the Xamarin Forums

TwitterFacebookGoogle+LinkedInEmail
March 10, 2014

Xamarin Welcomes iOS 7.1, with Day One Support!

By

We are excited to announce that we have just released our support for all of the new APIs introduced iOS 7.1, which Apple just released today. We have shipped same day support for iOS since iOS 5, enabling developers to add the latest features to their iOS apps immediately.

When you dive into the APIs of iOS 7.1 you will notice that there is new support for External Media Players, which introduces a few new classes such as MPPlayableContentManager to control interactions between your app and external media players. Additionally, you will find MPContentItem, MPRemoteCommand, and MPRemoteCommandEvent along with a few other classes to assist you in connecting to external media players. OpenGL ES has also been updated with added support for automatic multithreading by simply setting the IsMultiThreaded property to true after creating your EAGLContext.

You can browse our entire API change log and release notes to find out the latest features released today with Xamarin.iOS 7.2 and the new iOS 7.1 APIs. Also, be sure to update your version of XCode to 5.1 available from the App Store.

TwitterFacebookGoogle+LinkedInEmail
March 6, 2014

Xamarin Invades Channel 9

By

channel-9-logo Channel 9 is an amazing resource for developers featuring a plethora of video shows, blogs, and developer resources. While Channel 9 has always been primarily Microsoft technology focused, Xamarin has recently been featured on multiple shows highlighting the awesome ways to create beautiful native cross platform mobile apps powered by C#.

Last week I kicked off a four part series on Visual Studio Toolbox, a show focused on being productive in Visual Studio, showcasing creating Android and iOS apps inside of Visual Studio with Xamarin. Part 1 focused on an introduction to Xamarin and how to get up and running inside of Visual Studio. I create a simple cross platform application and demonstrate how to start sharing code immediately on Android, iOS, and Windows Phone.

Part 2 takes is a step further to highlight how to leverage portable class libraries to create a single assembly that is shared on all platforms.

The final parts of the series will launch in March so stay tuned for those.

The invasion didn’t stop there though as Xamarin’s Mike Bluestein took center stage on Dev Radio for a fire side chat about all things Xamarin and our unique approach to create cross platform native apps in C#:

Subscribe and check back often to these shows and others on Channel 9 for more great Xamarin showcases.

TwitterFacebookGoogle+LinkedInEmail

Xamarin Takes Top Spot for Best Mobile Development Tool

By

We’re very pleased to have been selected by Dr. Dobb’s magazine as the Jolt Award winner for best mobile development tool.

Jolt Award

The Jolt judges’ recognition of Xamarin as the premier solution for building mobile applications is a wonderful confirmation of all the work that has gone into bringing our platform to the world.

Through the day to day work that everyone at Xamarin does, we continue to press forward making our goal of bringing joy to developer’s lives a reality.

We’d like to thank Dr. Dobbs for this award. And on behalf of everyone at Xamarin, we’d like to thank our many customers who make what we do possible.

TwitterFacebookGoogle+LinkedInEmail
March 3, 2014

Awesome Mobile C# Meetups to Start off March

By

With the recent introduction of our Xamarin Community Sponsorship Program there has been explosive growth in Xamarin developer groups and we couldn’t be more excited. This means that now more then ever you have the perfect opportunity to catch up with fellow Xamarin developers to learn about interesting new topics in your area. There are so many upcoming meetups that we are now going to be blogging about them twice a month. If you don’t see a meetup in your area be sure to check out our new Events forum or check back to the blog often for new updates.

meetup-banner-march-early

Here are some upcoming Xamarin user group meetups for beginning of March:

Seattle Mobile .NET Developers Group us

  • Seattle, WA: Tuesday, Mar. 4th 6:00PM
  • Introduction to iOS Development in C#Frank Krueger

New Group: Ogden Mobile .NET Developers Group us

  • Ogden, UT: Tuesday, Mar. 4th 6:00PM

  • Introduction To XamarinJon Douglas

New Group: Denver Mobile .NET Developers Group us

  • Denver, CO: Wednesday, Mar. 5th 7:00PM
  • Mobile Application Development

New Group: Glasgow Mobile .NET Developers Group scotland

  • Glasgow, Scotland, UK: Thursday, Mar. 6th 7:00PM
  • Cross-Platform Mobile Development with C# + MvvmCross

Mysore Mob Hacks in

  • Mysore, India: Saturday, Mar. 8th 10:30AM
  • Taking existing .Net apps to 4 platformsNish Anil, Xamarin

NYC Mobile .NET Developers Group us

  • New York, NY: Monday, Mar. 10th 6:45PM
  • Developing Enterprise Applications on XamarinSzymon Rozga

New Group: South Florida Xamarin User Group us

  • Fort Lauderdale, FL: Tuesday, Mar. 11th 6:00PM
  • Introduction to Xamarin and Development Labs

.NET Uruguay uy

  • Montevideo, Uruguay: Tuesday, Mar. 11th 7:15PM

  • Developing Native Mobile Applications using C#

New Group: Northern Virginia Mobile C# Developers’ Group us

  • Mc Lean, VA: Wednesday, Mar. 12th 7:00PM

  • Getting Started with Cross Platform Mobile Development in C#Ed Snider, InfernoRed Technology

If you don’t see your city listed above, you can browse the full list of user groups at xamarin.meetup.com. New events and user groups are being added frequently, so be sure to check throughout the month for updates. We also recently relaunched our Community forums not only include upcoming events, but also a place to find past presentations from Xamarin and the awesome Xamarin community.

If you are interested in starting a developer group in your city we are here to help you get started. We have tips and trick on staring a developer group, a brand new introduction to Xamarin slide deck, and of course our community sponsorship program to get you on your way. We also want to hear from you so please feel free to send us an email or tweet @XamarinHQ so we can help spread the word and continue to grow the Xamarin community.

TwitterFacebookGoogle+LinkedInEmail
February 28, 2014

Webinar Recording: Create beautiful, unique data visualization charts with ShinobiControls and Xamarin

By

ShinobiControls offers a cross-platform charting solution for high-quality data visualization on both iOS and Android. In this webinar, Sam Davies and Colin Eberhardt build a Xamarin app for displaying stock prices using shared code across both platforms. This includes looking at how Xamarin enables the sharing of business logic, how to get started with ShinobiCharts for both iOS and Android, and a few of the visual customizations available with ShinobiCharts.

By the end of the webinar you’ll have a good understanding of how to build a cross-platform data-visualization app using Xamarin, with the code being made available after the webinar for you to download and play with.

View a recording of the webinar at:
http://xamarin.wistia.com/medias/sn19wvn2lm

Slides from the webinar:
https://speakerdeck.com/sammyd/cross-platform-data-visualization-for-mobile-with-shinobicontrols-and-xamarin

Source Code:
https://github.com/ShinobiControls/Xamarin-cross-platform-charting

TwitterFacebookGoogle+LinkedInEmail
February 26, 2014

Creating Magic with Cloud Connected Mobile Apps

By

In a little over two months Xamarin, .NET Rocks!, and Visual Studio toured 18 cities across the country showing how awesome it is to create cloud connected cross-platform mobile apps with Xamarin and Azure Mobile Services. If you weren’t able to attend the tour don’t worry as you can now watch a full webinar recording of the presentation given on the tour. In this webinar I cover the basics of creating your first Portable Class Library to share code from a single project and use it on Android, iOS, and Windows platforms. Then I add in Azure Mobile Services to synchronize data between platforms and finish off them demo by implementing Twitter oAuth with just a few lines of C# code.

View a recording of the webinar at:
http://xamarin.wistia.com/medias/8zcj7znyz2

Slides from the webinar:
http://www.slideshare.net/JamesMontemagno/cloud-connected-cross-platform-apps-in-visual-studio

Source Code:
https://github.com/jamesmontemagno/XamarinDNR

Xamarin Documentation for Portable Class Libraries:
http://docs.xamarin.com/guides/cross-platform/application_fundamentals/pcl/

TwitterFacebookGoogle+LinkedInEmail
February 24, 2014

Nokia X – HERE for C# developers with Xamarin

By

Nokia X Devices

Today, Nokia announced their new Nokia X devices and the new Nokia X software platform, which is built upon the Android Open Source Project V4.1.2 (Level 16) to allow developers to build Xamarin.Android applications targeting Nokia X. Similar to the way we delivered a Google Glass SDK component to give Xamarin developers the ability to build wearable applications with Xamarin.Android, Nokia was able to tap into Xamarin’s first-class support for integrating native APIs, and ship a Xamarin component for their Nokia X SDK on day one.

NokiaXStack

One example of this is the Nokia MixRadio app, which started its life as a Windows Phone and Windows Store application and using the power of the Xamarin platform, is shipping as a pre-installed app on Nokia X devices. To make the most of their existing applications, they maximised the use of shared code with Portable Class Libraries and the popular third party MVVM library MVVMCross whilst still taking advantage of the Nokia X platform’s nuances and user interface.

MixRadio

If you want to start targeting the Nokia X software platform, make sure to download the Nokia X SDK and read through the environment setup and leverage the native platform by downloading the new Nokia X Components on the Xamarin Component Store, with inclusive sample projects.

TwitterFacebookGoogle+LinkedInEmail

SAP and Xamarin Partner to Empower Enterprise Mobile Developers

By

sap and xamarin for 250,000

Today we are proud to announce a partnership with SAP to help developers create great native mobile applications that easily integrate enterprise data and processes. SAP powers the internal and customer-facing business processes of more than 250,000 companies around the world. With Xamarin, SAP customers can build sophisticated mobile solutions with smooth, native user interfaces on every mobile platform.

Today we are announcing four initiatives with SAP:

  1. Xamarin SAP SDK - Today we are releasing a jointly-developed Xamarin SAP SDK that provides a native .NET interface to the SAP Mobile Platform. Developers can easily authenticate against SAP Mobile Platform endpoints and use native C# objects to access their SAP business objects directly. Full data-access capabilities and Linq support are included.
  2. Automated mobile testing support - Xamarin Test Cloud now includes built-in SAP Mobile Platform data verification capabilities to ensure mobile applications are properly capturing and synchronizing data with SAP systems. Tests can run on the mobile app’s user interface, and then verify the backend data in SAP automatically. In this way, a mobile application’s frontend and backend functionality can be simultaneously tested to ensure stability and data integrity.
  3. Xamarin + SAP Certified Consultant program - Xamarin’s 150 global consulting partners and thousands of SAP global consulting partners now have access to a program that provides expert resources to help partners develop compelling apps using Xamarin and SAP together.
  4. Xamarin SAP Training -  Xamarin University now includes an expert-led course and curriculum to train enterprise customers and consulting partners on best practices in developing Xamarin mobile apps with the SAP Mobile Platform.

We believe that mobile will be a critical part of every business process, and so we are very excited to be taking these first steps with SAP to help companies around the world go mobile.

Xamarin and SAP Mobile Platform for Mobile Enterprise Success

Thursday, March 13, at 8am PST / 11am EST / 4pm GMT

Register Now

TwitterFacebookGoogle+LinkedInEmail
February 19, 2014

Live Webinar: Cross-Platform Data Visualization for Mobile with ShinobiControls and Xamarin

By

Join Xamarin and ShinobiControls for a live webinar to learn about ShinobiCharts for iOS and Android.

Delivering great data visualizations will make your application stand out visually, while providing valuable insight to your users. However, creating immersive, high-performance visualizations can be a daunting task, especially when targeting multiple mobile platforms.

shinobicontrols-logo

By using ShinobiCharts in your Xamarin application, you can have beautiful visualizations on both iOS and Android.

Join us for a live webinar on Thursday, February 27 at 8am PST/ 11am EST/ 4pm GMT to learn more.

Register now at http://resources.xamarin.com/cross-platform-data-visualization-for-mobile-with-shinobicontrols.html

TwitterFacebookGoogle+LinkedInEmail