Disclaimer: this is an automatic aggregator which pulls feeds and comments from many blogs of contributors that have contributed to the Mono project. The contents of these blog entries do not necessarily reflect Xamarin's position.

March 29

Announcing Xamarin’s Xcode 8.3 Support

Yesterday, we shipped support for Xcode 8.3, which contains brand new iOS 10.3, watchOS 3.2, and tvOS 10.2 APIs. Developers can install the latest version of Xamarin on Mac or Windows to take advantage of the new APIs introduced in Xcode 8.3, including App Store ratings management and using adaptive icons. To get started, follow the instructions outlined below.

Managing App Store Ratings with iOS 10.3 APIs

The MyDriving app using the new StoreKit App Store review APIs.
Driving users to rate your app in the App Store is an important part of mobile app development, since higher ratings lead to more downloads. Previously, the best way to drive users to the App Store was to prompt the user to rate the app, then redirect them to the App Store app to leave a review. This flow has several flaws, mainly that users have to exit your application to leave a review. iOS 10.3 introduces a new API for allowing the user to leave an App Store review without ever leaving your app using SKStoreReviewController.

Installing Xcode 8.3 Support

Using Xcode 8.3 alongside your Xamarin install is easy! We’ve pushed an updated version of our latest major release with Xcode 8.3 support to our stable release channels. For Xamarin Studio, click the “Check for Updates” option in the main menu at the top left and ensure you are on the “Stable” channel. For Visual Studio 2013 and Visual Studio 2015, navigate to Tools -> Options -> Xamarin -> Other, ensure you are on the “Stable” updates channel, and click the “Check Now” button.

Visual Studio 2017

To install Xcode 8.3 support for Visual Studio 2017, be sure to follow the instructions on our release blog for a detailed, step-by-step guide to updating your install. Our team will be shipping an update for Visual Studio 2017 as soon as possible and is actively working on improving this experience for future updates.

The post Announcing Xamarin’s Xcode 8.3 Support appeared first on Xamarin Blog.

Register for the Upcoming Webinar “Infragistics Ultimate UI for Xamarin”

This is a guest post from the Infragistics team. Infragistics Ultimate UI for Xamarin pairs fast, beautiful, best-of-breed UI controls with visual developer productivity tools, empowering you to deliver high-performance, native customer experiences for multiple platforms without sacrificing development time.

Native vs. Hybrid app development is one of the most important decisions challenging enterprise developers today. Some of the biggest questions that consistently come up include:

  • How fast can we get to market on multiple platforms?
  • How do we ensure the best run-time performance?
  • How do we build the most elegant UI?
  • How can we differentiate against our competitors?

In the Infragistics Ultimate UI for Xamarin: Fast, Visual, Native Mobile Development webinar, you’ll learn the answers to these questions and more.


You’ll learn how to create an end-to-end enterprise ready app in mere minutes using the Ultimate UI for Xamarin Productivity Pack to:

  • Visually map your app’s entire flow with AppMap and generate all the Views, ViewModels, and Navigation code with the click of a button.
  • Design your app views by dragging and dropping controls to the XAML editor from the world’s first NuGet-powered Xamarin.Forms Toolbox with automatic namespace referencing.
  • Visually configure data grids, charts, and other rich controls with Control Configurators, featuring pre-built styles, themes, and built-in databinding.

Please join Jason Beres, Sr. VP of Developer Tools, and Microsoft Xamarin MVPs Karl Shifflett and Brian Lagunas for this interactive, code-focused session on how to become a mobile development speedster!

Space is limited, so reserve your spot today!

The post Register for the Upcoming Webinar “Infragistics Ultimate UI for Xamarin” appeared first on Xamarin Blog.

March 27

Xamarin Alpha Preview

It seems like it was just weeks ago that Visual Studio 2017 was released, and we’re already working on the next Xamarin update. We’ve just pushed an Alpha preview of our next release, and I wanted to share some of the features that I’m most excited about with you. If you’d like to help in testing these updates, please switch your IDE to the Alpha channel, and install the provided updates.


