Schnellstart

Erstellen Sie Ihr erstes Velisch 2.7 Projekt in wenigen Minuten.

Tutorial 1: Velisch Basics

Lernen Sie die Grundlagen der Sprache: Variablen, Typen und Kontrollstrukturen.

// Type Inference
let name = "John";
let age = 30;
let active = true;

// Explizite Typen
let email: string = "john@example.com";
let score: number = 95.5;
let isAdmin: boolean = false;

// Mutable Variablen
let mut counter = 0;
counter = counter + 1;

Tutorial 2: REST API Entwicklung

Velisch macht die API-Entwicklung intuitiv durch den Einsatz von Decorators.

@GET("/api/hello")
fn hello(): string {
    return "Hello, Velisch!";
}

@POST("/api/users")
fn createUser(name: string, email: string): User {
    let user = User {
        id: generateId(),
        name: name,
        email: email,
    };
    return db.save(user);
}

@GET("/api/users/:id")
fn getUser(id: string): User {
    return db.find(User, id);
}

Beispiel: Calculator API

@GET("/api/calc/add")
fn add(a: number, b: number): number {
    return a + b;
}

@POST("/api/calc/calculate")
fn calculate(operation: string, a: number, b: number): Calculation {
    let result: number;
    match (operation) {
        "add" => result = a + b,
        "subtract" => result = a - b,
        "multiply" => result = a * b,
        "divide" => result = b != 0 ? a / b : 0,
        _ => result = 0,
    }
    
    return db.save(Calculation {
        id: generateId(),
        operation: operation,
        operand1: a,
        operand2: b,
        result: result,
        timestamp: getCurrentTimestamp(),
    });
}

Vollständiges CRUD Beispiel

struct User {
    id: string,
    name: string,
    email: string,
    role: string,
}

@GET("/api/users")
fn getUsers(): List<User> {
    return db.findAll(User);
}

@POST("/api/users")
fn createUser(name: string, email: string): User {
    return db.save(User {
        id: generateId(),
        name: name,
        email: email,
        role: "user",
    });
}

@PUT("/api/users/:id")
fn updateUser(id: string, name: string): User {
    let user = db.find(User, id);
    user.name = name;
    return db.save(user);
}

@DELETE("/api/users/:id")
fn deleteUser(id: string): void {
    db.delete(User, id);
}