Tell me more ×
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.

I am just messing around, trying to figure out how stuff works and right now I have a couple questions about HTML, JS and CSS engines.

I know there are two major JavaScript engines out there - V8 and JavaScriptCore (WebKit's JS engine as far as I know). Is that correct? And what are the main HTML + CSS renderers out there? Let's say I want to build a web browser using V8 (I saw it has some documentation and stuff + I like the way it works), what are the best options for me?

Partially another question. Is there any bare browser that uses V8 and runs on Ubuntu at least?

P.S. I am a Ubuntu user and prefer C++.

share|improve this question
Can you provide link to the documentation you reference? – ClintNash Jun 16 '12 at 22:12
What so you mean by "bare browser"? – ysdx Jun 17 '12 at 6:57
@ysdx, Browser without much functionality except JS, HTML and CSS engine. – Pius Jun 17 '12 at 7:27
@ClintNash, I was talking about the menu option 'Documentation' in developers.google.com/v8 – Pius Jun 17 '12 at 7:29
Thanks for sharing doc: "This document is intended for C++ programmers who want to embed the V8 JavaScript engine within a C++ application." Sounds awesome. – ClintNash Jun 17 '12 at 23:57

3 Answers

up vote 9 down vote accepted

JS engines [1, 2]:

  • v8
  • JavaScriptCore/SquirrelFish
  • SpiderMonkey (Mozilla, C++)
  • Rhino (Mozilla, Java)
  • Tamarin (Flash)
  • Chakra (IE9; not open source)

Rendering Engines:

  • Webkit
  • Gecko (Mozilla)
  • Presto (Opera, not open source, not usable standalone)
  • Trident (IE9)

A quite simple option would be to use Webkit as a rendering engine as it quite widely used in many different projects. Chrome/chromium is using v8 and runs on Ubuntu.

[1] http://en.wikipedia.org/wiki/JavaScript_engine

[2] http://en.wikipedia.org/wiki/List_of_ECMAScript_engines

share|improve this answer
I can see there is WebKit as well as GTK-WebKit (which is a GTK+ port). What does WebKit use for visualizing rendering's results? – Pius Jun 17 '12 at 7:32
AFAI understand, you have core Webkit which is unconnected from any kind of UI/system layer. Then you have different bindings/ports for different UI libs/systems: Apple Cocoa, Qt, GTK … – ysdx Jun 17 '12 at 13:20
Tamarin is an ActionScript, not JavaScript engine. – a sad dude Jun 17 '12 at 18:18
@dude: ActionScript is a dialect of ECMAScript (just like JavaScript is). What's more, few years ago, it was expected to be used in Mozilla applications as its EcmaScript engine. – ysdx Jun 17 '12 at 18:53
So, what does Webkit do apart giving you access to DOM library and stuff if it doesn't do rendering? – Pius Jun 20 '12 at 8:47
show 3 more comments

I believe Uzbl is exactly what you're looking for - bare Webkit, though with JavaScriptCore, not V8.

share|improve this answer

Have you checked out Node.js? I only mention it because it fits your tech-trifecta: 1. JS, HTML, CSS 2. V8 3. and C++.

Not sure about building browsers, or rendering in particular.... Wikipedia gives a great history of the browser wars of 2010, as far as V8 goes. Names get crazy like SpiderMonkey, Rhino, and IE... may be an interesting history .

share|improve this answer
4  
Isn't NodeJS just a JS engine build on top of V8? – Pius Jun 17 '12 at 7:27

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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