Un lenguaje de programación y framework backend moderno, seguro y extensible de alto rendimiento construido sobre Go.
A modern, high-performance, secure, and extensible backend programming language and framework built on Go.
Documentación · Joss Pub · Crear Plugins · Descargas / Releases
Joss Programming Language combina la velocidad de desarrollo expresiva con un motor de ejecución eficiente escrito en Go. Incluye tipado dinámico y validado, concurrencia con async/await, servidor HTTP/HTTPS nativo, recarga en vivo al estilo Flutter, motor de base de datos GranDB (SQLite, MySQL, PostgreSQL), WebSockets en tiempo real y arquitectura extensible mediante paquetes JP v2 firmados.
Joss Programming Language combines expressive development speed with a high-performance execution runtime written in Go. It features dynamic and validated typing, async/await concurrency, a native HTTP/HTTPS server, Flutter-style live hot reload, the GranDB database engine (SQLite, MySQL, PostgreSQL), real-time WebSockets, and an extensible plugin system using signed JP v2 packages.
O Joss Programming Language combina a velocidade de desenvolvimento expressiva com um mecanismo de execução de alto desempenho escrito em Go. Possui tipagem dinâmica e validada, concorrência com async/await, servidor HTTP/HTTPS nativo, recarga em tempo real estilo Flutter, motor de banco de dados GranDB (SQLite, MySQL, PostgreSQL), WebSockets em tempo real e uma arquitetura extensível por meio de pacotes JP v2 assinados.
| Área | Descripción e Integraciones |
|---|---|
| Lenguaje Core | Tipos dinámicos/validados, clases OOP, funciones, closures, ternarios de bloque, arrays, maps y evaluación de expresiones. |
| Backend & HTTP | Router expresivo, Request/Response, middleware, vistas Blade, sesiones en archivo/memory/redis, JWT y WebSockets. |
| Hot Reload Vivo | Recarga en vivo estilo Flutter: recargas instantáneas sin refrescar la página, actualización de CSS/views y avisos flotantes. |
| GranDB ORM | Motor de base de datos para SQLite, MySQL/MariaDB y PostgreSQL, migraciones, seeders y Schema Builder. |
| Seguridad Avanzada | Cifrado de entorno, CSRF, cookies HTTP-only, rate limiting por IP y utilidades criptográficas. |
| Concurrencia & Cron | Fork de runtime con async/await, canales thread-safe y motor Cron programado dinámicamente en memoria. |
| Extensibilidad JP v2 | Plugins autocontenidos firmados con Ed25519, carga automática sin import, RPC aislado y ABI C en memoria. |
| Ecosistema & SDKs | CLI completo, extensión oficial para VS Code y SDKs nativos para C, C++, Python, Rust, Java, Kotlin, PHP y Dart. |
El instalador automático configura el runtime de Joss Programming Language, el SDK para plugins y la extensión oficial de VS Code.
Abre PowerShell como Administrador y ejecuta:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process; iwr -useb https://raw.githubusercontent.com/josprox/Joss-language/main/install/remote-install.ps1 | iexAbre una terminal y ejecuta:
curl -fsSL https://raw.githubusercontent.com/josprox/Joss-language/main/install/remote-install.sh | bashComprueba la instalación con:
joss versionjoss new mi_aplicacion
cd mi_aplicacion
joss server startjoss new console mi_herramienta
cd mi_herramienta
joss run main.jossEn Joss, la concatenación de cadenas se realiza estrictamente con el operador punto (.), mientras que + es exclusivo para operaciones matemáticas numéricas.
class SaludoService {
func saludar(string $nombre, int $edad) {
($edad < 18) ? {
return "Acceso restringido para menores"
} : {
return "Bienvenido a Joss, " . $nombre . "!"
}
}
}
$service = new SaludoService()
print($service->saludar("Joss", 25))
$future = async(func() {
// Proceso asíncrono en background
return 40 + 2
})
$resultado = await($future)
print("Resultado: " . $resultado)
Router::get("/api/usuarios/{id}", func($id) {
$usuario = GranDB::table("users")->find($id)
($usuario == null) ? {
return Response::error("Usuario no encontrado", 404)
} : {
return Response::json({
"ok": true,
"data": $usuario
})
}
})
Las dependencias y paquetes declarados en joss.yaml se instalan con el CLI y se cargan e indexan automáticamente sin necesidad de sentencias use o import.
joss pub search ai
joss pub add joss_ai 2.0.1
joss pub install| Paquete | Propósito | Repositorio Oficial |
|---|---|---|
joss_ai |
Clientes de IA (OpenAI, Groq, Gemini) y streaming en tiempo real. | josprox/joss_ai |
joss_smtp |
Envío seguro de correos electrónicos vía SMTP, STARTTLS y TLS. | josprox/joss_smtp |
joss_notify |
Notificaciones push, webhooks y alertas in-app. | josprox/joss_notify |
joss_backup |
Creación, verificación y restauración automatizada de respaldos. | josprox/joss_backup |
// Ejemplo de uso de joss_ai cargado automáticamente
$respuesta = AI::client()
->provider("groq")
->model("llama-3.3-70b-versatile")
->system("Responde de forma breve")
->user("¿Qué es Joss Programming Language?")
->call()
Joss permite extender sus capacidades mediante paquetes comprimidos .jp firmados con Ed25519 que incluyen ejecutables nativos o bibliotecas C ABI en memoria.
| Tecnología | Recurso SDK Incluido |
|---|---|
| C | Encabezados RPC sdk/c/joss_plugin.h y ABI C sdk/c/joss_driver.h. |
| C++ (C++17) | Framework orientado a objetos sdk/c/joss_plugin.hpp con registro de métodos y exception safety. |
| Python | Runner sdk/python/joss_plugin.py con decoradores, asyncio y generadores streaming. |
| Rust | Crate sdk/rust con builder OOP y capturador de pánicos catch_unwind. |
| Java | Contrato sdk/java/JossPlugin.java para GraalVM Native Image o JVM. |
| Kotlin | DSL sdk/kotlin/JossPlugin.kt para Kotlin/Native y Kotlin/JVM. |
| PHP | Class runner sdk/php/joss_plugin.php con streaming vía Generator. |
| Dart & Flutter | Runner sdk/dart/joss_plugin.dart con Stream chunking para Flutter Desktop. |
# Servidor y Ejecución
joss server start # Inicia el servidor con Live Hot Reload
joss run main.joss # Ejecuta un script de Joss directamente
joss update # Actualiza el motor de Joss a la última versión
joss build native # Compila un binario autoejecutable nativo
# Generadores CLI (Soporta subcarpetas por dominio)
joss make:controller web/CatalogController
joss make:model auth/User
joss make:view productos/index
joss make:crud productos
joss remove:crud productos
# Base de Datos y Migraciones
joss migrate # Ejecuta migraciones pendientes
joss migrate:fresh # Reconstruye esquema desde cero
joss db:seed # Corre seeders de datos
joss change db mysql # Cambia motor de BD a MySQL, SQLite o Postgres
# Gestión de Paquetes (Joss Pub)
joss pub add joss_ai 2.0.1
joss pub install
joss build package . # Empaqueta un plugin JP v2 firmado- Sitio Web Oficial: https://joss.red
- Documentación Completa: joss.red/docs
- Catálogo Joss Pub: joss.red/pub
- Guía de Sintaxis: Sintaxis del Lenguaje
- Estructura de Proyectos: Estructura por Dominios
- Desarrollo de Plugins: Guía de Plugins JP v2
- Guía de CLI: Referencia del CLI
Joss Programming Language se distribuye bajo la Licencia MIT. Las aplicaciones creadas con el lenguaje pertenecen a sus respectivos autores.
