Building applications on top of UXP

Discussions about the development and maturation of the platform code (UXP).
Warning: may contain highly-technical topics.

Moderators: trava90, athenian200

vannilla
Moon Magic practitioner
Moon Magic practitioner
Posts: 2183
Joined: 2018-05-05, 13:29

Building applications on top of UXP

Unread post by vannilla » 2018-05-05, 19:18

I've been reading on what UXP will bring upon release, especially how it's supposed to be a universal platform to develop applications with.
However, there's one thing I didn't fully understand: if I were to build my application, would I need to take the whole codebase, change and add the necessary files, release the application and then keep the platform updated on my own, or does it work in the same spirit of (but not equally to) a system library, where my application's users will receive platform updates directly from UXP developers, and application updates from me?
Looking at the architecture structure I would think it's the first, but since I don't know anything about either the Mozilla or the UXP codebase, I wanted to ask this.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35474
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Building applications on top of UXP

Unread post by Moonchild » 2018-05-06, 09:25

There are a few options, actually.
  1. Full application development.
    This means you clone the UXP source tree and add your own application in /application/Yourname. You will update the UXP source and build your application as a fully standalone executable. You have full control over what modules and features are included.
  2. Using the XUL runner stub.
    This is using a minimal application stub that doesn't have any XUL application code itself and is only there to load your XUL application. Usually you build this stub yourself from source with your desired options, but if there is enough demand for this stub then we may release a generic platform build in the future as ready binaries, but building it yourself with your preferred options and optimizations should be trivial. You don't have to integrate the UXP source with your own and can build the stub from a pristine release version of a UXP application, separate from your application development.
  3. Using an existing application with your own application.ini and XUL code.
    This means you can run your own XUL application code "on top of" an existing UXP application like Basilisk or the future Pale Moon. Your application will depend on what modules and features are included in the "parent" application, so usually you use this for a similar type of application as the parent. You don't have to build UXP yourself and can use ready-made binaries.
Please note that I don't know the current status of the XUL runner stub code at the moment; I've been focusing on full application development (the two browsers) right now.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

vannilla
Moon Magic practitioner
Moon Magic practitioner
Posts: 2183
Joined: 2018-05-05, 13:29

Re: Building applications on top of UXP

Unread post by vannilla » 2018-05-06, 11:52

I see, now I understand how it works.
Thank you.

New Tobin Paradigm

Re: Building applications on top of UXP

Unread post by New Tobin Paradigm » 2018-05-06, 11:56

Current status of xulrunner is the application.ini loader works but has only had casual testing. But any currently existing application on UXP can do that too. Everything else like generating a custom stub is busted.

A few of us WILL fix or rewrite custom stub generation but it is low on the priority list for all of us.

Frankly, it is easier to just structure your own full application if going beyond generic application.ini anyway. Since this is basically what you are doing anyway in addition to the xulrunner stuff.

User avatar
SpockFan02
Astronaut
Astronaut
Posts: 535
Joined: 2017-09-24, 16:35
Location: Mak pupulusšum, California

Re: Building applications on top of UXP

Unread post by SpockFan02 » 2018-05-07, 21:05

Out of curiosity, since the official Mozilla XULRunner hasn't been updated in about a decade, what about UXP broke it?

Also, vannilla, I can tell you that https://developer.mozilla.org/en-US/doc ... /XULRunner is a good place to start looking for XULRunner information and tutorials. I did some fiddling with it a few months back, and if you look, there are some informative docs/tutorials/blog posts.

New Tobin Paradigm

Re: Building applications on top of UXP

Unread post by New Tobin Paradigm » 2018-05-07, 21:11

Mozilla busted it in the 30s and it was removed at some point in the 40s.. UXP didn't bust it.. UXP didn't have it.

User avatar
SpockFan02
Astronaut
Astronaut
Posts: 535
Joined: 2017-09-24, 16:35
Location: Mak pupulusšum, California

Re: Building applications on top of UXP

Unread post by SpockFan02 » 2018-05-07, 21:12

That explains it. I suppose the XULRunner binaries from the last release work because they're on an older version of the Mozilla platform, yeah?

Nightbird
Lunatic
Lunatic
Posts: 279
Joined: 2016-07-18, 21:12

Re: Building applications on top of UXP

Unread post by Nightbird » 2018-05-07, 22:21

Diversity is key.

Those who forget the past are doomed to repeat it.

New Tobin Paradigm

Re: Building applications on top of UXP

Unread post by New Tobin Paradigm » 2018-05-08, 01:36

xulrunner is going to come back properly not a hack made by someone.. it is just low priority until other things are accomplished like Pale Moon 28.

Locked