In breve
borealis: 4, Aurore: 15
cataloghi di traduzione, cambiati mentre l'app è in esecuzione
borealis: C++17, Aurore: C++20
lo standard del linguaggio, con RTTI ed eccezioni
borealis: Yoga 2, Aurore: Yoga 3
il flexbox standard di CSS, con
gapeflexWrapborealis: 7, Aurore: 8
piattaforme: il browser si aggiunge alle sette
Nuovo in Aurore
Ciò che borealis non ha
Cadran è attivo di serie e una chiamata lo spegne; il resto è lì quando un'app lo vuole.
Cadran, un aspetto tutto suo
Attivo di serie: una barra di icone, schede, pannelli e finestre di dialogo, una sessantina di icone vettoriali.
setCadran(false)mantiene l'aspetto di borealis.Temi in file
File e cartelle
.theme: una palette da un colore d'accento, preimpostazioni, nove stagioni e feste, immagini, decorazioni. Il contrasto di ogni tema è verificato.Stili e data binding
Attributi
focus:,pressed:,disabled:ehover:, transizioni animate, valori collegati dall'XML conbind.Accessibilità
Un ruolo, un'etichetta e un valore per ogni vista, un annuncio del focus in 15 lingue, due temi ad alto contrasto, una scala del testo, movimento ridotto.
Testo per ogni scrittura
Emoji a colori, ebraico e arabo da destra a sinistra, FreeType come opzione, un font per etichetta, testo che si restringe per entrare, misure in cache.
Un banco di prova
Senza schermo, su un orologio simulato: gamepad, tastiera, tocco e mouse per chiamata, screenshot confrontati con riferimenti, e target di fuzzing.
Inspector, ricarica, profiler
F12 o L3+R3 apre l'albero, il box model e le chiavi del tema sopra l'app; XML e temi si ricaricano al salvataggio; un benchmark scopre le regressioni.
Densità e schermi piccoli
Misure comode, compatte o dense in
dp, attributicompact:per gli schermi stretti, una preimpostazione per schermo piccolo in una chiamata.
Fianco a fianco
Ciò che hanno entrambi, e come cambia
borealis a sinistra, com'è il suo ramo wiliwili; Aurore a destra.
Aspetto e layout
| borealis wiliwili | Aurore | |
|---|---|---|
| Aspetto | Il suo, vicino a quello della Switch | Cadran di serie; l'aspetto di borealis a una chiamata |
| Colori | Un tema chiaro e uno scuro, fissati nel codice | Ogni colore è una chiave di tema, cambiata mentre l'app è in esecuzione |
| Layout | Yoga 2.0.0 | Yoga 3.2.1, flexbox standard, gap, flexWrap con il focus da una riga all'altra |
| Angoli e sfumature | Un solo raggio per tutti gli angoli | Un raggio per angolo, sfumature orizzontali, sfumature dal codice |
| Evidenziazione del focus | Un bordo che pulsa | Scivola da una vista all'altra, può sfumare dopo un po' |
| Immagini | Caricate sul thread dell'interfaccia | Decodificabili in background; le immagini troppo grandi rifiutate prima della decodifica |
Testo e input
| borealis wiliwili | Aurore | |
|---|---|---|
| Traduzioni | 4 lingue: inglese, francese, russo, cinese semplificato | 15 lingue, per la libreria, Cadran, i suggerimenti e l'accessibilità |
| Cambio di lingua | Caricata una volta, all'avvio | Mentre l'app è in esecuzione, con loadTranslations() |
| Ricerche | Eccezioni nella ricerca | Senza eccezioni, sicure da qualsiasi thread |
| Font fuori dalla Switch | Font in stile Switch inclusi | Inter e PromptFont, font liberi; cinese, giapponese e coreano dal sistema |
| Tastiera | Invio, Esc, le frecce e poco altro | Ogni pulsante del controller su un tasto, riassegnabile |
| Focus | Un box nascosto poteva prenderlo | Le viste nascoste o distrutte non lo tengono mai |
Build e piattaforme
| borealis wiliwili | Aurore | |
|---|---|---|
| Linguaggio | C++17 | C++20, RTTI ed eccezioni attivi |
| Target CMake | borealis | Aurore::aurore, Aurore::test |
| Opzioni | PLATFORM_*, USE_*, BRLS_* | AURORE_*, preset, un'installazione rilocabile |
| Sistemi di build | CMake e xmake | Solo CMake |
| Piattaforme | Desktop, Switch, PS Vita, PS4, Android, iOS, tvOS | Le stesse, più il browser (Emscripten, WebGL 2) |
| Librerie incluse | Yoga 2.0.0, SDL 2.28.5, tinyxml2 9.0.0, nlohmann/json 3.11, glad 0.1.27 | Yoga 3.2.1, SDL 2.32.10, tinyxml2 11.0.0, nlohmann/json 3.12.0, glad 2.0.8 |
| Suoni della Switch | libpulsar collegata, i suoi suoni spenti | libpulsar rimossa |
| Aprire i link | Qualsiasi indirizzo, tramite una shell | Solo http e https, senza shell |
| Licenza | Apache 2.0 | Il codice di borealis in Apache 2.0; Cadran in GPLv3, e così un'app fatta con Aurore |
Correzioni
Corretto strada facendo
Da altri fork di borealis, dalle patch di PlayGuard e dal lavoro di Aurore stessa.
- Il contatore di blocco dell'input non va più in overflow.
- Una vista distrutta viene dimenticata come focus; un focus perso raggiunge i frame genitori.
- La navigazione salta i frame e gli slider nascosti.
- Controller con SDL: chiusi allo scollegamento, tutti riletti dopo una riconnessione, pressioni più brevi di un frame conservate.
- Ogni lista riciclata controlla la propria larghezza; le viste accodate mentre si svuota il pool di eliminazione vengono conservate.
- I parser dei font leggono solo dentro i dati del font.
- Il logger scrive subito ogni riga.
- Un pulsante disattivato non si può più cliccare.
Ripreso dalla famiglia borealis
I loro commit conservano l'autore e la riga cherry picked from; altri sono riscritti, con il merito nel commit.
Il passaggio
Cosa cambia un'app
La maggior parte delle app compila e funziona senza modifiche una volta rinominata. La guida dà ogni riga, e cosa controllare sullo schermo dopo.
- I nomi: nessuno strato di compatibilità, ogni nome
brlsha il suo nome Aurore; basta un cerca e sostituisci. - La build: C++20, il target
Aurore::aurore, le opzioniAURORE_*. - La licenza: Cadran è collegato in ogni app, quindi un'app fatta con Aurore è GPLv3.
#include <borealis.hpp>#include <aurore.hpp>brls::Application::init();aurore::Application::init();BRLS_BIND(brls::Button, button, "go");AURORE_BIND(aurore::Button, button, "go");<brls:Box axis="column"><aurore:Box axis="column">textColor="@theme/brls/text"textColor="@theme/aurore/text"target_link_libraries(app borealis)target_link_libraries(app PRIVATE Aurore::aurore)cmake -DPLATFORM_DESKTOP=ON -DUSE_SDL2=ONcmake -DAURORE_PLATFORM=DESKTOP -DAURORE_WINDOW=SDL2BRLS_LANG=fr ./appAURORE_LANG=fr ./app
Il progetto
Documentato, testato, rilasciato
Documentazione
18 guide e un riferimento dell'API su questo sito, dove borealis ha il suo README e una wiki.
Integrazione continua
Oltre alle build di borealis: la formattazione, la demo con ASan e UBSan, i test, la documentazione; action fissate al loro commit.
Versioni
Conventional Commits e release-please, un registro delle modifiche,
AURORE_VERSION_AT_LEASTnel codice.Contributi e sicurezza
CONTRIBUTING.mdper contribuire,SECURITY.mdper segnalare vulnerabilità in privato.Il modello
Nel repository,
template/: un'app minima per il desktop e la Switch.Note
Le note di terze parti distribuite con ogni app; degli strumenti le controllano, insieme alle versioni delle librerie incluse.
Un'app da portare via da borealis?
La guida la accompagna passo per passo: il sottomodulo, la build, le risorse, l'aspetto, i nomi.