¡Hola a todos!
Me gustaría compartir Dexo, un cliente nativo de iOS para foros de Discourse que he estado desarrollando con UIKit y Swift.
Capturas de Pantalla
Características
- Gestión Multi-Foro — Añadir, cambiar y eliminar múltiples instancias de Discourse en una sola aplicación
- Exploración de Temas — Listas de temas Últimos y Principales con desplazamiento infinito
- Categorías y Etiquetas — Explorar temas por categoría o etiqueta
- Detalle del Tema — Renderizado completo del contenido HTML con visor de imágenes, bloques de código con resaltado de sintaxis y secciones colapsables
- Responder — Responder a temas o a una publicación específica
- Autenticación Segura — Utiliza el flujo de Clave de API de Usuario de Discourse con cifrado RSA; las credenciales se almacenan en el Llavero de iOS
- Apariencia — Modo Sistema / Claro / Oscuro
Planeado
- Notificaciones y mensajes privados
- Creación de temas
Pila Tecnológica
| Componente | Detalle |
|---|---|
| Lenguaje | Swift 5 |
| Framework de UI | UIKit |
| Objetivo Mínimo | iOS 17.0 |
| Arquitectura | MVVM + @Observable |
| Base de Datos | SQLite (GRDB) |
| Redes | Alamofire |
| Carga de Imágenes | SDWebImage |
Cómo Funciona la Autenticación
Dexo sigue la especificación de Clave de API de Usuario de Discourse. Genera un par de claves RSA en el dispositivo, envía la clave pública a tu instancia de Discourse para su autorización y almacena la clave API resultante de forma segura en el Llavero de iOS. No se almacenan contraseñas en el dispositivo.
TestFlight
Código Fuente
El proyecto es totalmente de código abierto:
Compilar desde el Código Fuente
Requiere Xcode 16+ y mise:
make setup # Instala herramientas, obtiene dependencias, genera proyecto Xcode
Luego abre dexo.xcodeproj, selecciona tu equipo de desarrollo y ejecuta.
Comentarios
Esto todavía es un trabajo en progreso.
Me encantaría escuchar tus comentarios, solicitudes de características o informes de errores.
Siéntete libre de responder aquí o abrir un issue en GitHub.


