In my last post that you can read here, I promised to write an article on Xamarin and how it came into my life, so here it is!
I know it has been a while since I posted that article so I am sorry it has taken me so long but I have been quite busy. One of those things keeping me busy is a new user group I started, Manchester Xamarin User Group. We already have lots of great members and had our first meeting which went really well. If you are able to attend meetings, we would love to have you!
This article is going to be written in a Q&A style as I often get asked these questions and it will allow me to cover my points in subsections.
So Luce, how did you hear about Xamarin?
To be honest, I didn’t know it existed until September 2014. I had done some mobile development at University (the reason I purchased an iMac in fact) for both iOS and Android and I loved that I could have something I made live in a device that rarely spends more than a few minutes at a time more than 2m away from me. But I did native development (Objective-C and Java) rather than Xamarin, and Windows Phone wasn’t even considered.
In September 2014 I started as a Software Development Graduate at Fujitsu in the Application team. My first project was to take a short-list of Cross-Platform Mobile Development tools (Xamarin, PhoneGap, Titanium and Cordova) and work with a colleague to evaluate them against a scoring matrix so a global standard could be agreed. Long story short, Xamarin won.
I was lucky enough that I got to be the one to do the evaluating of Xamarin. For those interested, the plan we followed was to try and recreate some of the features of an already existing native Android internal mobile app so we had consistent aims for all tools under consideration.
Why do you love it so much?
The first time I used Xamarin I had a lightbulb moment in my head, I believe the thought went something along the lines of “Oh my God! I can use C#, and that code will work on them all, without major changes?!”.
Imposter Syndrome is an issue amongst most developers. It can be briefly described as the idea that you are somehow an imposter, a fraud; that you have somehow managed to convince others around you including your boss that you belong there when really you don’t.
I could write a whole post on Imposter Syndrome alone however, so I won’t touch on what it is anymore here. For those interested, there is a good article at this link on it.
Those that know me will know confidence isn’t my strong suit. Imposter Syndrome happens to me on a regular basis. So for this reason, having this way to use a language I already had some knowledge of, and could understand as well due to my Java experience I had gained at University, was a big deal for me.
Why learn Android style Java and Objective-C (now Swift) to create Android and iOS apps respectively when I can use one language for the business logic?
That ease of use also leads me nicely on to the next question…
How do I get started?
Very easily! So one of the reasons I love Xamarin so much is how easy and accessible it is. You can go from complete installation to deploying your first mobile app in under 5 minutes*.
How to install will depend on your Operating System. Links for Windows and Mac can be found below:
These will help you get up and running. You can then create a new project (You have 2 options, Xamarin.Forms which is cross platform UI and code and creates for all available platforms, or a project for the specific platform you want to target; I will write a blog post on these choices soon) and click Run and after a short wait, an emulator should start and display your first working app with no code changes required, boom!!
The other thing that is great as well is that since Xamarin was acquired by Microsoft last year, it is free in Community Edition! I am a strong believer in making things free. I know some features, understandably are limited to paid versions of Visual Studio but these are not bare bones features. You can do everything you would need to get started without having to pay a penny!
*This will depend on your system and environment. For simplicity sake, assume you are not using Remote Build Agent to build iOS on a Windows machine as this adds additional steps and time.
That is awesome, zero to mobile dev in no time, so where do I learn more?
Well, there is a wealth of help out there so I will keep it down to a handful of some of my favourites.
If there is a lot of interest in this topic, I am more than happy to write a dedicated blog post on the resources I use including ones not on this list:
This is the official blog and often has great posts from a variety of authors covering a range of topics, always relevant and interesting
Most people who have seen anything online about Xamarin have heard of James Montemagno. He is everywhere which is most definitely a good thing! He crops up in other links on this page as well but this is his personal site. He regularly posts here on useful topics. He works for Microsoft and his job is to write, code and talk so this page is FULL of useful and up-to-date content.
This is another blog website but Adam Pedley, the author, isn’t an employee so it is great for a different perspective and I have referred to it regularly to get tips on how to achieve certain features.
As the name suggests, this is the holy grail of learning. If you can get a licence for this after the initial trial (go sign up now if you haven’t already used it) I recommend you all do it!
As hobbyists, the monthly subscription price ($83.25 at time of writing) looks steep but actually is worth every cent when you consider what you get with that. Of course, some Enterprise subscriptions for things like Visual Studio can come with free Xamarin University licences so if you work in this field your company may already have access.
Not only do you get access to a wealth of courses and materials including videos and guest lectures, you also get live classes. Yes, you read that right, live classes!
Based around the world so you can find a class that is at a time that suits you, Xamarin University Lecturers are available to run classes on a specific topic. They are friendly, knowledgable and on hand to answer all your questions. Classes even include lab exercises not just talking so if you get stuck, guess what? Ask the teacher!
There is also the Xamarin Certified Mobile Developer badge (and real life trophy) you can get by taking the right classes and passing an online exam. This also gives you access to an exclusive LinkedIn group which helps connect you to others who have done the same.
There are of course lots of other benefits but visit the link above and it will tell you far more than I can in a short blog post :)
Channel9 is the official Microsoft video channel with lots of interesting shows and episodes covering a whole host of not just .Net but general Microsoft content.
James Montemagno hosts this show on Channel9(and came up with the name) where he has two episode types, full episodes which are usually 45mins — 1hr long and are an in-depth look at something exciting (often with guests), and Snack-Pack editions where he quickly covers a smaller topic in just a few minutes.
My favourite Xamarin University Lecturer, and lucky for me my tutor during the training at Xamarin Evolve 2016, Kym Phillpotts, writes a blog with lots of useful content and walkthroughs which I recommend you all read.
This link however is to his post about useful tools and resources, which I found really thorough and covers a lot of the tools I use regularly including mFractor and a variety of other plugins.
Planet Xamarin is a clever aggregation site which has Twitter, Facebook and RSS feeds you can follow. This was put together by some Xamarin lovers and staff (yup James again). It brings together posts from various authors around the world. You can request to have your blog added to the feed and as long as you meet the criteria (regular and relevant content), when you update your blog then this tool will know and share a link out.
If you like podcasts, or like listening to talks on your favourite subjects then this is definitely one for you.
MergeConflict is a weekly podcast all about Mobile Development in Xamarin hosted by James and the equally lovely and inspiring Frank Krueger. Each week they discuss a different topic of interest from App Design to VR to Managing Open Source projects. Not only does their passion for the topics come across but they are two serious players in the code world with the products they have produced so their knowledge is priceless.
Wow that is quite a long list!
Yup, one of the reasons I have found myself keeping up with Xamarin is how many resources there are available. The product teams regularly post videos and blogs to tell us as a community what is happening. They also take an active role in getting feedback, there are whole threads on the Xamarin Forums dedicated to laying out a roadmap of what is to come and wanting to hear what matters to users.
The community too is second to none. There is a Slack Team for users that also has active employees in so you can get first hand help from thousands of smart people across the world. But as you can tell from above, you also get a whole heap of community created content because so many people love it too and want to share their experiences.
What made you decide to start the Manchester Xamarin User Group?
Well, the main reason is passion! I don’t work with Xamarin anymore professionally but I still use it regularly in my spare time so I wanted the chance to talk about it, share my passion with people and also find other like minded people who love it too or have an interest.
I have benefitted so much from the experiences I gained working with Xamarin, becoming a Xamarin Certified Developer, attending Evolve 2016 and talking to members of the community. I want to give back. I wouldn’t be where I am today with Xamarin without the support and influence of the community so this is my chance to help. Hopefully I can help people even just a small % of the amount the community has helped me.
Plus organising the meetings means I can give my attendees exposure to amazing speakers (and I get the honour of meeting them) who love giving up their spare time to share their knowledge with interested participants and that is great.
The 4 Xamarin monkey mascots that live on my sofa
Hopefully if you weren’t already, reading this has inspired you to consider Xamarin if you have even a remote interest in Xamarin/Mobile Development. Bear in mind too that Xamarin University has a quick C# course so total beginners are not excluded from the club.
I could go on forever about Xamarin and how excited I get every time I see a video or blog post on a new feature, or see a new way of using something existing that someone has come up with. But these blog posts are aimed at not being a total snoozefest so I shall end it there but thanks for reading and hopefully see you in the next post!