Terminology summary

Talk about code development, features, specific bugzilla bugs, enhancements, patches, and other highly technical things.

Moderator: satrow

Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific referenced Bugzilla bugs, mercurial, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Most "bug reports" do not belong in this board and should initially be posted in Community Support or other relevant support boards.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 22326
Joined: Sun, 28 Aug 2011, 17:27
Location: 58.5°N 15.5°E
Contact:

Terminology summary

Unread postby Moonchild » Sun, 28 May 2017, 17:07

As requested by our community, here is a summary of terms you may encounter on this forum and on our websites. Some of this can also be found on WikiPedia if you care to search instead of asking.
Please use this for reference if you are unsure what something means.

  • Mozilla: The general name given to the group of past and present developers, the foundation and corporation, and general presence of the group of people responsible for Mozilla products (Firefox, SeaMonkey, Thunderbird).
  • Mozilla Platform/platform code: The underlying technologies, modules and code that provide the building blocks for applications. This is the collective name of what evolved out of Netscape Navigator/Communicator.
  • MozCo: The Mozilla Corporation. The for-profit corporation responsible for developing and publishing Firefox, Firefox OS, Firefox for Android (Fennec), and related products.
  • Firefox: A browser application based on the Mozilla Platform using the Gecko engine for layout and rendering.
  • Pale Moon: A browser application based on a forked version of the Mozilla Platform using the Goanna engine for layout and rendering.
  • Gecko: The (trademark) name of the layout and rendering engine in Netscape and Mozilla products.
  • Goanna: The (trademark) name of the layout and rendering engine in Pale Moon (and FossaMail). This is a fork of the Gecko engine.
  • XUL: eXtensible User interface Language; an XML-based user interface markup language allowing for markup definition of mostly O.S.-native dialogs and controls. Can be styled with CSS and scripted with JS.
  • XPCOM: Cross Platform Component Object Model is a cross-platform component model from Mozilla. It is similar to Microsoft Component Object Model (COM) and Common Object Request Broker Architecture (CORBA). It features multiple language bindings and interface description language (IDL) descriptions; thus programmers can plug their custom functions into the framework and connect it with other components.
  • NPAPI: Netscape Plugin Application Programming Interface is an application programming interface (API) that allows plug-ins (more specifically, browser plug-ins) to be developed for web browsers. It was first developed for Netscape browsers, starting in 1995 with Netscape Navigator 2.0, but was subsequently adopted by other browsers. Firefox, starting with v53, is blocking the use of browser plug-ins with the NPAPI interface with the exception of Adobe Flash. Pale Moon and UXP will continue to support NPAPI plug-ins.
  • JS/JavaScript: JavaScript, often abbreviated as "JS", is a high-level, dynamically/implicitly-typed, and interpreted/JIT-compiled scripting language. It has been standardized in the ECMAScript language specification. Alongside HTML and CSS, JavaScript is one of the three core technologies of World Wide Web content production; the majority of websites employ it, and all modern Web browsers support it.
  • CSS: The Cascading Style Sheet language is designed to provide advanced, content-independent styling based on selectors and classes. It is a style definition language allowing the (interactive) styling (and animation) of displayed HTML/XHTML/XUL document content.
  • UXP: Unified XUL Platform is the new platform we plan to develop in the course of 2017 to provide a basis for XUL-based applications to build on. It will be heavily based on the Mozilla Platform but will not follow the Mozilla Platform's transition to Rust-based components, and continue to support XUL, XPCOM, NPAPI and other, by Mozilla deemed "legacy", technologies.
  • Basilisk: A browser application based on UXP using (an updated version of) the Goanna engine for layout and rendering.
  • SpiderMonkey: This is the name of the JavaScript engine (the code that reads, parses, interprets, compiles and executes JavaScript code) written by Brendan Eich at Netscape, which was made Open Source and is currently used by the Mozilla Platform and derivatives, as well as several embeddings (like the GNOME3 desktop).
Last edited by Moonchild on Thu, 22 Mar 2018, 12:36, edited 1 time in total.
Reason: Update JS definition wrt typing
Improving Mozilla code: You know you're on the right track with code changes when you spend the majority of your time deleting code.

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne

Take note: 23 November is Wolfenoot! Eat roast meat and/or cake decorated like the full moon. #wolfenoot

Octopuss
Lunatic
Lunatic
Posts: 450
Joined: Mon, 26 Jan 2015, 13:58

Re: Terminology summary

Unread postby Octopuss » Fri, 02 Jun 2017, 21:28

Thank you!! This helped me a lot.

xtal256
Moonbather
Moonbather
Posts: 60
Joined: Sun, 22 Jun 2014, 00:32
Location: here

Re: Terminology summary

Unread postby xtal256 » Thu, 22 Mar 2018, 03:51

Moonchild wrote:JavaScript, often abbreviated as "JS", is a high-level, dynamic, untyped, and interpreted/JIT-compiled scripting language.

Sorry to be pedantic, but JavaScript is not untyped. It's loosely (or weakly) typed.
Though there is some debate on the terminology, the term "untyped" sounds like it means "the language does not distinguish different types", whereas JavaScript certainly does have different types (string, number, etc).
[Window Detective] - Windows UI spy utility for programmers

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 22326
Joined: Sun, 28 Aug 2011, 17:27
Location: 58.5°N 15.5°E
Contact:

Re: Terminology summary

Unread postby Moonchild » Thu, 22 Mar 2018, 12:34

I don't think discussions about definitions are on-topic here. "weakly typed" isn't even precisely defined, to begin with, so I'd rather not use that term.
Improving Mozilla code: You know you're on the right track with code changes when you spend the majority of your time deleting code.

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne

Take note: 23 November is Wolfenoot! Eat roast meat and/or cake decorated like the full moon. #wolfenoot


Return to “Development (discussion)”

Who is online

Users browsing this forum: No registered users and 2 guests