We recently featured Workbooks on this blog, and we’re happy to show off the latest and greatest that Workbooks has to offer. Included within the Alpha preview of Workbooks is support for C# 7 with Roslyn 2.0. Regarding fixes, we’ve improved support for NuGets with Android and iOS on Windows, along with various performance improvements. More info can be found in our release notes here.

Xamarin Studio

We’re excited to offer integration with the fastlane toolkit to improve the signing experience for iOS. Fastlane offers a complete solution for automated certificate management, provisioning, and signing of iOS apps, which we feel will greatly streamline the build, test, and deploy process. While integration with fastlane is still under development, this latest release offers support for signing with it.


We’ve introduced an experimental feature for AoT compilation in Xamarin.Mac, as well as updates to the TLS provider (TLS 1.2 supported via AppleTLS). You’ll also find improved bindings for NSValue, NSNumber, and NSString. Check out the details here



We’ve introduced memory usage and executable size improvements in Xamarin.iOS. In testing with a sample app, the executable was decreased by ~200kb, while memory usage was reduced by ~400kb. Additionally, we’ve added rules to the Xamarin Analysis feature, which prevents IPA creation in debug mode, and watchOS projects now include experimental control of native optimizations. Get caught up on all of this and more in the Xamarin.iOS release notes


We made several improvements to fast deployment for Xamarin.Android, and we now correctly handle Timeout and CancellationTokens with AndroidClientHandler. TLS 1.2 support is also available as an experimental feature in WebRequest via BoringSSL. See the release notes here for further details.

Odds and Ends

There are many other improvements across a range of Xamarin products, including Xamarin Studio and Xamarin for Visual Studio. Feedback is always welcome, and any bugs found can be filed on our Bugzilla page. Happy coding!

Note: Visual Studio 2017 is not currently supported in this release. We are working on resolving the issue quickly.

The post Xamarin Alpha Preview appeared first on Xamarin Blog.

March 24

Podcast: Enhanced XAML Productivity with MFractor

In this episode of the Xamarin Podcast, I’m joined by Matthew Robbins to discuss his XAML productivity tool MFractor, building add-ins for Xamarin Studio, code generation with Roslyn, and his journey from idea to product.

MFractor: Productivity Tools for Xamarin.Forms

MFractor is an add-in for Xamarin Studio and Visual Studio for Mac that contains productivity tooling for Xamarin.Forms, including:

  • XAML analysis to detect dozens of code issues at design time and enable you to fix them in a few clicks.
  • The ability to easily explore projects with MVVM navigation shortcuts, XAML tooltips, image tooltips and XAML go-to declaration.
  • XAML refactoring to rename namespaces, import controls, and organize your XAML.
  • Capability to quickly generate C# code by implementing ViewModels, generate missing bindings, create bindable properties, and more, all from your XAML.

MFractor XAML analysis in action to help you fix issues in your XAML.

Check out the MFractor documentation portal for a full listing of features. Want to see it live in action? Be sure to watch Matthew Robbins demoing the features live on The Xamarin Show with Microsoft’s James Montemagno.

Subscribe or Download Today

Keeping up with the latest in .NET, C#, and Xamarin is easier than ever with the Xamarin Podcast! Cohosts Pierce Boggan and James Montemagno cover topics relevant to Xamarin developers, from designing mobile apps to identity management. Be sure to subscribe to the Xamarin Podcast on iTunes, Google Play Music, Stitcher, or your favorite podcast app you use so you don’t miss an episode.

The post Podcast: Enhanced XAML Productivity with MFractor appeared first on Xamarin Blog.

Mono repository changes, beginning Mono vNext

Up to now, Linux packages on mono-project.com have come in two flavours – RPM built for CentOS 7 (and RHEL 7), and .deb built for Debian 7. Universal packages that work on the named distributions, and anything newer.

Except that’s not entirely true.

Firstly, there have been “compatibility repositories” users need to add, to deal with ABI changes in libtiff, libjpeg, and Apache, since Debian 7. Then there’s the packages for ARM64 and PPC64el – neither of those architectures is available in Debian 7, so they’re published in the 7 repo but actually built on 8.

A large reason for this is difficulty in our package publishing pipeline – apt only allows one version-architecture mix in the repository at once, so I can’t have, say, built on AMD64 on both Debian 7 and Ubuntu 16.04.

