Followup: modularity, WebExtensions, and going faster

Axel Hecht l10n at mozilla.com
Wed Oct 12 21:44:11 UTC 2016


On 12/10/16 17:09, Alexandre poirot wrote:
>
>      1. XPCOM / XPIDL, for better or worse, offered a boundary and
>         interface system. I think those interfaces were originally
>         intended to be pretty stable. Down the line, I seem to recall
>         us deciding that having frozen interfaces there was slowing us
>         down, and so now those interfaces are changed at will. I
>         understand that we were more constrained because more
>         applications were relying on the underlying interfaces, but
>         this all starts to feel kinda familiar. Are we at risk of
>         creating a new set of interfaces and silos that get holes
>         poked through them over time because they slow us down instead
>         of speeding us up? Are we repeating ourselves? If so, what did
>         we learn last time that will make this time better?
>
> We do have some boundaries with XPCOM, some others with JSM, yet some 
> others with message managers.
> But that's just too many different kind of boundaries/interfaces. If 
> we only had one border, everything would have been much better.
> If you look, again, at session restore you will have to go through all 
> of them and it is far from being obvious and will feel very hard to 
> approach to anyone except mozilla employees who have to learn all 
> these things. Web extension abstracts all that. The difference between 
> a content script and a background page is very small.

I have to disagree on this.

XPCOM boundaries are per-instance boundaries, JSM is 
more-clearly-than-xpcom service boundaries, message managers are 
on-change notification boundaries.

Those things are just realities in software design, and need to be 
reflected.

I think it's an element of good software architecture that the 
difference between these three concepts manifests in the APIs in which 
you interact with them.

Axel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/firefox-dev/attachments/20161012/e4bc059b/attachment.html>


More information about the firefox-dev mailing list