I signed up for this list, because it was the only one whose description came close to what I am trying to do at these days.
A while ago, Github's Atom.io went into private beta, and I was lucky to get an invitation. But I am one that likes to explore, so I took it apart and spied at its components with arbitary tools like nm, objdump and otool. And it turned out, that Github had done something that a few people have been striving to do.
Longer ago, somebody created Appjs, it intended to bring html/js based apps to the desktop. It was based off CEF1 and ran rather okay. Not the best performance, but okay. Meanwhile, node-webkit was founded, and the both kept going...however, Apppjs became deprecated, node-webkit keeps going but stays rather non-popular (i have not met a single node-webkit based app, ever).
AppJS was given to me, and a friend and me kept trying ot keep the idea of AppJS going. But unfortunately, we ran into a wall: you cant just take a browser and expect it to act like a nice frontend for a simple app - thus, browsers are large.
The past months, I have spend trying out various embeddings - CEF, Chromium Content API, dillo... But, i have had a variety of issues. And so I decided to take a look at a browser I use at school a lot - and it turns out it can be embedded.
So I have the following questions:
- How many, approximately, lines are needed to get a basic browser window set up?
- What build system(s) can the embedded parts, and its possible ocmponents, be built with?
- What architecture is used - multi process, or multi thread? Especially important on OS X, as it is my main development target.
- Can the browser view be used with FLTK, which allows to obtain native window handles? I guess on OS X, I could set the contentView of an NSWindow - is this guess right?
- How easy is the JS api to inject code into a frame and-
- -is there a way to do inter-frame communication?
- Do custom schemes exist? How are they handled?
- Is request interception possible, to inject a PHP instance for example, to evaluate a local PHP file and render the output?
- How large is a basic project with embedded firefox?
And these are just basic questions.
I know, most of you might say "goto MDN", but I just want a simple answer. I have studdied docs for the past ddozen months and have begun work on a meta-project, the Phoenix Engine: http://github.com/Deskshell-Core/PhoenixEngine
So all I want, is a simple answer. If I find it considerable, of course I will go and read the docs.
But I have to decide, which browser to embed, which JS engine to support. If I have to re-write nodejs' core partialy to port its API, etc etc etc...
Hopefully I am right here, and you can answer my questions :)