“One of the unique features that I particularly appreciate is the ability to call functions directly in my code, rather than having to build an entire API. This has greatly streamlined my workflow and made it much easier to get my projects up and running.”
Jayson Anthony, Full Stack Developer
When you use our open source command line tool, it deploys the backend classes on a lambda infrastructure on AWS.
Automatically provision for increases in application traffic, as well as save money on decreases in usage.
Helps you organize your API code in classes that are deployed and scaled individually.
Our tool generates the frontend interfaces that use JSON-RPC transparently behind the scenes to implement a typesafe API call mechanism that is less bug prone than conventional methods. We do support REST and Webhooks also!
When you use our cloud, deploy the API code on a pre-configured infrastructure with a simple shell command, without prior AWS knowledge.
Compared with ExpressJS, there is no need to deal with URLs, headers and query params - just use the SDK autogenerated by our open source tool
Export class HelloWorldClass {
helloWorld() {
return "Hello world!";
}
hello(name, location) {
return `Hello, ${name}! Greetings from ${location}!`;
}
}
Start from our examples! Pick one and clone it from our GitHub repo. Generally an example has frontend and backend code and a configuration file named genezio.yaml
Type genezio local to start your backend dev environment. Use npm start in the frontend folder. Point your browser to http://localhost:3000/. You are all set!
Once you typed genezio local, an SDK with frontend classes that mirror the backend classes was generated in your frontend folder. The SDK uses JSON RPC to communicate with the backend.
You will need to import the SDK class in your code and call its methods - that's it - enjoy our examples!
We now support Javascript and TypeScript on both the frontend and backend, and Swift and DART on the frontend.
At genezio, classes are the basic unit of deployment for the backend. Instead of deploying single functions, we group them into classes for more flexibility and better code readability.
/**
* This is an auto generated code. This code should not be modified since the
* file can be overwritten if new genezio commands are executed.
/*
import { Remote } from "./remote.js"
export class HelloWorldService {
static remote = new Remote(<"PROJECT_URL">)
static async helloWorld() {
return HelloWorldService.remote.call("HelloWorldService.helloWorld")
}
static async hello(name, from) {
return HelloWorldService.remote.call("HelloWorldService.hello", name, from)
}
}
import { HelloWorldClass } from "./sdk/hello.sdk.js";
const [name, setName] = React.useState("Billy");
const [location, setLocation] = React.useState("Paris");
const View = () => {
return (
<>
`${HelloWorldClass.hello(name, location)}`
</>
);
};
export default View;
Use genezio deploy at the command prompt in the project folder where the yaml config file resides. This deploys both the backend and the frontend code, if it exists.
First the backend bundle is created and deployed in the genezio cloud that runs on AWS. Then the SDK code is regenerated in the frontend folder. Then the frontend is deployed and the CDN is configured.
It's live now!
Whether you are developing a website or you want to write your first blockchain or AI app, we've got you covered!
Check out our examples!