Friday, May 3, 2013

C#, iOS, Android and Windows Phone. OH MY!

Back in November of 2012 I attended the Philly.NET Code Camp 2012.2 as I regularly do twice a year. For those that do not know what Code Camp is, it is a day long conference put together by Philly.NET (it's like a .NET user group in the Philadelphia region) where they hosts numerous sessions about all things .NET. It's sponsored by Microsoft and many others and lots of vendors show up to advertise all their goodies, new tech and job opportunities. When I attend Code Camp I usually pick sessions (a presentation about something .NET related) about topics I don't know or maybe sound interesting. The sessions are about 1 hour and they are usually 101 type information or quick demos. 

It's been a while so I don't remember all of the sessions I chose, but I do remember two of them. The first being a session on SignalR - a web sockets framework for .NET. Jeffrey Fritz  (I believe He was with Telerik) gave a great presentation and showed a cool demo of SignalR in action with an online multiplayer game - http://shootr.signalr.net. The second session is what I am really excited to mention, mainly because it will lead me into what I really wanted to talk about: MonoTouch. The title of the next session read on the schedule "Building iOS apps with C# and MonoTouch". I thought this sounded really cool, even though at the time I was not doing anything related to mobile development and I really was not an "Apple guy". I went to the session, which was packed, and listened Al Nyveldt talk about how it was possible to create iOS apps with C# using this thing called MonoTouch. 

Throughout the hour Al showed all of us how to create a simple app really quickly using MonoDevelop and Interface Builder. Now I had a little bit of familiarity with Mono and MonoDevelop because I had been working with the Unity3d game engine and its tools. However, MonoTouch was new to me. I thought this was really cool, and since I love C# I decided to try this out for myself. 

I tinkered around for a while and got some practice projects out of the way. A few months later things ramped up in my personal life and I had to move away from my current location and quit my job. I had to relocate and find a new career. I applied for a web developer position, which was not ideal for me because I am new to that too, but I love to learn so I thought I'd give it a go. Lucky for me though, a unique opportunity came up and I found myself staring at an employer looking for a ".NET guy that has experience with Mono to work on iOS applications". I jumped on that and was soon neck deep in MonoTouch and iOS applications (I had purchased an iPhone by this time)!

Now on to the really awesome part, Xamarin.iOS! MonoTouch/MonoDevelop was soon re-launched shortly after I started working with it for a whole new refresh of products and tools. This is branded Xamarin and you can find them at www.Xamarin.com. They provide a really awesome set of tools for developing iOS and Android apps using C# and Mono Framework. It really lets any .NET developer leverage their experience/passion with .NET and enter the mobile application space in a cross platform way. 

The thing I love most about Xamarin isn't the amazing tools they are providing, or the fact that I can use C#, it's their whole design strategy: Delighting Developers. You can instantly tell that is what they are doing when you start using their tools. They look slick, sharp and gorgeous. The tools work well (considering they are new and beta and alpha versions are constantly coming out) and are easy to use. 

They seem to be growing and they just had their first conference in Texas called Evolve 2013. I wish I could have went, but had Royal Caribbean trip planned a year ahead so I missed it. They announced some really cool features coming to the Xamarin tools including C# 5.0 support, a device testing feature called Xamarin Test Cloud and their own iOS visual designer that is supported in the IDE! I will continue to use the Xamarin products as my journey with apps continues because I think its the best way to develop an app out there. I continue to post some more on here soon with some of the things I have learned and techniques and even some sneak peeks at my current projects with Xamarin. 

Get started developing an app at www.Xamarin.com!


No comments:

Post a Comment