Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

From the wikipedia -

Google Native Client (NaCl) is a sandboxing technology for running a subset of Intel x86 or ARM native code using software-based fault isolation. It is proposed for safely running native code from a web browser, allowing web-based applications to run at near-native speeds. (Emphasis mine) (Source)

Compiled C++ code running in a browser? Are other companies working on a similar offering?

What would it mean for the browser landscape?

share|improve this question
    
i don't know. I think we will see general adoption of bytecode for the virtual machine already running in the browsers, before x86 "bytecode" –  jolt Sep 8 '12 at 17:17
2  
Microsoft had it as well, it was called ActiveX (and a few other names). It was (and is) a security debacle. Granted, NaCl seems to be better designed from a security perspective. Also: many web application don't necessarily need the speed that provides. A sane render speed for a UI is all they need and a capable browser provides that without requiring native code. –  Joachim Sauer Sep 8 '12 at 17:24
1  
@JoachimSauer I agree with that. But a few years ago most of us used our phones only to make calls. Who could've imagined I could play AAA games on my cell? And who knows, maybe support for native games at 60fps would mark the next era of browser wars –  Monika Michael Sep 8 '12 at 17:34
    
Why should it? Just yet another new vendor specific technology. –  user1249 Sep 8 '12 at 17:55
    
@ThorbjørnRavnAndersen If one vendor is able to increase the performance of its product well beyond the competitors that should raise an alarm shouldn't it? –  Monika Michael Sep 8 '12 at 18:02
show 1 more comment

closed as not a real question by gnat, Tamás Szelei, Glenn Nelson, Spoike, Aaronaught Sep 8 '12 at 23:03

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers

This isn't really news; there have been many projects with similar goals. As a closest example I can point you to Adobe's Alchemy. It was never really 'hot', but it is similar in concept. It was a step in the 'near-native speed' direction, though it was still far.

An important difference is Alchemy compiled C++ to Flash bytecode, and Flash support, while decreasing is still way higher than the Google Chrome market share.

A personal (and subjective) observation: developers don't trust Google that much. The hyped language Dart that Google released a few months back, which promised to do wonders for the development of large web projects, was pretty much a debacle. It gained little adoption, and drew (sometimes undeserved) criticism to Google.

EDIT: As pointed by Javier, Dart is still in very early stage (alpha release), though it did manage to gather a lot of criticism.

So the success of NaCl will pretty much depend on the quality of the products that depend on it, and the effort Google throws to make sure it stays around for sure (support, marketing, 'strategic partnerships', etc). And at least the second one is questionable: Google have thrown out many underdeveloped projects that had promise.

Moreover, virtually every other browser has similar tools: in IE, you can write an ActiveX; in Firefox, you can create an XPCOM object; Safari has support for this, too, though I don't know the technologies involved.

Bottom line: it's not revolutionary and it's probably good only for:

  1. Legacy software that has to make a fast jump to the web
  2. Games
  3. Computations inside a web-browser (e.g. BOINC).

So I don't expect it to revolutionize anything. JS already can do (and does) everything but these pretty well.

share|improve this answer
    
i find it strange that you speak of Dart in past ("was a debacle", "drew criticism") and put NaCL in the "lets wait and see"... but Dart is much younger than NaCL (and still in alpha releases) –  Javier Sep 8 '12 at 21:48
add comment

No - there's more to a browser than the ability to run native code inside it.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.