So you want to build a mobile app? Your developer zen will quickly be threatened by the plethora of ways you can go about building a modern, cross-platform mobile app today. The below illustration shows an assortment of just a few of the technologies that you can use and the most common frameworks/platforms used for each.
This is what we have done to ourselves over the last 10 years. Choice is a good thing for developers, except that too much choice can become a little crippling.
On a positive note, the choice of technology stack becomes much easier once you decide to focus on what matters most - your skills and expertise. In today's age, you really want to build truly cross-platform mobile apps from single codebase and preferably have the app be native to each platform. If your developer background is .NET, you'll possibly lean towards using C# with Xamarin.
Xamarin lets you to build modern cross-platform mobile apps using your .NET skills. You write C#/XAML and your code gets cross-compiled down to native bits on each platform. This article walks you through some essential tooling that you should have in your arsenal for Xamarin development, as well as how to jumpstart your app with some polished UI.
When it comes to Xamarin development, you get two rich Integrated Development Environments (IDEs) to choose from:
Both IDEs sport some common features for ease of development:
Both Visual Studio and Xamarin Studio come in completely free yet feature-rich Community editions. You do have to keep a couple of limitations in mind though:
Now, once you have begun your Xamarin app development, you'll want to keep a few tools in your arsenal - these aren't necessary, but often make your life easier. Most are usable within the comforts of your beloved IDE.
As if the Microsoft acquisition of Xamarin wasn't big enough deal, sweeter news greeted .NET developers in early 2016 - Xamarin was going open source! All of the Xamarin frameworks, namely Xamarin.iOS, Xamarin.Android and Xamarin.Forms are completely open source, as are all the SDKs under a broad MIT license. Everything starts at open.xamarin.com.
The open sourcing of Xamarin has two major repercussions. One is that Xamarin and all of its tooling are now completely free. And two is that there is a true collaborative open source community being now built around Xamarin. You can be a part of it.
Normally, you would just download the Xamarin SDKs and start building your app. But the true developer in you wants to look under the covers - what is the framework doing for you? Now you can look through Xamarin's source code, pull it down and build the SDK/libraries yourself
Let's say you want to look deeper into Xamarin.Forms - all the source is at https://github.com/xamarin/Xamarin.Forms. You can download or clone the whole repository and build it locally. Follow the defined requirements, open the solution in Visual Studio 2015 and fire up the build. Here's a glimpse of the Xamarin.Forms solution and component projects in VS - plenty to look around and learn.
Say you wanted to play around with Xamarin.iOS and Xamarin.Mac - how is your app running inside the glowing fruit devices? Well you can start at https://github.com/xamarin/xamarin-macios. With compilation for Mono under the covers, Xamarin for iOS/Mac has a few more defined requirements in order to build locally. So get yourself the CLI tools and specific versions of XCode/Xamarin Studio and Mono. Here's what all the project components look like when pulled down:
There are helpful scripts that will install and provision dependencies. Once they are ready, fire up the build and proceed with the local installation:
$ make world
$ make install-system
Now that you have been brave enough to look into Xamarin source code and build the tooling/frameworks locally, take the next logical step forward - contribute back. Think you can tweak something to be better or fix a bug or take a stab at a pending to-do item? This is your opportunity to pay back some technical debt and make the world a better place by contributing to open source projects. Xamarin empowers millions of developers though - so there is a process to contributing:
You have started building your dream Xamarin app, picked the IDE of your choice and grabbed the necessary frameworks. Guess what? Your end users do not see any of magic behind the scenes. What they do see is the app UI and the fluidity of user experience that your app provides. You can try reinventing the wheel on UI or go for some well-engineered UI controls out of the box.
Telerik UI for Xamarin includes elegant, polished and performant native UI widgets for all your Xamarin apps. With UI for Xamarin, you'll get to deliver your Xamarin apps quicker and delight users with beautiful functional UI.
What you get out of the box are UI widgets that are difficult to create by hand - like various charts, a polished ListView, SideDrawer and much more.
So how do you incorporate Telerik UI for Xamarin in your Xamarin project? There are several ways you can go about doing that:
Xamarin provides an excellent way for .NET developers to leverage their existing skills and build truly native, cross-platform mobile apps. With an open source foundation, mature tooling, supporting frameworks and polished UI libraries, the world is your oyster. What are you building next?
Related resources:
Header image courtesy of Ze'ev Barkan
Sam Basu is a technologist, author, speaker, Microsoft MVP, gadget-lover and Progress Developer Advocate for Telerik products. With a long developer background, he now spends much of his time advocating modern web/mobile/cloud development platforms on Microsoft/Telerik technology stacks. His spare times call for travel, fast cars, cricket and culinary adventures with the family. You can find him on the internet.