mozilla / positron

a experimental, Electron-compatible runtime on top of Gecko
Other
569 stars 64 forks source link

App model info #12

Closed andypavia closed 8 years ago

andypavia commented 8 years ago

I'm looking for some insight into your app model. I'm assuming it's in your wiki, but I can't seem to access it for some reason.

mykmelez commented 8 years ago

Hi @andypavia. If by "app model" you mean the APIs for building applications on Positron, then our plan is to implement Electron's APIs, such that Positron is an Electron-compatible runtime.

Otherwise, if you mean the architectural design of Positron itself, that's still a work-in-progress, but the general idea is to integrate Node into Gecko via a V8 API shim for SpiderMonkey (currently being developed separately in the SpiderNode project), reuse as much Electron code as possible, and take advantage of Gecko's existing support for building desktop applications to build a GeckoProgram that loads Gecko, runs Node, and then runs an Electron app.

This design is not yet documented, and the wiki for the repository is empty. But you can get a sense of the design from browsing the source. Look in the positron/ subdirectory for the code specific to Positron (the rest of the files in the repo are from the upstream repository in which Gecko is developed).

I'm also happy to answer questions here, although I might not be able to answer all your questions yet, since it's still early days!

andypavia commented 8 years ago

@mykmelez thanks for the prompt reply. So Electron apps will run on your runtime without any trouble. This is a very interesting project.

Are there are any plans to make positron browser and JS engine agnostic?

mykmelez commented 8 years ago

@mykmelez thanks for the prompt reply. So Electron apps will run on your runtime without any trouble.

That's the idea! We're not there yet, though. 😄

Are there are any plans to make positron browser and JS engine agnostic?

We don't have any plans like that, but SpiderNode will make Node more JS engine-agnostic. And Positron will make the Electron APIs (if not the implementation) more browser-agnostic. So both projects will improve interoperability in that respect.

marcoscaceres commented 8 years ago

Closing, as it appears question was answered and OP signaled in the affirmative.