BT

New Early adopter or innovator? InfoQ has been working on some new features for you. Learn more

Scott Olson on Cross Platform Mobile Development with MonoCross

| by Jonathan Allen Follow 5 Followers on May 12, 2011. Estimated reading time: 2 minutes |

We recently interviewed Scott Olson of the MonoCross Project. The MonoCross Project is a framework for cross-platform mobile development. It uses a combination of .NET and Mono technologies.

In your recent blog post you mentioned that you ported client projects from .NET CF into MonoTouch. Can you describe what challenges you faced during this process? Was it merely an exercise in rewriting the UI or were there other issues you had to contend with such as file and network access?

It was mostly re-tooling the UI, but there were some challenges in what could be referred to as utility functions, (i.e. file access, encryption, serialization, threading).  We found that the implementations varied from one platform to the next.  This mismatch required some additional abstraction.

For non-UI code do you find .NET/Mono to be a suitable abstraction layer on its own? Or do you find yourself having to build additional libraries to account for the differences in the underlying architecture?

For the most part, yes.  As mentioned above there were some challenges in implementing basic OS utility functions that required the insertion of an abstraction layer to facilitate those actions.  We simple defined an interface for each of those functions, and implemented them accordingly for each platform.  This enabled the OS functions to be called from the shared application, with the utility libraries for each platform taking care of the lower level stuff. 

There were a few challenges with .NET libraries and classes that were supported in Mono, but they all had viable workarounds using different techniques.  We found Mono to be very close to what MSFT implements in Silverlight -- so if something worked in Silverlight, chances are it worked in Mono.

For your .NET CF applications, did you it easier to port to the code MonoTouch, Mono for Android, or Silverlight for Windows Phone 7?

They all required about the same effort, mostly because it was predominantly UI re-work.  Many of the CF modules that existed behind the UI could be ported with only a small additional effort.  

Besides yourself is there anyone else specifically working on the MonoCross project?

Yes: Myself, Ben Horgen, Kenny Goers and John Hunter are currently owners of the project.  The four of us are planning a book about our experiences -- which will cover the development and usage of MonoCross in more detail.  We also have several contributors in addition to the four of us who provide valuable insight and code.

How many applications would you say currently use MonoCross?

We've currently deployed the pattern to seven Fortune 500 organizations, with three more projects in active development at this time.

For more information on MonoCross see their whitepaper or download the source code.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT