Slashdot Mirror


Mozilla Extending Javascript?

Nomad128 writes "Mozilla's Deer Park 1 Alpha RC appears to have extended the Javascript spec for the first time in quite some time. New features include Array object methods "every" (logical AND), "some" (logical OR), "map" (function mapping), and "forEach" (iteration). They also appear to have added native XML support. Will this speed up the development of AJAX applications and give Moz a leg-up over IE7?"

6 of 286 comments (clear)

  1. Moz Extensions by multipartmixed · · Score: 4, Interesting

    This isn't a case of 'embrace and extend', microsoft-style -- this is a case of extra functionality needed to write extensions. Any web developer using these for public apps is clearly a butt-head.

    --

    Do daemons dream of electric sleep()?
  2. Article badly termed? by Anonymous Coward · · Score: 5, Interesting

    They're not extending javascript from what I can see. It looks like they're implementing some features that weren't implemented before.

  3. About standard compilance by Anonymous Coward · · Score: 3, Interesting

    Deviance from standards (at least in a web environement) is bad because the code that works in one browser won't work in another browser.

    But that's not necessarly a bad think in my opinion. If one browser starts extending and empowering web developper in many and novel ways, this browser may well raise the bar for all browsers and shit expectation (if developper find, in mass, that the features are worthwhile, cool, useful, etc...).

    However, deviance from standards are bad if they are unsignificant, unrevolutionary, unimportant, just a little improvement (not to confound with many little improvments that combined can make a big difference).

    So if you're going to deviate from standard, do it big time!

  4. The best part.. by Eloquence · · Score: 4, Interesting
    ..is the super fast back/forward cache (add a new positive Integer value browser.sessionhistory.max_viewers in about:config to enable it). My impression is that it's even faster than Opera's, though there seem to be some conditions under which a slower reload is used. In any case, this is an absolute killer feature, and I hope they manage to get it ready to be enabled by default for 1.1.

    The other killer feature is, of course, SVG support by default -- unlike the crappy Adobe plugin, fast and reliable SVG support. A lot of stuff that is currently done in Flash can be done in SVG without any dependency on non-free software (or unstable, experimental open source players). Personally, I'm most excited about its possible uses in Wikipedia. Unlike a bitmap file, an SVG can be collaboratively edited: translate text, fix mistakes, and so on. Beyond illustrations, SVG is also useful for zoomable timelines, of which Wikipedia has quite a few, and which are already exported as SVG.

    I think that Firefox support for SVG could be a major reason to switch from other browsers if we come up with cool SVG-based applications (not that we really need more reasons to switch!). One thing that would be neat is the ability to generally pan and zoom an SVG file even if there are no JavaScript controls for that, I haven't seen that functionality. Perhaps a bookmarklet or GreaseMonkey script could do the trick.

    I can't wait for the final version, but I'd be happy to wait 3 months longer if that's how long it takes to get it ready for primetime. One thing is for sure: Firefox 1.1 will kick butt.

  5. Re:Funny... I thought ECMAScript was an open stand by slavemowgli · · Score: 3, Interesting

    Most, if not all, Mozilla extensions use Javascript, so that's most likely what these changes are aimed at. I don't think you're supposed to use them on public webpages; if the Mozilla guys really care, then they'll also make sure that these extensions won't work in that case.

    --
    quidquid latine dictum sit altum videtur.
  6. Native XML is a very neat feature by MarkEst1973 · · Score: 3, Interesting
    Using Rhino http://www.mozilla.org/rhino -- which already has the E4X functionality in the runtime -- you can stuff like this (using an html document as my sample xml):

    var html = <hmtl/>
    html.head.title = "my title";

    print(html);

    This prints as:

    <html>
    <head>
    <title>my title<title>
    <head>
    <html>

    Although this is a contrived example, I find the ability to access XML as native objects using dot-notation to be very convenient and useful.