We’ve been working hard on a new package build/publish pipeline, which can properly support multiple distributions, based on Jenkins Pipeline. This new packaging system also resolves longstanding issues such as “can’t really build anything except Mono” and “Architecture: All packages still get built on Jo’s laptop, with no public build logs”

So, here’s the old build matrix:

Distribution Architectures
Debian 7 ARM hard float, ARM soft float, ARM64 (actually Debian 8), AMD64, i386, PPC64el (actually Debian 8)
CentOS 7 AMD64

And here’s the new one:

Distribution Architectures
Debian 7 ARM hard float (v7), ARM soft float, AMD64, i386
Debian 8 ARM hard float (v7), ARM soft float, ARM64, AMD64, i386, PPC64el
Raspbian 8 ARM hard float (v6)
Ubuntu 14.04 ARM hard float (v7), ARM64, AMD64, i386, PPC64el
Ubuntu 16.04 ARM hard float (v7), ARM64, AMD64, i386, PPC64el
CentOS 6 AMD64, i386
CentOS 7 AMD64

The compatibility repositories will no longer be needed on recent Ubuntu or Debian – just use the right repository for your system. If your distribution isn’t listed… sorry, but we need to draw a line somewhere on support, and the distributions listed here are based on heavy analysis of our web server logs and bug requests.

You’ll want to change your package manager repositories to reflect your system more accurately, once Mono vNext is published. We’re debating some kind of automated handling of this, but I’m loathe to touch users’ sources.list without their knowledge.

CentOS builds are going to be late – I’ve been doing all my prototyping against the Debian builds, as I have better command of the tooling. Hopefully no worse than a week or two.

March 23

Catch Up on Visual Studio 2017 and Visual Studio for Mac with Channel 9

I was honored to be part of the Visual Studio 2017 keynote, where I got to highlight how easy it is to build beautiful, cross-platform native iOS, Android, and Windows apps in C# with Xamarin and Visual Studio 2017. Visual Studio 2017 brings an exciting range of new features and improvements for developers, along with a brand new preview of Visual Studio for Mac.

Channel 9 has put together an extensive collection of content from the Visual Studio 2017 launch, and in this post I wanted to share a few of my favorite recordings from the event.

Building Mobile Apps with Xamarin & Visual Studio 2017

Visual Studio 2017 includes everything you need to start building mobile apps for iOS, Android, and Windows in C# with Xamarin. In this session, Xamarin University’s Rob Gibbens and Adrian Stevens walk you through the basics of building apps with Xamarin and Visual Studio from the ground up.

New Connected App Templates

We wanted to build mobile app templates that reflect the type of apps our developers are building. Looking at the various app stores, for example, you’ll see that many mobile apps are simply a list view populated by data pulled down from the web, possibly with some form of social or enterprise authentication. With our new templates, you can bootstrap your next mobile project at the click of a button to produce a mobile app for iOS, Android, and Windows 10 that includes tabbed navigation, MVVM, settings, and more. By clicking “Host in the cloud,” you can take your mobile project to the next level by provisioning a backend for your mobile app, complete with client-side code for online/offline synchronization and automatic conflict resolution. In this mini session, I walk you through the new templating experience in Visual Studio.

Introducing Visual Studio for Mac

Visual Studio for Mac is an IDE for mobile-first, cloud-first workloads with support for building iOS, Android, and Mac apps in C# and F# with Xamarin, as well as web and server apps with .NET Core and ASP.NET Core. You’ll find the same Roslyn-powered compiler, IntelliSense code completion, and refactoring experience you would expect from a Visual Studio IDE. And, since Visual Studio for Mac uses the same MSBuild solution and project format as Visual Studio, developers working on Mac and Windows can share projects across Mac and Windows transparently. This mini session from Mikayla Hutchinson shows how to get started with Visual Studio for Mac and explores its rich capabilities for developing mobile apps with Xamarin and cloud back-ends with .NET Core.

Don’t Miss All the Channel9 Xamarin Content

Be sure to visit Channel 9 for the complete selection of Visual Studio 2017 launch videos, including the keynote as well other sessions for mobile developers. For more content, be sure to follow The Xamarin Show for a weekly look at cross-platform mobile development for iOS, Android, macOS, and Windows with Xamarin.

