Main JS Project
Unlock your next javascript project with Main.JS; an async headless framework and serverless library for local web development.
Project Summary
The objective of Main JS is to deliver the best possible experience for website users, developers and owners. To achieve this, Main JS creates a few easy to follow standards that when applied in web development, help streamline the complex processes of fetching resources, rendering layout, applying personalisation and measuring performance.
This functionality is platform agnostic, accessibility aware and has no need for backend software packages, costly infrastructure or connectivity requirements. From Android, Chromebooks to Windows, Main JS works everywhere you do! Combining free download and installation with an open source licence (GPL-v3) has a democratisation effect on web development, making Main JS suitable for business, personal, students, education, and research web projects.
Coming Soon:
- Change Log
- Snippet
- Portablability
- Layout Engine
- Functions
- Variables
- DOM
- Objects
- Parameters
- Fonts
- Google Fonts
- Other Font Providers
- Navigation
Developer Features
Centralise javascript controls
Main reserves the main javascript namespace to consolidate all functionality and centralise website controls, this is used for JavaScript and objects, arrays, variables and functions.
Meta properties reduce JS functions
Main includes special meta properties support that allow you to change the most common Main JS functions, controls and settings without using ANY JS scripts or <script> tags.
Best possible security
Main JS is written and maintained by one developer (with a tonne of oversight) with no package managers, no automated dependencies and everything is ‘batteries included’ for best possible security and performance.
Javascript adaptability
Main JS pre-defines all data tag/elements and attributes, data types, classes, event listeners and common selectors for flexibility and adaptability in any web development environment.
Develop in any environment
Main JS manages protocols, source and href paths for all elements on the webpage to ensure pages render correctly in any environment; online, offline, local file systems or multi framework hosts.
Smart engagment tracking
Main JS page level data storage and persistence offers detailed engagement, focus, scroll, page depth, screen orientation, statefulness and all stages of user timings.
Javascript managed fonts
Main JS manages your font provider (like Google fonts) and handles seamless font resource loading and glyph updating and rendering, and font family rules via JS controlled CSS rules.
Headless page hydration
Main JS headless page hydration offers you a powerful flexible fetcher() function, streamlining async request and responses for all major mime types, server configurations and storage environments.
Easy offline development
Main JS automatically decorates links and forms based on your hosting environment, allowing easy development even on local devices and offline web-hosting states.
Seamless page navigation
Main JS hydration systems achieve seamless page navigation, by using fully flexible ‘function arrays,’ allowing easy injection of hydration requirements with push() calls to passive and active listeners to complete rendering processes.
Common HTML elements sorted
Main JS automatically binds listeners to common HTML elements for easy customisation; includes main body, navigation bars, footers, logo, links, account and breadcrumbs.
Developer friendly
Main JS features developer friendly tools; like automatic cloning containers, hide when empty, global ‘for’ attributes as well as opener & relative link attributes for internal tech-stack isolation.
Main HTML & Main.JS Founding Statement
First commitment; Main JS is free and open source and will always be, my goal is to give everyone possible a first class ticket to the most well known and well-written markup language on earth; HTML.
Second commitment: relates my first commitment that it is not just because of the projects chosen licence (GPL,) but it's a commitment to remain impartial and community focused and to never sell out or steer Main JS away from the core focus of portability and maintainability.