Infragistics ASP.NET controls

dot42: an alternative to MonoDroid

Android development in Visual Studio

I'm sure a lot of you have heard of the MonoDroid product by Xamarin which allows .NET developers to write android applications using your favorite .NET tools.  I find this option awesome because I'm a .NET developer and because I find native android development tedious.  It's not that Java is difficult, especially when compared to iOS development using objective-C (ughh).  My main problem with android development in Java is once you use Visual Studio for a few years, it's really hard to use anything else.  

Enter Xamarin's MonoDroid

I was really excited when MonoDroid was released.  That excitement faded quickly when I learned that i couldn't deploy my applications to my Android phone for testing without a license.  Instead, you are forced you use the Android emulator.  I've tried many times with many configurations to use the emulator.  It's simply not feasible for me.  The emulator is INCREDIBLY slow, when it works.  Other times I would wait for 20+ mins before giving up.  I'm not the only developer to express disdain for the Android emulator.  Just google Android emulator slow and you will find a lot of people have this problem.

dot42: An alternative

Let me start by saying that I ran across dot42 http://www.dot42.com/ only 10 minutes ago, so I don't claim to have experience with the product.  What I can say is that like MonoDroid, they offer a free version of their product for personal (no commercial development).  Unlike MonoDroid, I see no news on their site to suggest that you can't deploy your application on your phone for testing with the free version.  If this is in fact true, this makes all the difference to me as a developer. (Update: I've verified that dot42 does NOT restrict deployment to your device of choice.  They even allow you to publish free applications to the Android app market!  Be on the look out for  a follow up article dedicated 100% to dot42 very soon!)

I think MonoDroid is a great product and it is certainly a much more mature product that dot42.  I will be sure to write a follow up to this article once I've tested the product.

What about you?  Anyone out there want to speak out about their problems with the android emulator?  Does anyone else wish that MonoDroid would allow us to test the product on our own devices?  Please feel free to comment and let us know what you think!

Happy Coding!

kick it on DotNetKicks.com



Comments (10) -

Bragi
Bragi
1/20/2013 3:18:42 AM #

Yes, I've also had varying experiences with the emulator. I prefer working on the device itself cause it gives better results, but it can be clumsy sometimes, always switching between dev-machine and phone to do a single key-press.

Buddy James
Buddy James
1/20/2013 1:59:53 PM #

I can totally relate.  As tedious as the whole process of testing on a device is, I still find it  a better option than trying to use the emulator.  I can't understand why the emulators perform so poorly (when they work at all).  Thanks for reading!

sam
sam
1/21/2013 9:48:18 AM #

mono app will have initialization time , I comes to conclusion that if you want to do android app for commercial use just use Java . it is a good long run solution .

Buddy James
Buddy James
1/21/2013 2:30:03 PM #

@sam Thanks for your input!  I agree that native development takes some of the steps out of the way.

I personally love C#.  Even more so, I'm deeply in love with Visual Studio.  It's such a great IDE.  Once you are spoiled with Visual Studio, it's hard to switch to something like Eclipse.

Maybe someone will develop a solution that integrates native Java development with Visual Studio.  That would be a most attractive option!

Thanks again for your thoughts on the subject.

Roger Heim
Roger Heim
2/5/2013 2:23:38 PM #

@Buddy Try IntelliJ for Android dev (especially if you use R# in Visual Studio.) The free community edition has everything you need for Android dev (commercial too.)

Buddy James
Buddy James
2/5/2013 7:31:16 PM #

@Roger, Thank you for reading!  I looked at the IntelliJ website and I must say, it looks like a very nice product.  My only issue is that although I can write Java, I'm a .NET developer at heart.  At the same time, the fact that this product has an Android UI designer has me considering giving it a shot!  If the free IDE allows for deploying to my phone (and not the crummy emulator!), then this just might be the IDE that I use on the occasions in which I do choose Java as my weapon of choice.  Thanks again for the comment and the great suggestion!

Buddy James

Frank Rem
Frank Rem
2/17/2013 3:28:58 AM #

@Sam Regarding the initialization, this is not a consequence of the language but of the extra runtime. Note that dot42 compiles c# to Dex (dalvik executable code) just like Eclipse compiles your Java to Dex. There is no runtime penalty when developing your app with dot42.

Admin
Admin
2/17/2013 4:45:16 AM #

@Frank Thanks for the extra info!  I've written a new, more detailed post on dot42 www.refactorthis.net/.../dot42-Android-development-with-C-All-the-best-parts-with-less-restrictions!.aspx

Read, comment..

Thanks for reading!!

Buddy

Marco
Marco
3/21/2013 12:38:20 PM #

I tried dot42....i dont like....
It s like developing in java for android and it has not a ide :'(
Though i dont like eclipse coz i ve been using for many years visual studio, i started to develop in java on eclipse....tired of trying new products or alternatives...i tried also phonegap, i wanted to die

Buddy James
Buddy James
3/21/2013 5:41:49 PM #

I'm sorry to hear that.

Have you tried Mono for Android?

Thanks for reading!

Buddy James

Pingbacks and trackbacks (2)+

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

About the author

My name is Buddy James.  I'm a Microsoft Certified Solutions Developer from the Nashville, TN area.  I'm a Software Engineer, an author, a blogger (http://www.refactorthis.net), a mentor, a thought leader, a technologist, a data scientist, and a husband.  I enjoy working with design patterns, data mining, c#, WPF, Silverlight, WinRT, XAML, ASP.NET, python, CouchDB, RavenDB, Hadoop, Android(MonoDroid), iOS (MonoTouch), and Machine Learning. I love technology and I love to develop software, collect data, analyze the data, and learn from the data.  When I'm not coding,  I'm determined to make a difference in the world by using data and machine learning techniques. (follow me at @budbjames).  

Related links

Month List