Re: Help finding right place for my questions
yun bao <[email protected]> Sun, 10 Nov 2019 10:59:33 -0800
| Newsgroups | gmane.comp.mozilla.devel.jseng |
|---|---|
| Message-ID | <CAKQosscdXd+knjqPmM5itz9rRGdOXn16XqnGgHwxvP0dDZEj+A@mail.gmail.com> |
By the way, on a somewhat unrelated side note, does anyone know why every time I send an email to this mailing list, I get a reply email from a company called "The Fork"? It seems that emails to this mailing list also get sent as a support request to that company. On Sun, Nov 10, 2019, 10:33 AM yun bao <[email protected]> wrote: > I'm still in the initial information gathering phase of my thesis. So I > expect my thesis idea (which is admittedly rather vague at this point) to > change a lot as I learn more about the domain. However, as I'm applying to > a graduate program outside of my home country, the application deadline is > December 1st. So, I don't have a lot of time to refine the idea. > > My original idea was to use as little JavaScript as possible. At a bare > minimum, I envision not needing to translate Python to JavaScript in some > way, which is how most projects I've seen have managed to get Python > running in a browser. The long term goal is having a Python engine running > in a web browser. So, Python is actually executed as Python (or whatever > Python is normally executed as under the hood), and not subjected to some > convoluted process that turns it into JavaScript. > > I'm thinking the best Python implementation for use in a browser would be > PyPy, since it uses JIT compilation. I'm not sure that the whole of the > Python standard library will ever be available for use in a browser, > though. I think, as a proof of concept, just getting a Python engine > running in a browser, even if only a small subset of the standard library > is available, and playing nice with a rendering/layout engine, would be a > kind of success. > > The PyPy folks are currently working on sandboxing PyPy ( > https://pypy.readthedocs.io/en/latest/sandbox.html). It seems like there > might be a few research opportunities just in the security related aspects > of running Python in a browser. > > Thank you for your input, Boris. If you, or anyone else, have any more > information or advice to share, I'd love to hear it. > > Andrew > > On Sat, Nov 9, 2019 at 9:55 PM Boris Zbarsky <[email protected]> wrote: > >> On 11/9/19 4:16 PM, yun bao wrote: >> > Right now I'm trying to better understand the general domain and >> discover if any >> > there are any well known problems related to making a Python web browser >> > engine. >> >> Are you planning to do _just_ Python, or both Python and JavaScript? >> >> In the latter case, there is one well-known problem: preventing leaks >> due to circular object graphs that span both the JS and Python heaps, >> because the JS garbage collector does not know about the Python side and >> vice versa. This was a significant problem for PyXPCOM before we >> removed it. >> >> In both cases, there is the issue that the core Python language is not >> really what anyone thinks of as "using Python"; people tend to assume >> that with the language comes the standard library. And the Python >> standard library doesn't really have concepts of sandboxing, origins, >> etc, that the web browser environment relies on for safety. This means >> that exposing parts of the standard library without introducing security >> holes might be complicated, depending on your threat model. >> >> There are also various practical issues in terms of the browser >> internals assuming that objects have JS representations, parts of web >> APIs actually being very JS-specific (typed arrays, Promises, etc), and >> other JS dependencies, but the above are the two big conceptual problems >> I know of that people haven't really found solutions for in the past. >> >> -Boris >> _______________________________________________ >> dev-tech-js-engine mailing list >> [email protected] >> https://lists.mozilla.org/listinfo/dev-tech-js-engine >> >