The post Catch Up on Visual Studio 2017 and Visual Studio for Mac with Channel 9 appeared first on Xamarin Blog.

March 22

Organize a Xamarin Dev Days!

Xamarin Dev Days are in full swing across the globe and now it’s time to get free, hands-on mobile development training in your city! It’s fun, easy, and exciting to organize a Xamarin Dev Days of your own, and today we’re going to show you how.

To start off, we’ll provide you and your speakers with three in-depth, presentation-ready slide decks and demos along with an optional step-by-step workshop for attendees to build their first ever cloud-connected mobile app with Xamarin.Forms.


Step 1: Recruit a Team of Local Speakers and Volunteers

Get a group of three to four volunteers to present and to help onsite with registration, catering delivery, and the afternoon workshop. Some great candidates include:

Step 2: Reserve a Date and Venue

Find a date that works for you, your volunteers, and your community and reserve space at a local venue for your event. The following is what you should look for in a venue:

  • Available on Saturday from 09:00–16:00 (preferred)
  • Room for a minimum 40–200+ attendees
  • Has an Audio/Video system and Wi-Fi available

Local Microsoft offices are often a great option!

Step 3: Fill Out the Form!

Now it’s time to submit your event details and make things official. Once reviewed, the Xamarin team will:

  • Create your official Event Registration Page
  • Order and ship swag to you for the event (while supplies last)
  • ms-azureGenerate FREE 1 Month + $100 Azure Passes for your attendees!
    That’s right, Xamarin Dev Days organizers can now offer free Azure passes to all of their attendees just by hosting an event before June 30, 2017*!

*Further details will be provided after event submission

Step 4: Promoting Your Xamarin Dev Days

Once your event link is live, you’ll be able to share your event with the world and start promoting open registration. Xamarin will help with the promotion by:

  • Including your event in the upcoming blog post announcements on April 7, May 5, and June 2
  • Hosting the event link on the official Xamarin Dev Days website
  • Publicizing your event through the @XamarinEvents Twitter and with the hashtag #XamarinDevDays

Step 5: Supporting Your Event

Raise awareness of local technology companies by having them participate in your event as sponsors. Through providing lunch or covering venue fees they will receive:

  • Their logo on the official registration page
  • The ability to send or give goodies and prizes to attendees
  • An opportunity to network with passionate developers throughout our global community

If you’re unable to find a sponsor for lunch, we have a Subway Catering Offer for qualified events. Further details will be provided after event submission.

DevDaysMadrid16_BraventTips and Tricks for a Great Event

  • Partner with other local user groups on event tasks, promotion, and facilitation onsite to help build a stronger developer community.
  • Quality photos posted on Twitter or Instagram with #XamarinDevDays may be featured in future event blog announcements and/or on the Xamarin social channels.
  • Start gathering details for your event submission as soon as possible – swag, catering, and Azure passes are limited!

The post Organize a Xamarin Dev Days! appeared first on Xamarin Blog.

March 21

Play Audio and Video with the MediaManager Plugin for Xamarin

This is a special guest post on MediaManager for Xamarin, written by Xamarin MVP, Martijn van Dijk.

Martijn works at Xablu as a Xamarin consultant. You can find him on Twitter at @mhvdijk and on Github at @Martijn00.

Media apps, more than others, benefit from working together with the native platform. Some things, like handling interruptions with audio focus, network connectivity, and communication between notifications and other playback controls, make this a complicated matter.

To enable Xamarin developers to access these native platform functions, we decided to build a cross-platform Xamarin plugin that abstracts away the difficulties. We created a portable class library using the Bait & Switch pattern that contains all the interfaces for the native code, with the base classes shared across the apps to make it as easy as possible for you to interact with audio and video in your mobile apps.

The MediaManager Plugin for Xamarin is designed to be simple and easy-to-use, and has the following features:

  • Native playback of media files from remote and local sources
  • Native media notifications and remote controls
  • Playback status (Playing, Buffering, Loading, Paused, Progress)

Best of all, the MediaManager plugin works with all platforms, including iOS, Android, UWP, macOS, tvOS, and even Xamarin.Forms. In this blog post, we’ll explore the various components of the MediaManager Plugin for Xamarin and how you can easily integrate it into your mobile applications.


