Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider collaborating with Electron upstream #9

Open
moosingin3space opened this issue Feb 6, 2017 · 6 comments
Open

Consider collaborating with Electron upstream #9

moosingin3space opened this issue Feb 6, 2017 · 6 comments

Comments

@moosingin3space
Copy link

The Electron devs are considering making a runtime install to solve the problem of bloated apps. I'm curious if this project can offer any help to them. Here's the relevant discussion: electron/electron#673 (comment).

Additionally, upstream could host a runtime on their CDN, eliminating the need to build a "base" app.

@nedrichards
Copy link

Hey there, @mattdangerw can talk more authoritatively about this I suspect but the base app is essentially a 'runtime lite' and is the way that Flatpak upstream thought would be most appropriate to deal with a project like Electron which has fairly request releases which need to be supported for a while and integrated into apps.

I believe we did initially try and collaborate with electron upstream on this, and we'd love it if they hosted the baseapp, runtime or anything related to flatpak that people find useful. There didn't seem to be a lot of enthusiasm there at the time so we just went for is here and thought that if people found it useful we'd be able to continue with the conversation.

Certainly, the vision of flatpak as a system that lets upstream developers safely own the relationship with their users and deliver safe and well tested software would indicate that the core infrastructure parts of this should be upstream. Not sure about electron-installer-flatapk, though if people want it there we'd be happy to help.

@moosingin3space
Copy link
Author

Why exactly is a baseapp preferable to a flatpak runtime/SDK? Does Electron not have a stability promise within a release series?

@mattdangerw
Copy link
Contributor

Either one (runtime/base app) can work just fine. And as all files distributed with flatpak will be deduped on the users machine, two apps shipping with an identical copy of an electron binary inside the application can be just as small as two apps using electron binaries from a runtime. See ostree

There's been some discussion on this. See atom/atom#13293 (comment) and https://github.com/endlessm/electron-flatpak-base-app#overview

There is value in keeping the number of flatpak runtimes in active use small, and by shipping electron apps against the well known freedesktop runtime, you make it very easy for end users already using flatpak apps to pull in the electron app. However creating a runtime could be a totally valid approach as well, particularly if this was going to be something put out officially by the electron project.

And yes, generally we are excited to contribute wherever we can to an upstream discussion on making electron flatpaks. Thanks for linking to that discussion on electron!

@moosingin3space
Copy link
Author

There is value in keeping the number of flatpak runtimes in active use small

True, but

Runtimes provide the basic dependencies that are used by applications.

(from the Flatpak docs)
It seems to me like Electron fits this definition in spirit, even though OSTree can deduplicate the Chromium libraries across apps.

Additionally, it seems useful for Electron to be able to push their bugfixes simultaneously to all apps, again assuming there exists some form of API stability.

Electron's runtime could just be Freedesktop Base + Chromium + Node, and the SDK would be very easy to install on Linux.

@mattdangerw
Copy link
Contributor

@moosingin3space don't disagree! Especially if this could be an official flatpak runtime for the electron project actively maintained by the community I could definitely see an argument for switching to a runtime. Certainly some things to consider, like how to set up ci to effectively track freedesktop's runtime so security patches from there make it in quickly.

Electron's runtime could just be Freedesktop Base + Chromium + Node

I think you would basically want what is already in the base app layered on top of freedesktop as a runtime, in fact that's how it was first implemented. I believe you would only want node in an sdk and not in the actually runtime though, as electron apps run everything against chromium's v8.

@mattdangerw
Copy link
Contributor

For this purposes of this electron-installer-flatpak project, I think it should stay roughly as it is now. It's a fairly opinionated flatpak packager build on top of electron-packager with equivalent projects already existing for debian, rpms and other formats.

Though obviously if there was an official electron runtime or base app put out, this project would switch to using it when building applications.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants