Skip to content

๐Ÿš‹ Legacy View Framework For Vanilla Javascript

License

Notifications You must be signed in to change notification settings

Tram-One/tram-one

Repository files navigation

Tram-One

Modern View Framework for Vanilla Javascript


Note this specific project in the Tram-One org is no longer under development. While it is the original project for the Tram-One org, other projects in the Tram-One org are being explored and developed (namely, Tram-Lite).


Summary

Tram-One is a Modern View Framework that has advance features like hooks, observables, and JSX-like template components, all in plain vanilla javascript.

Tram-One takes inspiration from frameworks like Choo, React, and Svelte, and provides a rich feature set without additional libraries.

View the docs for a complete one-stop-shop with everything you need to know about Tram-One.

If you have any questions from this page or about Tram-One, or just want to say hi, join our Discord!

import { registerHtml, start } from 'tram-one';

const html = registerHtml();
const home = () => {
	return html`
		<main>
			<h1>Tram-One</h1>
			<h2>A Modern View Framework For Vanilla Javascript</h2>
		</main>
	`;
};

start('#app', home);

Why?

Tram-One is a project that emphasizes vanilla JS and HTML syntax, while providing the features of modern JS frameworks. It is born out of love of the JSX syntax, and an attempt to build something unique with existing open source libraries.

While Tram-One makes use of many dependencies, an effort has been made to expose those dependencies in a way that will hopefully encourage other developers to mix-and-match their own libraries, make improvements, and potentially build off of what is here to make their own front-end frameworks!

Is Tram-One for Javascript or Typescript?

Both! While the source code and type checking exist in Typescript, smart editors (such as Visual Studio Code), will make use of the Typescript annotations regardless of what language you work in!

This Repo and the Tram-One Org

This repo contains the main Tram-One framework, which can be installed and used to make web-apps. The Tram-One org includes many of the dependencies as well as the websites and generators for the project. The dependencies, while made (or modiefied) for Tram-One, can be used in other projects.

Discord

If you want to start contributing, need help, or would just like to say hi, join our discord!