Skip to content

WebEngine's core principals

Greg Bowler edited this page Feb 14, 2024 · 1 revision

1. The web is the best platform

Building for the web is the fastest and easiest way to share what you've created. Nearly everything you could want a computer to do is possible using the web platform: playing and recording audio and video media, interacting with MIDI musical instruments, building interactive 3D VR worlds... and making a form-based CRM save to a database. Whatever you can dream, the web has you covered.

The web was designed in the early 1990s. The functionality (and changes to functionality) is discussed in depth by an international collection of businesses and individuals that make up the W3C to form web standards. These standards are designed with such clever foresight that there have only been a handful of version increases over the decades, and everything is designed to be backwards compatible. What other engineering job comes with this much clarity, stability, and fantastic documentation?

WebEngine is designed to work with existing web technologies, rather than inventing new ones.

2. Optimise for humans

People use WebEngine because it aligns with their personal values of what it means to be a developer, not because it's the fastest, securest, lightweightest, etc.

A good developer experience breeds a good user experience.

WebEngine development is designed to insight joy, and with that, everyone is happy.

3. Start static: HTML is excellent

HTML can be used to build interfaces for desktop computers, VR headsets, laptops, mobile phones, smart watches, and everything in between.

Tools and techniques can be used to convert HTML into other native user interfaces.

The barrier to entry of writing HTML is having access to a computer with a text editor.

Web servers and web browsers are unbelievably efficient at sending content over the internet and rendering it in near real-time.

WebEngine is designed to embrace HTML-first development. Allow splitting HTML into different pages and components, and then treat PHP the same: a single file with a single, obvious responsibility is perfect.

4. No surprises

When picking up someone else's code, or even when looking at your own code from 6 months ago, it's difficult to get into the flow of what's happening. How does the routing work? Where is that class getting instantiated? Why is this parameter this value?

WebEngine is designed to be as quick to pick up by anyone who's ever seen or heard of HTML and PHP.

Clone this wiki locally