Mozilla announced Wednesday that it’s teaming up with Samsung to create Servo, which the companies claim will be an advanced, secure mobile Web browser that will draw its power from multicore processors.
Servo will be written in the Rust programming language that Mozilla has been working on for the last two years. It will run in devices featuring Google’s Android operating system powered by ARM processors.
“Google can think of this as a shot across its bow, and it now has to think of how it can work more closely with Mozilla and other organizations that are working to advance with Web technologies and moving beyond Webkit,” Jeff Orr, a senior practice director at ABI Research, told TechNewsWorld.
“I think it’s great to see experimentation with browser engines,” added Al Hilwa, a research director at IDC.
Samsung did not respond to our request to comment for this story.
The Lowdown on Servo and Rust
Servo is designed to run on the massively parallel hardware that is expected to be the norm in the future. The collaboration between Mozilla and Samsung will let the web browser company begin working on a mobile version of the browser.
Rust, the language in which Servo will be written, uses syntax similar to C and C++, but does not include all keywords in those languages and is significantly different in syntactic and semantic details. It is designed for creating and maintaining both operational and abstract boundaries that preserve large-system integrity, availability and concurrency.
The language supports a mixture of imperative procedural, concurrent actor, object-oriented and pure functional style. Rust also supports generic programming and metaprogramming, in both static and dynamic styles.
For safety, Rust has no null or dangling pointers, and no buffer overflows, both of which pose security vulnerabilities. It uses lightweight concurrency primitives, and this lets programmers leverage the multicore processing units that are beginning to appear on the market.
“As hardware becomes more multicore and otherwise hardware-parallel, both browsers and the Web standards that they implement will evolve to better utilize such hardware,” Eich said. “We see examples in WebGL and HTML5’s Web Workers, but future hardware requires both task and data parallelism at finer grain and in all stages of the Web’s rendering pipeline.” [*Correction – April 4, 2013]
Browsers coded in unsafe languages such as C++ are routinely hacked and are “generally also not ideal for concurrent programming,” he added. “Therefore we believe it’s prudent and timely to invest in a language-based approach that addresses safety and concurrency together.” [*Correction – April 4, 2013]
Possible Motives for Mozilla and Samsung
Samsung has already contributed an ARM backend to Rust, Mozilla said, and kicked in the build infrastructure necessary to cross-compile to Android, as well as a number of other improvements.
The tie-in with Mozilla is Samsung “flexing more platform muscles and wanting to see itself as something more than just a device maker,” Hilwa told TechNewsWorld.
Google’s “losing control of the Android ecosystem and Samsung’s emerging as one of the vendors that’s trying to put the Android ecosystem together,” Simon Khalaf, CEO of Flurry Analytics, told TechNewsWorld. “Someone needs to take control.”
Don’t We Have Enough Browsers?
Browsers for the Android operating system include Google’s Chrome, Firefox, Opera Mobile, Boat, Dolphin, Skyfire, and UC Browser for Android.
NetMarketShare shows that Safari had nearly 62 percent of the mobile browser market in March. Android had 22 percent and Opera Mini came in third with about 8 percent.
“None of these have developed a very strong language that can participate in the HTML5-based browser application economy,” Khalaf said, “which is where we see things going.”
*ECT News Network editor’s note – April 4, 2013: Our original published version of this story attributed these comments to Diane Zuniga with Mozilla’s public relations agency Bite Global, who emailed a statement to TechNewsWorld. Post publication, Mozilla informed us that the comments should be attributed to CTO Brendan Eich.