Ciao a tutti!
Vorrei condividere Dexo, un client nativo per iOS per i forum Discourse che ho sviluppato con UIKit e Swift.
Screenshot
Funzionalità
- Gestione Multi-Forum — Aggiungi, passa tra e rimuovi istanze Discourse multiple in un’unica app
- Navigazione Argomenti — Liste di argomenti Recenti e Migliori con scorrimento infinito
- Categorie e Tag — Sfoglia argomenti per categoria o tag
- Dettaglio Argomento — Rendering completo del contenuto HTML con visualizzatore di immagini, blocchi di codice con evidenziazione della sintassi e sezioni comprimibili
- Rispondi — Rispondi agli argomenti o a un post specifico
- Autenticazione Sicura — Utilizza il flusso Chiave API Utente di Discourse con crittografia RSA; le credenziali sono memorizzate nel Portachiavi di iOS
- Aspetto — Modalità Sistema / Chiaro / Scuro
In programma
- Notifiche e messaggi privati
- Creazione di argomenti
Stack Tecnologico
| Componente | Dettaglio |
|---|---|
| Linguaggio | Swift 5 |
| Framework UI | UIKit |
| Target Minimo | iOS 17.0 |
| Architettura | MVVM + @Observable |
| Database | SQLite (GRDB) |
| Networking | Alamofire |
| Caricamento Immagini | SDWebImage |
Come Funziona l’Autenticazione
Dexo segue la specifica Chiave API Utente di Discourse. Genera una coppia di chiavi RSA sul dispositivo, invia la chiave pubblica alla tua istanza Discourse per l’autorizzazione e memorizza la chiave API risultante in modo sicuro nel Portachiavi di iOS. Nessuna password viene memorizzata sul dispositivo.
TestFlight
Codice Sorgente
Il progetto è completamente open source:
Compilazione dal Sorgente
Richiede Xcode 16+ e mise:
make setup # Installa gli strumenti, recupera le dipendenze, genera il progetto Xcode
Quindi apri dexo.xcodeproj, seleziona il tuo team di sviluppo ed esegui.
Feedback
Questo è ancora un lavoro in corso.
Mi piacerebbe ricevere il vostro feedback, richieste di funzionalità o segnalazioni di bug.
sentitevi liberi di rispondere qui o aprire una issue su GitHub.


