C# + IE9 JS Engine Chakra?

2.6k Views Asked by At

I'm working on a cool C# app, which uses JS a lot for our model layer. We would like to use the IE9 Chakra Javascript engine for speed improvements.

Questions:

  • Can I use Chakra in C#, and interact with JS objects as COM objects? (to call functions on JS objects)
  • Can I install Chakra separately from IE9? (some users do not have IE9 installed, so it would be easier if they did not have to install IE9, but just Chakra).

Thanks a lot in advance for you expertise.

2

There are 2 best solutions below

3
On BEST ANSWER

[Update] Based on Cheeso's answer it seems you can use IE9's JS engine[/Update]. However I found that V8 JavaScript engine (Chrome's JS engine) mentions that you can use V8 engine in you C++ application. Follow V8 embedder's guide to find out more. I did not find any reference where they mentioned exposing V8 functionality through COM interface, so you might not be able to use it from C#.

1
On

Answer to Q#1

Yes, you can interact with Javascript logic running in Chakra from C# via COM.

in Particular, from a c# program, you can startup Chakra via IActiveScript, load some Javascript/ES5 code into it, then invoke methods defined in that Javascript code via a COM IDispatch pointer.

Related:

Answer to Q#2

As far as I know, NO, you cannot install Chakra without installing IE9. You can design your C# app, though, to gracefully degrade to use the existing JScript engine, for computers without Chakra.