Olá a todos!
Gostaria de compartilhar o Dexo, um cliente nativo para iOS para fóruns Discourse que tenho desenvolvido usando UIKit e Swift.
Capturas de Tela
Recursos
- Gerenciamento Multi-Fórum — Adicione, alterne e remova múltiplas instâncias do Discourse em um único aplicativo
- Navegação de Tópicos — Listas de tópicos Mais Recentes e Principais com rolagem infinita
- Categorias e Tags — Navegue por tópicos por categoria ou tag
- Detalhe do Tópico — Renderização completa do conteúdo HTML com visualizador de imagens, blocos de código com realce de sintaxe e seções recolhíveis
- Responder — Responda a tópicos ou a uma postagem específica
- Autenticação Segura — Utiliza o fluxo de Chave de API de Usuário do Discourse com criptografia RSA; as credenciais são armazenadas no iOS Keychain
- Aparência — Modo Sistema / Claro / Escuro
Planejado
- Notificações e mensagens privadas
- Criação de tópicos
Pilha Tecnológica
| Componente | Detalhe |
|---|---|
| Linguagem | Swift 5 |
| Estrutura de UI | UIKit |
| Alvo Mínimo | iOS 17.0 |
| Arquitetura | MVVM + @Observable |
| Banco de Dados | SQLite (GRDB) |
| Rede | Alamofire |
| Carregamento de Imagem | SDWebImage |
Como a Autenticação Funciona
O Dexo segue a especificação Chave de API de Usuário do Discourse. Ele gera um par de chaves RSA no dispositivo, envia a chave pública para sua instância do Discourse para autorização e armazena a chave de API resultante de forma segura no iOS Keychain. Nenhuma senha é armazenada no dispositivo.
TestFlight
Código Fonte
O projeto é totalmente de código aberto:
Construir a Partir do Código Fonte
Requer Xcode 16+ e mise:
make setup # Instala as ferramentas, busca dependências, gera o projeto Xcode
Em seguida, abra dexo.xcodeproj, selecione sua equipe de desenvolvimento e execute.
Feedback
Isto ainda está em andamento.
Eu adoraria ouvir seu feedback, solicitações de recursos ou relatórios de bugs.
sinta-se à vontade para responder aqui ou abrir uma issue no GitHub.


