Cloud Foundry: Design and Architecture
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Jonathan Allen on Sep 17, 2009
MonoTouch is a port of the Mono runtime along with an adapter layer so .NET developers can use the native iPhone GUI toolkit. MonoTouch is unique in the Mono ecosystem because it is the first commercial Mono product from Novell. As expected, there was some community backlash.
The major components included in MonoTouch are
A common objection to MonoTouch is that Objective-C is already a suitable language for iPhone development. However, Miguel de Icaza is claiming that C# has some significant advantages.
With the mtouch command and the bindings complete, we started trying out the API by porting the Apple iPhone samples from Objective-C to C#. And in the process finding two things: C# 3.0 constructor initializers are a thing of beauty.
And also that the samples ported were half the size of the equivalent Objective-C programs.
Miguel continues to explain how MonoTouch’s XML+partial code-behind class eliminates the tedious repetition needed for Objective-C header and code files.
Another complaint is that MonoTouch isn’t open source. A single-user license with 1 year of updates starts at $399 per user, with the enterprise edition costing a hefty $999/user. Since this is tightly integrated with Apple's iPhone SDK, programmers must use a Mac for development.
Building HTML5 Apps in Hours, Not Days
Why NoSQL? A Primer on the Rise of NoSQL
Automating Error Reporting for .NET Applications
Troubleshoot Java/.NET performance while getting full visibility in production
... to generate "community backlash".
Seems to me if you want to use Objective C or not pay for a mono-based product, you're no worse off than you were yesterday. What's to "backlash" about?
Sometimes, we're our own worst enemy. Heck, most of the time.
Or is the "community backlash" really just some random blogger that hates Mono already?
There is lots of noise on the newsgroups. I would have quoted them if they had anything intelligent to say, but mostly it is childish whining about being "stabbed in the back". As a reporter it is my duty to acknowledge their concerns, but at the same time I'm not going to give them a soap box.
Honestly I don't understand it. I'm too young to know how it was in the 60's and 70's, but these days you can't make a dime or port a language to a new platform without pissing off people. Maybe it is just the Internet's echo-chamber effect, but I swear it is like a significant number of programmers would be happier if there was a one-to-one mapping between platforms and languages and everyone worked for free.
But my beef is with calling it a "community backlash", when in reality it's not really "a community". Hand-wavy definitions of "the community" are thrown around too much the way it is.
I see. I'll definitely take that into account in future articles.
I followed this a little in the beginning, and i was under the impression that targeting the iphone platform was free, where as the "ready made" API, created by Novell/Mono to easily access iphone features, cost money.
Is this the case? or can you not target an iphone device (and deal with library access issues yourself) with mono for free?
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
Andrew Watson talks about the work of the OMG, where CORBA is alive and well (hint: in your car), UML and UML Profiles vs. custom Modeling languages, DDS and other middleware, and much more.
Sohil Shah discusses creating iPhone and Android enterprise mobile applications based on cloud services using the open source platform OpenMobster.
Paul Sanford presents the transformations supported by data throughout its life cycle, and how that can be better done with Splunk, an engine for monitoring and analyzing machine-generated data.
A common “best practice” for unit tests is to only write a one assertion in each test. I intend to question this advice by showing that multiple assertions per test are both necessary and beneficial.
John Rauser presents the architectural and technological evolution of Amazon retail websites starting with 1994 and ending with adopting Amazon Web Services.
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
Every developer has had to integrate with another system, API or component. Tis article provides strategies to handle the change and for he separating system boundaries.
7 comments
Watch Thread Reply