Google Dart – The Prophesied Successor?

At IDR Solutionswe use JavaScript with our free online PDF to HTML5 converter so developments in JavaScript are very important to us. For a long time JavaScript has been the dominant scripting language that works along side HTML5 and CSS, however with the recent developments of Google Dart, JavaScript is now facing strong competition for the title.

javaDart

Overview

Google Dart, like JavaScript is a web programming language, and is believed to be the successor for the soon to be deceased JavaScript. Coming from a C++/Java background, the idea that Dart is class-based and object orientated with C-style syntax from the get-go is a definite selling point for me, it means that designing large scale projects will be much simpler if approached from an object-orientated stand point.

Development

When it comes to large-scale projects, Google Dart has potential to offer everything that asm.js (speed and optimisation) and TypeScript (a JS development environment for large projects) offer, Dart was designed with large-scale projects and performance in mind and when running on the Dart virtual machine it can potentially run 2x faster than JavaScript on browsers that support it.

Performance

Dart is considered to be faster than your standard hand-written JavaScript, this isn’t necessarily the case, for Dart to run at its optimal speed it needs to run in the Dartium browser. It also depends on whether your using object handling or arithmetic computing in JavaScript, if you are then you will likely find Dart to be the better choice as Darts handling is faster when used in this scenario. I believe once the Dart VM is effectively optimized then Dart has some definite potential for speed over asm.js. Mozilla is trying to push forward asm.js in an attempt to give developers a lower level way of getting that extra pinch of speed , however I do not think this is the solution, the solution lies in new technologies such as Dart and Typescript, it seems asm.js is here to plug a leak whilst Dart is replacing the roof.

Compatibility

Many people have complained that Dart isn’t fully supported by the majority of browsers yet. However to make it compatible you can compile it down to JavaScript using dart2js. I do not think is an issue because if people are willing to install multiple apps on their devices to view various content then why not install another app (Dartium) for optimal browsing experience of the content you wish to view.

Code Quality

One of the most pleasant features of Dart is how much easier its Syntax is to work with compared to JavaScript, for example look at the following code on defining a class :

dart

As you can see, when it comes to syntax, JavaScript can become very messy and very confusing, whilst Dart keeps it neat and simple, this is because of it’s design around C-style syntax. For more comparisons see the Dart Docs page.

Moving Forward

A nice quote from Buckett explains, “In the short term its very unlikely that we will see the Dart VM in other browsers, but if there are killer apps in Dart that run really fast in Chrome — something like the next Facebook — then people will inevitably say ‘let’s include it in our browser’,”. OK, maybe I was getting ahead of myself with the whole “successor to JavaScript” spin, but regardless, Dart is showing some very promising features and the day Dart is built into more browsers may come quicker than we think thanks to Google open-sourcing the code for Dart. If the successor is not Dart then it is certainly paving the way for the prophesied successor to appear.

yellowBrick

Thanks for reading! What are your views on Google Dart? Let us know by commenting below!

This post is part of our “Java Articles Index“ series. In these articles, we aim to explore the world of Java and Javafx. Have a look through!

If you’re a first-time reader, or simply want to be notified when we post new articles and updates, you can keep up to date by social media (TwitterFacebook and Google+) or the  Blog RSS.

Related Posts:

The following two tabs change content below.
Nathan is a developer at IDRSolutions, focusing mainly on the development of HTML5 and Form support for the online PDF converter. He was a speaker and exhibitor at JavaOne 2013, co-presenting a session titled 'Lessons Learned from Using GlassFish with NetBeans". Nathan also enjoys writing technical blog-articles.
Nathan

About Nathan Howard

Nathan is a developer at IDRSolutions, focusing mainly on the development of HTML5 and Form support for the online PDF converter. He was a speaker and exhibitor at JavaOne 2013, co-presenting a session titled ‘Lessons Learned from Using GlassFish with NetBeans”. Nathan also enjoys writing technical blog-articles.

