TechHui

Hawaiʻi's Technology Community

How a new suite of unencumbered technologies could elevate web development today and better prepare us for HTML5 tomorrow

The web development world is in an interesting place. HTML5 is the future, but its not quite ready. Javascript is the lingua franca of this brave new world despite the fact it lacks many basic features of modern OO languages and was never intended to be used for sophisticated desktop-like apps (think Google Apps.) Apple has accelerated the move away from plugin based RIA technologies such as Flash/Flex. In the iOS world that is increasingly dominating high end mobile apps you have two options - mobile web apps using a subset of HTML5 or native apps written with an antiquated language. The future of Java, the language of Android and millions of lines of server-side code, seems uncertain as a litigious Oracle increasingly looks like a suboptimal steward and pillars of the JCP such as Apache walk away. The only company with a high performance modern VM, solid standard library and support of modern OO and functional languages in the browser is...roll the drums...Microsoft!

Google - This is the perfect time for you to save the web from an icky future. What we need is a new standard, lets call it Plex, that provides a standard abstraction facilitating the use of multiple modern languages (OO, functional, etc.) with a standard library on everything from the cloud to the desktop to the phone. This may sound a lot like Java or .NET but a universal VM approach isn't possible, at least not at first, because these apps need to run on the server _and_ in the browser without the benefit of a plugin. On the client we need a GWT-like abstraction layer that, in the short term, cross compiles any Plex compliant language to HTML5 and Javascript - basically a GWT compiler with GCC-style pluggable front ends (i.e. languages.) Simultaneously a push should be started to incorporate an efficient intermediate language in the HTML5 specification so the Javascript step in the Plex compilation pipeline can be removed.

Plex should be designed to accommodate popular languages (Ruby, Python, etc.) in the future but out of the gate it should introduce a flagship language optimized for the Plex environment. "G" should be an optionally typed language supporting OO and functional models with all the goodies we've come to expect. It takes a lot of resources to write a new language, a new server and mobile VM, a new cross compiler for HTML5 and all the quality tools necessary to support development, but if anyone can do it, it's you. I bet your friends at the ASF and other former JCP members would be willing to help.

Views: 229

Comment

You need to be a member of TechHui to add comments!

Join TechHui

Comment by Daniel Leuck on December 12, 2010 at 4:12pm

I'd heard a bit about Native Client, but never investigated it. Your response prompted me to take a look. So, Native Client's approach to sandboxing via x86 memory segmentation is interesting, but its still basically a plugin sandbox that lets you run your native (C, C++, etc.) programs in the browser. This is useful, but what I think we really need is:

  1. A new legally unencumbered, modern and feature rich OO lingua franca - G
  2. A new legally unencumbered, modern (generational garbage collection, adaptive compilation, etc.) and feature rich VM designed for use with this language and, in the future, ports of popular existing languages - the PlexVM
  3. A standard language agnostic library that works in the browser (via a GWT-like abstraction layer) and in the VM environment - the PlexSL
  4. A GWT-like compiler for this new language and standard library - PlexWT
  5. (longer term) Introduction of a common language layer including a standard intermediate language in the HTML specification. The goal would be for all HTML compliant browsers to eventually be superb Plex virtual machines.
  6. A reference IDE, probably something built on top of Eclipse or perhaps something running in the browser, that makes development of Plex apps easy and enjoyable.

What we really need is a good OO language and a good OO VM to put behind our HTML5 interfaces. It would be especially nice if a superset of this environment (same language, same core lib, etc.) existed on the back end (i.e. in the cloud.) This is a tall order, but if anyone can do it its a hui of organizations like the ASF with a strong organizing entity like Google at the helm.

Comment by Seth Ladd on December 12, 2010 at 7:05am

Have you seen Native Client?  It's not everything you want here, but it's one way to get any language safely onto the browser.  For instance, there is a Ruby port.

And BTW, +1, web development needs to be easier for applications.

Sponsors

web design, web development, localization

© 2024   Created by Daniel Leuck.   Powered by

Badges  |  Report an Issue  |  Terms of Service