Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

closed as off-topic by gnat, GlenH7, Dynamic, MichaelT, Robert Harvey Jul 17 '13 at 17:18

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, GlenH7, Dynamic, Community, Robert Harvey
If this question can be reworded to fit the rules in the help center, please edit the 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. – Pijusn Jun 17 '12 at 7:27
@ClintNash, I was talking about the menu option 'Documentation' in – Pijusn Jun 17 '12 at 7:29
I believe Uzbl is <del>exactly</del> what you're looking for - bare Webkit, though with JavaScriptCore, not V8. – a sad dude Jun 17 '12 at 18:25
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.



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? – Pijusn 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? – Pijusn Jun 20 '12 at 8:47

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
Isn't NodeJS just a JS engine build on top of V8? – Pijusn Jun 17 '12 at 7:27

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