11 thoughts on “Google Dart – The Prophesied Successor?

  1. Your post is not perfectly up to date. Classes syntax (and lots of other goodies) is already specified for JavaScript, and most likely will land in all major engines next year.

    To me Dart feels as a cry of Java developers who are unable to switch their OO brains into more functional programming.
    It will fail, but mainly because no one wants to go back to times where Web standards are owned and decided by one corporation.

    • Dan Howard

      @Mariusz Nowak

      Class was specified back in the 90’s and we’re still waiting for it. Nice to see that you’re optimistic though.

  2. Mike

    I am sure Dart will succeed because of it’s clean and modern structure. So many people are pissed of by JS and it’s messy and uncoordinated nature. @Marius – functional programming in Dart is part of to language, so you can but you don’t have to.
    Dart offers a whole infrastructure. From pub (Dependency-Management + Package-Management) to an IDE (Eclipse based). Sure JS has most of these nice features too – but spread all over the world. With Dart it becomes possible to write stable and maintainable!!! applications for the web.

    • Mike, you can write stable and maintainable applications with JavaScript as well, and all those tools that were build for Dart, could have been easily be build for JavaScript. To some extent they already exist, have you heard of npm? It’s very neat dependency/package management system, which surpasses many others that power other popular languages.

      Question is, why to build all those things it was decided to use new proprietary language. There’s no valid reason for that, as JavaScript is great enough.

      • ryan

        Javascript needs competition. Javascript suffers from not having competing language(s) to force it to progress at a reasonable rate. Seriously, how long have we been waiting for classes? The javascript VMs have improved massively because of browser competition. Now it’s time to bring language competition and forget the horrors of the VBScript days. Why not? Why do javascript people cry out that JS being the only possible language that the web could ever have forever until the end of time? It’s stupid.
        JS is a terrible language that does great things.
        What I would really like to see is JS become the asm of the web with languages implemented on top. That’s a compromise I could live with for a while.

        • Javascript can already be used as asm for the web, and is already used like that (CoffeeScript, TypeScript.. even Dart 😉

          Also there’s lower-level asm.js, which hopefully one day will be supported by all browsers.

          What’s important is that asm language you ask for, remains as open standard and not proprietary to any corporation. If JavaScript would be replaced by Dart, we would go back to state we had in early 00’s when engine owned by one corporation with its own idea of standards had 95% of usage. As we all remember it was very bad time for web development.

  3. A few facts and figures here.

    GitHub: https://github.com/search?l=Dart&q=created%3A%3E2005-01-01&ref=advsearch&type=Users
    Dart has 568 users and 1,998 repositories. Compare 320,530 users and 562,347 repositories for JavaScript.

    itjobswatch.co.uk: *No* jobs in the UK in the past 3 months have asked for Dart skills. Compare 16,789 for JavaScript.

    With figures like that, it’s waaaaay too early to describe JavaScript as “soon to be deceased” or Dart as “stiff competition.” It’s not the only JavaScript alternative either: there’s also CoffeeScript, TypeScript, Silverlight, GWT, and several others.

    • ryan

      True, it’s too early and javascript will be alive and well for a long long time. However, Dart is the only actual competition IMO.
      Coffeescript isn’t competition. It’s syntactical sugar (good sugar nonetheless).
      Typescript isn’t competition. It’s a superset. Microsofts attempt at influencing the standards process.
      Silverlight is done and gone. It remains as a dying star flickering in the night sky. The plugin model is dead.
      GWT is a waste of time. Nobody really wants to write java for the web. It’ll be around for a while but it’s a non starter as a real JS competitor. It’s clunky and too far removed from the web mindset.

  4. I still prefer using Objective-J, that benefits from AppKit’s delegation chain.

  5. Greg Brown

    “if people are willing to install multiple apps on their devices to view various content then why not install another app for optimal browsing experience of the content you wish to view”

    Because that would be a huge pain. I don’t want to have to remember which site works in which browser, etc. It would be analogous to installing multiple OSes in order to run specific apps. Yes, it is possible, but hardly ideal.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>