Slashdot Mirror


Google Ports Box2D Demo To Dart

mikejuk writes with an excerpt from an article at i-programmer about a neat graphics demo written in Dart: "One of the difficulties in getting a new computer language accepted by a wider audience is that there is doubt that it is real. Is it a toy language that just proves a concept or can it do real work? In the case of Dart, which is Google's replacement for JavaScript, the development is speeding ahead at a rate that is impressive but worrying. To prove that Dart is already a language that can be used, we now have a port of the well known 2D physics engine Box2D, the one Angry Birds uses, to Dart." Box2D has previously been ported to Javascript. Source is available at Google Code (under the Apache license). Note that you'll need Chromium to run the demos.

7 of 194 comments (clear)

  1. Re:Not again! by bhagwad · · Score: 5, Insightful

    So how does a company create something better than the standards? Or are you perhaps implying that standards once set are the best for ever and ever? It's not as if Google is DROPPING support for Javascript. That would be...outrageously stupid. What exactly is your problem here?

  2. Some Discrepancies with Your Bitching by eldavojohn · · Score: 5, Informative

    They're mimicking the old Microsoft here - make your own "standards" and break the web by making features and sites that only work Google's browser.

    From Dart's wikipedia page:

    Google will offer a cross compiler that compiles Dart to ECMAScript 3 on the fly, for compatibility with non-Dart browsers.

    And, in fact, dartc already cross compiles Dart code to plain Javascript. Once it's integrated into browsers, use it or don't use it.

    It's like Microsoft all again.

    Right, that's a stretch. You conveniently cherry pick details here. For example, NaCl is released under a BSD license with source code readily available. Are you saying the same was true of ActiveX since it's launch?

    --
    My work here is dung.
    1. Re:Some Discrepancies with Your Bitching by IamTheRealMike · · Score: 4, Insightful

      ActiveX was an "open" standard in the sense that Netscape could have implemented it if they wanted to ..... on Windows only. That's because the bulk of the APIs you needed to use to write an ActiveX control were just the regular Win32 APIs. Netscape had a policy of supporting not just Windows but all operating systems. That's why Microsoft made ActiveX - they saw weakness (other platforms gui frameworks kind of sucked at the time, so pandering to them restricted developers a lot), and they attempted to exploit it (by allowing developers to build better apps that were Windows only).

      Was ActiveX "evil"? Well, it was certainly platform specific. Making things like this NOT platform specific is a ton of work, NaCL uses techniques and technologies that didn't exist back then, and they had no incentives to do it. Whether it was wrong to do depends on your views on the importance of features vs platform independence.

      NaCL is different to ActiveX in some really important, fundamental ways. Firstly, the APIs it exposes to native code are really small: just Pepper, which provides you with the real basics along with some well accepted cross-platform APIs like OpenGL. Importantly there's no GUI toolkit. If you want buttons and sliders, you need to use HTML, not Win32/GTK/Cocoa. In fact NaCL will prevent you from accessing these APIs entirely!

      Secondly, it's got a strong focus on security. NaCL code has security properties that are provable using static analysis. It also runs in a sandbox for a second level of defence. This is very different to ActiveX, which relied entirely on Authenticode, and suffered some serious UI problems that made it vulnerable (modal dialog boxes).

      Thirdly, everything you need to implement NaCL is open source, so other browser makers can (and maybe will) adopt it. The core runtime and execution technologies are all open source, with the bulk of the integration work being joining Pepper to your browser. Mozilla already supports Pepper and I guess other browsers will too soon (maybe not IE). It really wasn't possible for Netscape to support ActiveX for all their users in the 90s, but it's quite feasible for Apple, Microsoft, MozCorp and Opera to support all their users with NaCL, especially now the dependency on x86 has been broken.

  3. The JS port by LDoggg_ · · Score: 5, Informative

    The article mentions, box2d-js. The more current port is box2dweb: http://code.google.com/p/box2dweb/

    --

    "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
  4. Re:Not again! by Korin43 · · Score: 4, Insightful

    You do know how web standards work right? It goes something like this:

    1. A bunch of people come up with ideas that would be cool to have in browsers.
    2. Some of them add those things to browsers.
    3. After we figure out which approach works / is most acceptable to all browser makers, it becomes a standard.

    For some reason it's a common belief that it works the other way around (make standard -> implement standard), but anyone know hows anything about programming can tell you why setting everything in stone and then writing the software is a terrible idea.

  5. Re:Not again! by bhagwad · · Score: 5, Insightful

    1. Google isn't claiming that this is the new standard. If they did, they would just drop support for Javascript

    2. Insisting on a consensus before every new technological upgrade would be frustratingly slow and the whole process can be held back by one individual. That's not how technology improves.

  6. Re:Not again! by Intropy · · Score: 4, Insightful

    And when you submit your new idea to the standard committee the very first thing they will ask for is demonstration of existing practice. Standards committees do not design new features. They observe existing practices and extensions and adopt them, possibly with some modification. To get something standardized you must first make it, work out the kinks, show why it's helpful, and get people to use it in practice. Only then will a standards committee consider it for the next version.