The Xamarin and Android Studio story
Who’s my companion?

What happens when every now and then you get messages and answer requests from some to-be developers? They ask you what and how. Then they ask you which one? And then it’s like why there are much alternatives? What happens next? My next Medium story.
The story of Android Studio
When Android was born, it had quite mixed opinions. There were some issues which mostly included the very famous bugs, no documentation, inadequate QA infrastructure, and no public issue-tracking system just like the now available developer platform GitHub. That did not stopped the devs to make applications for the newly born OS. It was a week after which one of the first app for Android came into existence. Games followed them too.

The Snake Video Game which we used to play earlier on our big, fat CRT monitors was now on a touchscreen phone, a smartphone! The notoriously long snake can be elongated with touch events and that was so easy to do. Since then, there are thousands of apps targeted to increase the snake length.
When the thought of framing the Android SDK came into picture, the official IDE Android Studio was bound to reveal. It was on November 12, 2007. There were competitors since its formation. The apps used Java as their language of logic. IntelliJ IDEA, Eclipse and Visual Studio, were the three environments which most of the devs were already using to build applications. At that time, they didn’t had the libraries/resources to develop scalable apps for the now highly popular mobile OS. Neither they would want to chop off their area of expertise. I mean, the usual Java or C# applications. Android Studio was built by Google. Giving the much needed platform for the upcoming devs to build custom-tailored high quality apps. Since Android now runs on smartwatches (Android Wear), smart televisions (Android TV) and also on cars (Android Auto) therefore, this software eased out all the hassles to go from one IDE to another to make the same app. Therefore, greater app reach!

Yes, it has code editing, debugging, testing, and profiling tools which we all love. What I really liked were the following five features:
- The Instant Run:- Wow. Never had I seen such a thing in an IDE before using Android Studio. The effects are seen immediately!
- Virtual app-run speed:- I suppose the Android Emulators are the fastest smartphones in the world. Apps run quickly than a real on would do. Plus you get TVs, tablets and smartwatches all for $0! (Oops!…sorry).
- Automate, automate, automation:- Talk about dependency management, Git Version Control System (you can refer Akbar Sha Ebrahim’s post for this) with integrated GitHub support or different flavour/build management, this IDE has all.
- Native support:- For those who don’t wanna code in Java and are in love with C or C++. This is really a +1 for them.
- In-built icon maker:- No hassles of switching to Adobe’s Illustrator or Photoshop (unless you really need to) to generate your app icons. The IDE has Vector Asset Studio to manage them all.
The story of Xamarin
Not everyone is an Android lover. Not each one of you will say “Yes!” when I ask “Android is the best mobile OS”. Enter some terms; cross-platform, multiple platform and whatever you may think of. To solve that, Microsoft introduced Visual Studio and not the old Visual Basic editor that we see below.

Oh, dang! We all loved the drag-and-drop stuff. Honestly speaking, when I first used Visual Basic (VB) for my school project, I was addicted. I just left that damn DosBox’s cringy blue screen window for crazy C++ programs. I just dragged some text boxes, labels and that lovely button from the left toolbar and used to make really cool programs like some trivial question-answer stuff. Whatever I knew about C and C++ I implemented that. Sometimes it worked…sometimes I just closed that unsaved project and then regret all day for not saving it. Okay, enough of my story with VB.
Microsoft was already well known for its VB and .NET Framework and tools. They also developed the unified Windows platform which started after the flop of Windows Vista and the hit of Windows 7. Yes, I’m talking about Windows 8 and Windows Phone 8. You really need not consider Windows Phone 7. It was a total mess. To develop apps for this new tile-based platform, devs worked on an entirely new IDE called Visual Studio (VS). This was followed by its iterations and different types of VS like VS for Web, for Windows and for Windows Desktop et cetera. While Microsoft was busy in their annual Build Developer Conference, another company already had visions to make an IDE which would develop apps for almost any platform available there. This was Xamarin.

Xamarin simplified the process of cross-platform app development using thousands of existing skills in the native programming languages. You can now use C# to develop apps for Android. No Java required! But hey, why did I say Android here, I was telling you the Microsoft’s platform earlier! Turns out, I just don’t work on the Universal Windows Platform (UWP). We now have a choice to develop app(s) for either Windows’s UWP, Android or even iOS. Xamarin can do it all. So, what I liked about Xamarin?
- Nativeness:- The biggest asset which this IDE has. Anything you can do in Objective-C, Swift, or Java you can do in C# with Xamarin.
- Extensive testing:- App shipping becomes easy here. You have over 2,000 real devices in Xamarin Device Cloud.
- Teamwork:- Working together in a team is more fruitful in Xamarin with support of mobile DevOps, live crash reporting and extensive tests coverage.
- It has it’s own university!:- While there are plenty of options to learn Android or iOS app development online, there’s also a full-fledged university for development in Xamarin. Obviously there are live teacher-student sessions.
- It’s now a Microsoft company…:- I included this point for not a great reason. They have a motto which reads:
Any developer, Any device, Any app
Bottomline
Whatever Xamarin may provide, I am still with Android Studio. Reason? I love Android more than Windows Phone or iOS. Another reason? I love customisation. Another one? I only have cool Android devices to test which includes OnePlus 3T and a Nexus 6P. Who knows, maybe after a year or two I shift to Xamarin/Visual Studio for a better reason(s)…Oh!
Liked this story? Feel free to clap and motivate me to write more and better. Did I missed something? Any suggestions? The comment box below serves the exact purpose!
✉️ Subscribe to CodeBurst’s once-weekly Email Blast, 🐦 Follow CodeBurst on Twitter, view 🗺️ The 2018 Web Developer Roadmap, and 🕸️ Learn Full Stack Web Development.