Both your eyes and ears are engaged when playing video. When playing audio, you’re listening, but you can also work with a different app at the same time. There’s a different design for each use case.

An audio player does not always need to have its user interface visible. Once it begins to play audio, the player can run as a background task. The user can switch to another app and work while continuing to listen.

To play audio takes only one line of code, and handles all of this for you:

await CrossMediaManager.Current.Play("http://www.montemagno.com/sample.mp3");

Android ExoPlayer

ExoPlayer is an open source library that exposes the lower-level Android audio APIs. ExoPlayer supports high-performance features like DASH and HLS streaming that are not available in MediaPlayer. You can customize the ExoPlayer code, making it easy to add new components. ExoPlayer can only be used with Android version 4.1 and higher.

To make use of ExoPlayer, add the following code to your `MainActivity`:

((MediaManagerImplementation)CrossMediaManager.Current).MediaSessionManager = new MediaSessionManager(Application.Context, typeof(ExoPlayerAudioService));
var exoPlayer = new ExoPlayerAudioImplementation(((MediaManagerImplementation)CrossMediaManager.Current).MediaSessionManager);
CrossMediaManager.Current.AudioPlayer = exoPlayer;


A video app needs a window for viewing content. For this reason, a video app is usually implemented on a single screen.

CrossMediaManager.Current.Play("https://archive.org/download/BigBuckBunny_328/BigBuckBunny_512kb.mp4", MediaFileType.Video);

The video player for the MediaManager Plugin for Xamarin.


A well-designed media app should “play well together” with other apps that play audio. It should be prepared to share the phone and cooperate with other apps on your device that use audio. It should also respond to hardware controls on the device, including:

  • Change the volume when the user adjusts a hardware volume control
  • Stop playing if the headphones are disconnected while in use
  • Stop playing, or lower the volume, when another app takes over the audio output stream

Media buttons are hardware buttons found on Android devices and other peripheral devices; for example, the pause/play button on a Bluetooth headset.

AndroidNotification    iOSNotification

Audio controls on a TV with the MediaManager Plugin for Xamarin.

Queueing Audio and Video

If you want to play a sequence of media items, it’s helpful to have a queue. To add a list of media files to the queue, simply CrossMediaManager.Current.Play() an Enumerable of MediaFiles. With the queue, you are able to shuffle and repeat playback, loop through certain media files, and so on.

The queue can be accessed by:

var queue = CrossMediaManager.Current.MediaQueue;

Media Information

Media files contain a lot of information about the file. Details like title, album, artist, and more can be extracted from the metadata. It’s very easy to do this using the MediaManager:

