MaskingTechnology / jitar

Distributed runtime for JavaScript and TypeScript
https://jitar.dev
MIT License
141 stars 9 forks source link
api-automation backend deserializer end-to-end framework-agnostic full-stack intellisense intellisense-support javascript load-balancing microservices multi-version nodejs orchestration platform-agnostic rpc segmentation serializer typesafety typescript

Jitar - Distributed runtime

explainer

Welcome to Jitar, a distributed runtime for JavaScript and TypeScript that lets you build your application as a monolith and deploy it as (micro)services by configuration.

Jitar runs on the server and the web browser, closing the gap between the frontend and backend. All end-to-end communication is automated with type-safety. You can call your server functions directly, Jitar takes care of the rest.

In contrast to other solutions, there is no trace of Jitar in the application code, ensuring platform and framework agnosticism for easy integration and safety.

🏁 Try Jitar: see our Quick Start

⭐ Give us a star to show your support.

👋 Have questions? Join our discord community.

How it works

Building scalable applications is hard. It requires breaking an application into independently deployable pieces, like microservices. The boundaries of these pieces are sensitive to change and aren't always clear. Developing endpoints and requests to arrange the communication between them brings a lot of overhead.

Jitar is designed to solve these problems. It makes the boundaries configurable so you can change them painlessly at any time and eliminates the overhead by automating the end-to-end communication.

For breaking applications into distributable pieces, Jitar uses a segmentation system. A segment defines what functions need to be deployed together. Jitar connects these segments by creating RPC endpoints and requests under the hood.

Key benefits

Developers are at the heart of every application. Jitar is designed to make their lives easier and more productive.

Key features

Build a monolith, deploy as microservices. Jitar provides powerful features to scale endlessly.

When to use

Jitar is a great tool for building applications that are expected to grow and change over time. It can be used for building small to large API driven (web) applications, like:

For existing applications, Jitar can be of great assistance for load balancing (parts) of the application, or adding multi-version support.

Getting started

Getting started with Jitar is as easy as pie. It only takes a few simple steps.

  1. Create new project - Start fast with our creator and pick one of our templates for Vue, React, SolidJS and more.
  2. Add your functions - Write functions and export them like you are used to.
  3. Configure what runs on the server - Add the exported functions to a server segment configuration file.
  4. Run your application - Jitar will take care of the rest.

Documentation

Full documentation is available at docs.jitar.dev.

Please join our Discord community for questions and discussions.

Publications

Contributing

We welcome contributions to Jitar. Please read our contributing guidelines for more information.

A special thanks to everyone who has contributed to Jitar so far!

Roadmap

We are working hard towards a stable 1.0 release. Details can be found in our roadmap document.