Code Watch: Strategies for mobile enterprise development
January 30, 2012 —
(Page 1 of 2)
Developing mobile applications for the enterprise is considerably different than developing mobile apps for retail sale. If there is one thing that differentiates enterprise development from commercial development, it's the budgeting process. While a commercial team may have a constrained budget and a time window (often identical, as in, "We have enough money for one year."), it's generally a constraint that defines the entire company.
In an enterprise setting, there are any number of other projects that might otherwise be funded. Mobile apps are still very risky in terms of return on investment (indeed, I'd be extremely skeptical about any ROI model that didn't emphasize the unknowns), and thus, in an enterprise situation, are political lightning rods.
There are three major routes forward for a mobile application: Web-based, cross-platform and native. Developers will likely advocate for the native solution, which is most interesting and fun from a technical perspective. Of course, enterprises typically target heterogeneous users, and that means multiple native applications that can share little other than high-level architecture. Add in questions of deployment and maintenance, and the wise choice for most enterprises is to avoid native solutions.
Cross-platform development for mobile has become an absolutely viable route. Although Apple has held a firm line against interpreters and virtual machines in iOS, it has decided to allow (or at least not actively suppress) applications that compile to native code and link to the CocoaTouch libraries.
Of the possibilities, I am most familiar with MonoTouch. The Mono Project extends back more than a decade to the very first days of .NET, and was essentially a Linux version of the .NET Framework and C#. Mono's been the property of three companies (Ximian, Novell and, as of last year, Xamarin), but has stayed under the guidance of its originator, Miguel de Icaza.
Mono has always maintained a very high-quality C# front end and, for mobile applications, MonoTouch (for iOS) and MonoDroid (for Android) use C# as the application language, but also bind to the native APIs, allowing for a good deal of cross-platform use. (This is assuming that your application has a decent separation of reusable model code and platform-specific view code.) I have not yet deployed a MonoDroid application, but I have found developing MonoTouch applications for iOS to be a pleasure (admittedly, 90% of iOS documentation is going to assume Objective-C as the programming language and, because working in iOS always involves XCode, there can be a certain amount of clutter in terms of open windows).
Related Search Term(s): mobile, Mono, MonoTouch
Share this link: http://sdt.bz/36313
Most Read Latest News Blog Resources
Android is the focus of two new design tools
Anywhere Software and Xamarin provide ways for developers to create and test their applications on PCs
|
|
LEADTOOLS HTML5 add-on modules released
Including New HTML5 Zero Footprint Viewer, JavaScript Libraries and RESTful Web Services for Document and Medical SDKs
|
|
How to speed up your Cukes
Using a five-step process derived from Six Sigma, Cucumber tests can go much faster
|
|
WhiteSource offers open-source license management as a service
Software gives companies insight into the open-source components in products
|
SmartBear rolls out new quality solution: API Complete
Software gives organizations ability to write test scripts and monitor APIs by bridging the DevOps divide
|
|
Android is the focus of two new design tools
Anywhere Software and Xamarin provide ways for developers to create and test their applications on PCs
|
|
WhiteSource offers open-source license management as a service
Software gives companies insight into the open-source components in products
|
|
Top five devices you can integrate with your applications
A five-fingered list of common, household items with which you can talk to (via software, of course)
|
Slick...but who needs it?
compilr.com is a well-designed site and the folks behind it seem to have their heart in the right place. But...who needs it?
|
|
How to be a better software developer
Want to be a better developer? You won't get there by mastering an interesting language or learning a new set of APIs.
|
|
Wooing Galatea
Do yourself a favor and check out Galatea 2.2, a wonderful book by novelist Richard Powers.
|
|
The world as story
An artificial-intelligence system at Carnegie Mellon seeks to understand the world by making statements about it.
|
Five SCM Best Practices
Two-thirds of all software projects fail, according to the Standish Group’s CHAOS study. Improper usage of software configuration management...
|
|
|
Best Practices for Branching and Merging Patterns
Development teams often create a branching pattern, usually drawn out on a white board or in a Visio document, that is used as a model to...
|
|
Automated Error Reporting
We invite you to read a short e-zine that tells you all about automated error reporting for .NET applications. This 8-page e-zine is packed...
|
|
The End of Application Redeploys
Imagine that every time you wanted to write, send or receive an email, you needed to restart your computer. How much time would this take, a...
|