INTERNET APPS - Communication
Intro to browsers at Wikipedia. List of browsers at Wikipedia.
Firefox is built according the Mozilla framework.
- Mozilla.org - home of Firefox, using its own Gecko engine. Successor of Netscape Navigator
- Mozilla framework overview
- Front end, JS, UI: The Mozilla XPToolkit module provides facilities for building cross-platform UI controls implemented as
XML User Interface Language (XUL) packages. A XUL package consists of a XUL description of the UI widget, Cascading Style Sheets
customizing appearance and JS services implementing the UI behavior
- Content, DOM: specifies a tree structure for storing UI and document content, and provides an API for accessing and manipulating
the content. An application such as the browser may have one or more open documents accessible via DOM APIs.
When an HTML, XML, SVG or other type of document is loaded, the NGLayout engine (also known as Gecko) parses the contents into a DOM tree,
and handles the layout and rendering of the document pages. The NGLayout engine also parses XUL UI controls into a DOM tree and handles rendering of the UI.
- App services: Modules such as the NGLayout engine (Gecko) comprise the application services available to other core modules, and to
XUL packages. Core application modules are implemented as a set of one or more XPCOM (Cross-Platform COM) objects.
- Firefox docs
- Firefox Lockwise - login and password manager
- stores login and password information encrypted, locally
- encrypted but available to everybody with acess to your computer/user-profile (whatever that exactly means)
- additional protection is possible by using a master-password
- if you create a Firefox account, your login and password information can be automatically synced across your devices
- Firefox developer guide
- For access to network information/logs, just type 'about:networking' in the browser bar. Here you can set the logfile and start/stop logging.
- HTTP logging
- Firefox source tree documentation
- Firefox developer tools - can store logs in HAR files, readable
via browser or even better via the HAR analyser
- Page Inspector - View and edit page content and layout.
Visualise many aspects of the page including the box model, animations, and grid layouts.
- Network Monitor - See the network requests made when a page is loaded.
- Responsive Design Mode - See how your website or app will look and behave on different devices and network types.
- Accessability Inspector - Provides a means to access the page's accessibility tree, allowing you to check
what's missing or otherwise needs attention.
- Applicaton Panel - Provides tools for inspecting and debugging modern web apps (also known as Progressive Web Apps).
This includes inspection of service workers and web app manifests.
- Memory - Figure out which objects are keeping memory in use.
- DOM Property Viewer - Inspect the page's DOM properties, functions, etc.
- Eyedropper - Select a color from the page.
- Storage Inspector - Inspect cookies, local storage, indexedDB, and session storage present in a page.
- Style Editor - View and edit CSS styles for the current page.
- Taking screenshots - Take a screenshot of the entire page or of a single element.
- Measure a portion of the page - Measure a specific area of a web page.
- Rulers - Overlay horizontal and vertical rulers on a web page.
- Firefox developer tools tips
- Settings: Enable persistent logs -
A setting to control whether or not the Web Console and Network Monitor clear their output when you navigate to a new page.
If Common Preferences is not included in the Settings, Web Console logs can be persisted by using the 'about:config'
url in the browser address bar, searching for: 'devtools.webconsole.persistlog' then toggling this value to true.
- On Windows, Firefox gets installed in "C:\Program Files (x86)\Mozilla Firefox\firefox.exe".
- Promise - represents the
eventual completion (or failure) of an asynchronous operation, and its resulting value
- Using promises - essentially,
a promise is a returned object to which you attach callbacks, instead of passing callbacks into a function
- NSS - Network Security Services by Mozilla
- Used e.g. at CERN for Solid integration
- A set of libraries designed to support cross-platform development of security-enabled client and server applications
- Axios - Promise based HTTP client for the browser and node.js
Google Chromium and Chrome
- Webkit.org - engine of Safari, Mail, App Store, and many other apps on macOS, iOS, and Linux
Enable applications to take advantage of persistent background processing,
including hooks to enable bootstrapping of web applications while offline.
Data exchange and communication
TOR - P2P - filesharing
TOR and onions
TOR project (clearnet)
Other good stuff