CrossMediaManager.Current.MediaFileChanged += (object sender, MediaFileChangedEventArgs e) => {
var artist = e.File.Metadata.Artist;
    // Access any other metadata property through the file


The MediaManager can be used in a native app but also in a Xamarin.Forms app through a custom renderer for the Native Video view:

Make sure to call VideoViewRenderer.Init() from your platform code before starting playback, otherwise the view will not be prepared to display your video.

MediaManager In Action: The Scott Hanselman App!

Even the Hanselman App runs on the MediaManager, thanks to Erlend Angelsen! Using the implementation of MediaManager, the app now has improved audio playback, but what’s even more exciting is that all Hanselman videos from Channel 9 are available in the app! It also uses notifications to control the current media playing. In the future, this will be extended to make use of the queue and other advanced functionality. For more information about this app check out James Montemagno‘s Github repository.

The official app of Scott Hanselman, using the MediaManager Plugin for Xamarin.

Wrapping Up

There are many other samples for the Xamarin MediaManager available, including:

To get started, all you need to do is download the plugin from NuGet and install it into each project that utilizes MediaManager.

If you want to learn more about media playback, make sure to follow me on Twitter at @mhvdijk to receive updates. Future plans include support for Android Auto, Chromecast, CarPlay, and seamless switching between output sources such as Bluetooth, TV, or DLNA. If you have ideas, find bugs, or want to help with development, make sure to check out the source code on GitHub.

The post Play Audio and Video with the MediaManager Plugin for Xamarin appeared first on Xamarin Blog.

March 20

Apply now for Summer of Code 2017!

Student applications are now open for the Mono Project in the 2017 Google Summer of Code!

We have a list of project ideas to help you get started, and our guidance page has a lot of useful information and links to help get involved in our community and put together a good proposal. Remember in your proposal to show us how passionate you are about building great tools and frameworks, and demonstrate that you're able to research and develop things independently but also know when to ask smart questions.

We strongly recommend that you submit your application early. The deadline is April 3, 2017 at 12:00 (Eastern Daylight Time) and late applications cannot be accepted for any reason. You can submit your application as a draft in order to receive early feedback, so don't delay.

If you have any questions about the Mono Project in Google Summer of Code that are not answered by our GSoC page or in the Mono gitter IRC or Mono mailing list, please email soc@xamarin.com. Good luck!

March 17

Xamarin University Webinar Recording | Building Your First Android App with Xamarin for Visual Studio

You can register for the remaining Xamarin University Presents webinars here. Xamarin University is a leader in providing online mobile development training and offers a 30-day free trial, including access to Self-Guided Learning. To register for a free trial or sign up for Xamarin University visit the Xamarin University homepage.

.NET developers everywhere can easily add native mobile developer to their resume with Xamarin for Visual Studio. Judy McNeil, Xamarin University mobile expert, shows you how to build your first Android app completely in C# with Xamarin.Android and Visual Studio.

In this recording, you will:

  • Explore the Xamarin.Android project templates installed with Visual Studio
  • Create a fully native Android app, utilizing all of the Android APIs
  • Use the Android Designer in Visual Studio to create a beautiful UI
  • Add logic to your applications to respond to user input and interact with the UI
  • Deploy and test your apps from Visual Studio, using Google’s Android emulators and your own Android devices
  • Ask questions and receive guidance from Xamarin University professors and mobile experts
  • Get the sample app code and documentation you need to get started


You can register for the remaining Xamarin University Presents webinars here. Xamarin University is a leader in providing online mobile development training and offers a 30-day free trial, including access to Self-Guided Learning. To register for a free trial or sign up for Xamarin University visit the Xamarin University homepage.

The post Xamarin University Webinar Recording | Building Your First Android App with Xamarin for Visual Studio appeared first on Xamarin Blog.

MSpec (Machine Specifications) support for .csproj-based .NET Core projects now available

I am pleased to announce that it is now possible to use and run Mspec (Machine Specification) tests when using .csproj based .NET Standard / .NET Core projects including multi-targeting scenarios.

The runner (Machine.Specifications.Runner.VisualStudio nuget package) supports:

  • dotnet test
  • Visual Studio’s Test Explorer
  • vstest.console
  • Visual Studio Team Services and TFS

For information on how to migrate from project.json to .csproj-based mspec tests please refer to this wiki page.

Another news is that Machine.Fake 2.8.0 is now also available with .NET Core (.NET Standard) support for Moq, FakeItEasy and NSubstitute.

Here is an example .csproj targeting both .NET Core 1.1 and .NET Framework 4.6:

<Project Sdk="Microsoft.NET.Sdk">

    <PackageReference Include="Machine.Specifications" Version="0.11.0" />
    <PackageReference Include="Machine.Specifications.Runner.VisualStudio" Version="2.*" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.*" />

Example output:

C:\code\mspec-test-sample\MSpecSampleSolution\Sample>dotnet test
Build started, please wait...
Build completed.

Test run for C:\code\mspec-test-sample\MSpecSampleSolution\Sample\bin\Debug\netcoreapp1.1\MSpecSample.dll(.NETCoreApp,Version=v1.1)
Microsoft (R) Test Execution Command Line Tool Version
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...
Machine Specifications Visual Studio Test Adapter - Executing Specifications.
Machine Specifications Visual Studio Test Adapter - Executing tests in C:\code\mspec-test-sample\MSpecSampleSolution\Sample\bin\Debug\netcoreapp1.1\MSpecSample.dll
Complete on 1 assemblies

Total tests: 1. Passed: 1. Failed: 0. Skipped: 0.
Test Run Successful.
Test execution time: 0.8338 Seconds

Test run for C:\code\mspec-test-sample\MSpecSampleSolution\Sample\bin\Debug\net46\MSpecSample.dll(.NETFramework,Version=v4.6)
Microsoft (R) Test Execution Command Line Tool Version
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...
Machine Specifications Visual Studio Test Adapter - Executing Specifications.
Machine Specifications Visual Studio Test Adapter - Executing tests in C:\code\mspec-test-sample\MSpecSampleSolution\Sample\bin\Debug\net46\MSpecSample.dll
Complete on 1 assemblies

Total tests: 1. Passed: 1. Failed: 0. Skipped: 0.
Test Run Successful.
Test execution time: 0.7364 Seconds

March 16

Introducing the Kimono Designer for SkiaSharp

The modern app developer faces a challenge when it comes to developing the high quality graphics required to build exciting and engaging user interfaces: because of the various screen sizes and resolutions across devices in a given OS, multiple copies of each graphic asset have to be created, implemented, and maintained.

This is especially true when dealing with cross-platform development, which not only increases the number of assets, but requires different techniques to implement on each OS. We launched SkiaSharp in February of last year to address these issues.

SkiaSharp offers developers a cross-platform, high-performance 2D API for .NET, available across mobile, desktops, and servers. It’s powered by Google’s Skia library, the same library that powers Google Chrome, Firefox, and Android’s graphic stacks.

SkiaSharp is great for developing cross-platform, pixel-perfect, resolution independent graphic assets, but requires that the developer design the graphic as code, which why we’re launching Kimono Designer for macOS today.

Kimono Designer allows a developer or graphic artist to graphically edit SkiaSharp based graphic objects, that can be converted to code and included in any cross-platform language and OS that SkiaSharp supports.

Check out the Kimono Designer Preview

Kimono Designer provides several key features that make it the perfect tool for designing SkiaSharp graphics, including:

  • Groups with Boolean Operations and Masks
  • Named Color Palettes
  • A Visual Gradient Editor
  • Named Styles
  • Linked Properties
  • A built in scripting language with Script Libraries
  • Portfolios, containing multiple Sketches

Shows the main Kimono Designer User Interface

Consuming Kimono Assets

As the sketch is designed and edited, source code will be generated for the requested operating system, language, and support library:

Shows an example of the code generation from Kimono Designer

The developer can include this code directly, or embed the portfolio in their app project and use the cross-platform KimonoCore library to consume it.

The Future

While the editor is currently implemented in Xamarin.Mac and only runs on macOS, the project was designed to be built cross-platform. It’s hoped that the front end will be ported to other platforms such as Windows UWP, iOS for iPad, and for Android tablets.

Kimono Designer is a work in progress, and as such, still has some rough areas and missing features (such as copy and paste), which is why we’re sharing it with our community today! Feel free to check out the GitHub repository at https://github.com/xamarin/KimonoDesigner.

The post Introducing the Kimono Designer for SkiaSharp appeared first on Xamarin Blog.

Apply Now for Microsoft’s Go Mobile Tech Workshops

Don’t miss your team’s opportunity to discuss app development and architecture best practices one-on-one with Microsoft engineering experts.

We’re excited to announce that the Microsoft engineering team is offering a limited number of technical sessions to help your team build better mobile apps faster. The Go Mobile Tech Workshops are three-hour sessions dedicated to your team to cover everything from your technology stack and architecture to the latest in Visual Studio 2017 and DevOps best practices.


What’s in it for you

  • Dedicated time with Microsoft technical experts to help you analyze your technology stack and application development practices.
  • Common patterns, architectures, and best practices for mobile to help you go faster and avoid common pitfalls.
  • Q&A with the engineering team to address your technical questions.

Blog_1600x900_Go Mobile

Don’t miss out—apply for a workshop today!

The post Apply Now for Microsoft’s Go Mobile Tech Workshops appeared first on Xamarin Blog.


Monologue is a window into the world, work, and lives of the community members and developers that make up the Mono Project, which is a free cross-platform development environment used primarily on Linux.

If you would rather follow Monologue using a newsreader, we provide the following feed:

RSS 2.0 Feed

Monologue is powered by Mono and the Monologue software.