One of the biggest reasons I write blog posts is that so I can provide you value and so whenever I stumble across something valuable I will share it with you all! This time round I will be talking about the popular Xamarin framework for building cross-platform mobile applications.
I know that I have not posted anything in a while …. :/
But for those viewers who are coming back to the site, hello there! and for those who are new, Welcome to my abode :D
Oh BTW, slightly off topic … there are now 300 monthly active people who consume my content!! Which is fantastic right? So… i’ll be doing a giveaway as a thank you gesture!
(Further info about the giveaway is at the bottom of the blog post!)
This post covers my initial experience and opinion on developing mobile applications written with C# and the Xamarin framework. It is pretty awesome, you should check it out…
I’m a big BIG FAN of writing once and re-using code. With Xamarin’s framework you are able to write complete loosely coupled mobile applications in C# that run on both Apple and Android devices.
This means you write your logic once and both platforms (IOS and Android) utilise it. Not only is your coding logic shared across multiple platforms but also your UI Layer. I love this!…
Click the following link to watch some awesome content by Xamarin University: their video content covers building mobile applications based on the Xamarin technology.
I’ve watched quite a few myself and i must say that the content is quality and I’ve learnt a lot from them! https://www.youtube.com/channel/UCykEmj8H8O0aE6QB1965XCg/videos
Messaging Center in Xamarin
Recently, I wrote a new feature which essentially downloads data in the background. No user interaction is needed. Basically it is a background service. When I was writing this feature I had the trouble figuring out the architecture of this feature. It had to be loosely coupled and there could not be a single tightly-linked dependency.
Soo.. anyway.. I tried many different ways but the one that I chose, included a Messaging Center infrastructure. The messenger service had a publisher and a subscriber. The code I wrote was encapsulated within a method and that method was invoked once the “subscriber” received a message from the publisher.
Which is awesome because the subscriber does not know about the publisher and vice versa! Why?…
This is because there is an intermediary communication service built within the core of Messaging Center. Typically the publisher would “publish” a message to the Messaging Center and the subscriber would subscribe to the message signature via the Messaging Center..
It’s extremely cool because Messaging Center can be integrated across different platforms. For example if the C# Portable Class Library (PCL) needed to send a message to only the Android Platform then guess what? IT CAN! ;-) … The beauty of Messaging Center is that multiple subscribers can be listening to the same message!
My take on Xamarin
I love it! As the Xamarin community and technology grow, I could only imagine it getting better ! Also, there are many libraries out there which provide a lot of functionalities out of the box!
I’ve read up a lot about Xamarin’s mobile application performance. One of the things in the article was about slow app performance when using Xamarin. But, in my personal experience I’ve had 0 performance issues when deploying a production ready mobile application onto an Android or an iPhone.
Messaging Center is awesome! Definitely give it a go, it provides the functionality to write decoupled code.
That is all for now!!
I know that I have not posted anything about User Experience (UX) and User Interface (UI) design. But, it is a great hobby and passion of mine. In my spare time I have created many different User Experience flow charts and User Interfaces for both Web-based applications and mobile applications.
So be on the lookout for these designs on the Portfolio page. Let me know what you think about them too, I’d love to know!
In terms of the “give away” itself, please use the contact page
(https://www.bilaalsblog.com/#/contact) to get in touch with me if you need a newly designed User Interface and User Experience for your mobile app / website-application.
PS. Only one of you will be selected!
Ciao! Have a great day :)