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 Werner Schuster on Oct 10, 2011
Live from GotoCon Aarhus 2011 keynote with Lars Bak and Gilad Bracha.
Google's Lars Bak (creator of, among other things, Chrome's V8 Javascript engine) and Gilad Bracha (former Java steward, creator of the Newspeak language) gave GotoCon Aarhus' keynote and used it to announce a new language and tools for the web.
First off: the language comes as a technology preview, it is not yet in Chrome, it comes with syntax familiar to Javascript developers, Erlang-style/Actor-style concurrency. Comes with support to write applications for the iPad. Update: clarification: the demoed iPad version was Dart code cross compiled to Javascript and executed
Characteristics:
Syntactic features
Types in Dart:
Interfaces:
Concurrency with Isolates:
The language is not done yet, and the team is looking for input. The language is currently not in Chrome.
Dart execution:
Tools:
A technology preview version of Dart and the tools is available for download now, and at the Google Code Dart project.
Building HTML5 Apps in Hours, Not Days
Tools to unit test your JavaScript
Taming HTML5 and JS: High Performance Mobile, WebKit, FireFox Dev Tools @QCon New York
Infoq presented OPA some weeks ago ( www.infoq.com/articles/Opa ), which sounds like Draft for the client side, but which also takes care of all the server (and communication) stuff!
This actually sounds pretty cool and useful. Sort of like a stripped down version of Java with reified generics and closures (lambda) or a less strange version of JavaScripts with some type support.
Now what would be cooler is if you could program GWT, and Android devices with it, and if it had a version that worked on the JVM and integrated with JVM for Java server side integration.
Oh yeah.. and a Dart VM that runs in the browser because who wants to actually compile to JavaScript going forward (I mean only to support legacy browsers). If only they controlled an emerging browser. Oh wait.
Also if it ran in Android to develop native Android apps then... umm.. err... might take some of the sting out of the lawsuit too.
Also HTML 5, Android, iOS abstraction layer for location, local storage, websockets etc. Develop native apps that can easily be ported to a browser app and say a mobile OS or two. Possibilities are endless. How does this compare to CoffeeScript (syntax wise)?
On more of a random opinion note. The syntax seemed a lot like Java minus the generic warts and plus lambda. Hmmm....
What is it missing? Anyone know if they have plans to use it for Android development? Random thoughts minus research.
Does this smell like dead for other stuff invented to ease the pain of developing in JS?
To name a few:
1. GWT (java -> JS, which I don't even think Google would use in their flagship projects)
2. CoffeeScript: who need this when you can run directly (or thru a native plugin) in the browser
3. Other JS frameworks that make JS less suck: Prototype for example
4. Tools that allow running JS at server side: Node.js, Mozilla's Rhino
I really the initiative from Google. At the same time, they have so many similar things going on trying to resolve the same thing: GWT, Native Client (with Pepper JS interface). At the end: are they trying to make an ActiveX plugin architecture?
Is this to get around the AppStore TOC?
Maybe. But that has to be a fools errand right? They could just change their TOC. right?
I have never used Smalltalk beyond demo apps. How useful is this feature with Smalltalk?
"DartC compiles Dart to plain Javascript"
Dart is a new language or just a simple compiler??
the main benefit, in this case, would be faster loading of an app.
Instead of obtaining scripts over the network and compiling them on the fly, it would be much faster to 'deserialize' an image into memory. For large apps ('docs') image loading should be significantly faster.
I believe this is one of the issues with javascript today especially if the server/network is overloaded.
[I don't know anything about the TOC. Maybe it does the same thing]
They are planning on integrating into the browser, and I think they're hoping others will do the same. As far as your other stuff, I would be very surprised if this didn't show up as a way of unifying android and web dev. Perhaps even the missing link between Android and ChromeOS.
Its funny - between Dart and NaCl, I feel like instead of Android becoming more like Chrome and web standards, Chrome is becoming more like Android.
Dart is great, but Google can do even better: tatiyants.com/?p=1229
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.
10 comments
Watch Thread Reply