Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment Re:browser everything (Score 1) 127

I think you're just misunderstanding how these apps work, both for HTML5 and for Android native apps.

Your typical Android "native" app (which does not actually use the NDK) expresses its user interface in a text file containing XML, with Java event handlers attached to it to respond to various user actions. This XML is parsed at runtime and the corresponding Android UI toolkit objects are created.

Your typical "HTML5" app expresses its user interface in a text file containing HTML, with JavaScript event handlers attached to it. The HTML is parsed at runtime and the corresponding DOM nodes and CSS boxes are created.

Both can use OpenGL via the appropriate language bindings (WebGL in the case of HTML5 apps), but typically neither one actually does, leaving that up to the runtime (the browser in the case of the HTML5 appe, the Android runtime libraries for Android native apps) instead.

For a locally installed HTML5 app there are no sockets or TCP involved in a web browser: just reading (or mmapping) data from persistent storage.

If you actually look at the design documents for FirefoxOS they discuss this issue directly. There are actually _fewer_ layers there for rendering than there are for non-NDK Android apps.

Comment Re:browser everything (Score 1) 127

On Android your typical "native" app is written in Java and uses GL for graphics if it needs fast 3D graphics. The Java is interpreted (on older Android) or JIT-compiled (Android 2.2 and newer). And this JIT is not exactly like HotSpot in terms of the performance it produces. For audio it uses whatever the system libraries are.

On FirefoxOS your typical app is written in JavaScript and uses WebGL for graphics if it needs fast 3D graphics. The JavaScript is JIT-compiled. The output can be within a factor of 2 of the performance of C++ code for game engines (see http://www.unrealengine.com/html5/ if you've missed it). For audio, it uses the browser's Web Audio implementation.

The two setups are actually a lot more similar than it seems at first glance.

Comment Re:I really like Mozilla but (Score 2) 127

What do you think a browser and an OS do, exactly?

A web browser needs to do render text, various high-performance graphics stuff, show some widgets that a user can interact with, provide a programmable runtime that can be used to create things like gmail or the github UI out of those widgets, do various network access, handle prioritizing things like web workers, painting, layout, and so forth. Oh, and nowadays also audio processing, real-time audio and video communications (WebRTC) and a few other things along those lines.

The non-kernel part of an OS needs to have libraries for high-performance graphics, show some widgets a user can interact with, a modern one will typically provide a programmable runtime for creating UI backed by some logic out of those widgets (C#, Objective C, Dalvik, etc). Pretty similar to a browser, actually.

Oh, and an OS needs to mediate hardware access, which is done by the kernel. Oddly enough, Mozilla is not creating a kernel from scratch; they're using the Android neé Linux kernel in FirefoxOS. Maybe because they figured this was not something they were experts in and maybe using an existing reasonably good solution would be better than trying to create a new thing.

Which is why it was possible to create FirefoxOS by taking a browser and adding a few APIs for touching hardware that the kernel exposes (things like cameras, FM radio, cell radio, etc). Plus a bunch of optimizations to the browser core that are needed no matter what to have a competitive browser.

Comment Re:OK then... (Score 1) 318

There is no "Firefox browser" on FirefoxOS. There is a web browser UI (written in HTML+JS+CSS) that uses whatever the system browser engine is.

As roca said, there is nothing in the design of FirefoxOS that prevents someone from dropping in a different browser engine as long as it implements the relevant specs that apps rely on. But then this browser engine would then be used not only for the "web" but also for the various apps on the device. And only one browser engine can be used at any given time.

Comment Re:does that mean ACID4 is cancelled? (Score 1) 64

The problem was that ACID3 ended up testing a bunch of things that ranged from irrelevant to actively bad for the web, so it actually made the web worse in a number of ways.

This considerably soured people on an ACID4, unfortunately.... Getting it to happen will involve finding a way to pick the set of things to test that avoids the mistakes of ACID3.

Comment Re:Everything old is new again (Score 1) 158

NaCl is open source but tied to totally undocumented Chrome internals via Pepper, which makes it pretty hard to adopt without adopting Chrome wholesale.

Worse yet, NaCl is tied to particular hardware, which means that if it gets traction on the web the bar for a new hardware platform would become very high (think "ARM would not have been viable if this had happened 15 years ago" high). PNaCl, if/when it starts working would help with that problem, but not the Pepper dependency.

Slashdot Top Deals

The sooner all the animals are extinct, the sooner we'll find their money. - Ed Bluestone

Working...