The Xamarin MeetUp is organised and hosted by Josh and Mohit from Datacom, NZ’s largest software specialist company. Josh runs the Xamarin dev team at Datacom, working mainly with rural enterprise applications. Mohit is a Microsoft MVP and was encouraged to start the Auckland Xamarin MeetUp after returning from a trip to Redmond, Seattle.
In the beginning…
Although this may be the sub-title of the second MeetUp, the first MeetUp was more advanced in its content. For the first MeetUp, Josh showed us through the code of the project that he and his team were currently working on, which was great because it is a real-world commercial application.
That project was for a particular piece of hardware, a bar-code scanner. The project focused mainly on the Android implementation, and struggled with aspects of including an external jar library in to a Xamarin project. The presentation demonstrated the coding of business logic in C# using SQLite to interface with a native database, and provide ORM.
While the presentation was very interesting, the content lacked the basics of what Xamarin is trying to do, and because only the Android implementation was being coded, it lacked an iOS perspective. For this reason the second MeetUp was meant to address these, following some helpful feedback from the attendees of the first.
Xamarin 101 – MeetUp #2
This is my attempt to summarise what Josh did in the second MeetUp, which was to give an overview of how a Xamarin project is setup, what it does and doesn’t do, and when you’d look to use it.
What Xamarin does and doesn’t do
For those new to Xamarin, this is perhaps the most important introductory point. To sum it up, Xamarin is a cross-platform development environment, that enables code to be written in Microsoft’s C# language, and compiled to native Android, iOS and Windows mobile platforms.
When to use Xamarin
Xamarin’s sweet spot is development of apps with requirement to be native on all the major platforms, and especially where the development team has existing capabilities in dot net.
Xamarin has a number of licensing options ranging from a free 30-day trial that limits project size, to a >$1000 per seat, per year commercial license. In between there are options for small teams, students and start-ups.
Josh’s explanation of the different options for project development left me with little doubt that the Shared project is superior to the Portable Class Library (PCL) version, which packages all of the platform’s code in to a single binary (.DLL file). The only reason I can think to go with the PCL, is for version control reasons, where you need to ensure that the various native implementations link to a particular (or known) version of the binary containing your business logic.
I felt that the quality of the MeetUp is improving, and that experience of the other attendees, as well as Josh and Mohit, are definitely worthwhile. The trajectory is looking good for this MeetUp to be one of the better ones in the software development space in Auckland. Likewise I’m a big fan of Xamarin as a technology for cross-platform mobile application development, although not so much of the licensing requirements and associated cost.