Official documentation

Joss Documentation

Complete guide to the Joss language: syntax, CLI, web backend, security, views, ORM, WebSockets and deployment.

Joss Documentation

This documentation describes the behavior of the current code. It is divided into learning, guides, reference and internals so that a beginner can move forward in order and an experienced developer can find concrete rules.

Languages

All 50 documents keep the same filename in every language so that relative links work the same way. After editing the Spanish source, run go run ./tools/docsi18n -translate -sync to update translations and the web mirror; go run ./tools/docsi18n -check detects missing files, stale translations, broken links or differences with JosSecurity.

Learn Joss (Guided route from scratch)

If you have never programmed before or are learning Joss for the first time, follow this course in order. Each chapter introduces one concept at a time, starting from how to create and run your official project with joss new console, with line-by-line explanations, visible results and three levels of practice (Quick test, Guided exercise and Challenge).

flowchart LR
    C0["0. Primeros pasos (joss new console)"] --> C1["1. Fundamentos"]
    C1 --> C2["2. Control de flujo"]
    C2 --> C3["3. Colecciones"]
    C3 --> C4["4. Funciones"]
    C4 --> C5["5. Errores"]
    C5 --> C6["6. Clases y POO"]
    C6 --> C7["7. Concurrencia"]
    C7 --> C8["8. Proyecto Consola (joss build)"]
    C8 --> C9["9. Proyecto Web MVC (joss new / joss make:*)"]
  1. First steps: create your project with joss new console, understand main.joss and interact with cin
  2. Fundamental values, variables and operations
  3. Flow control: decisions and repetition loops
  4. Collections: Arrays, Maps and Unicode text
  5. Functions, scope, guard, defer, closures, ref and pipelines
  6. Error handling, JOSS-... diagnostics and try/catch exceptions
  7. Classes, objects, inheritance, interfaces, record and generics
  8. Concurrency, async/await, Future and channels (channel)
  9. Practical console project with JSON persistence and joss build
  10. Complete web project with joss new and native MVC architecture

The glossary explains all programming and Joss terms in everyday language, without requiring prior knowledge of another language. Once you complete the basic course, dive deeper into formal type rules in Type system, inference and conversions.

Language and tools reference

Create applications

Internals and maintenance

Historical documents preserve context and may describe the state at their date. In the event of a discrepancy, the implementation, tests and Implementation status take precedence.