Struttura delle Directory
Introduzione
Nylo Website utilizza una struttura di directory pulita e organizzata ispirata a Laravel. Questa struttura aiuta a mantenere la coerenza tra i progetti e rende facile trovare i file.
Directory Radice
nylo_app/
├── android/ # Android platform files
├── assets/ # Images, fonts, and other assets
├── ios/ # iOS platform files
├── lang/ # Language/translation JSON files
├── lib/ # Dart application code
├── test/ # Test files
├── .env # Environment variables
├── pubspec.yaml # Dependencies and project config
└── ...
La Directory lib
La cartella lib/ contiene tutto il codice Dart della tua applicazione:
lib/
├── app/ # Application logic
├── bootstrap/ # Boot configuration
├── config/ # Configuration files
├── resources/ # UI components
├── routes/ # Route definitions
└── main.dart # Application entry point
app/
La directory app/ contiene la logica core della tua applicazione:
| Directory | Scopo |
|---|---|
commands/ |
Comandi CLI Metro personalizzati |
controllers/ |
Controller delle pagine per la logica di business |
events/ |
Classi evento per il sistema di eventi |
forms/ |
Classi form con validazione |
models/ |
Classi modello dei dati |
networking/ |
Servizi API e configurazione di rete |
networking/dio/interceptors/ |
Interceptor HTTP Dio |
providers/ |
Provider di servizio avviati all'avvio dell'app |
services/ |
Classi di servizio generali |
bootstrap/
La directory bootstrap/ contiene i file che configurano l'avvio della tua app:
| File | Scopo |
|---|---|
boot.dart |
Configurazione della sequenza di avvio principale |
decoders.dart |
Registrazione dei decoder per modelli e API |
env.g.dart |
Configurazione ambiente crittografata generata |
events.dart |
Registrazione degli eventi |
extensions.dart |
Estensioni personalizzate |
helpers.dart |
Funzioni helper personalizzate |
providers.dart |
Registrazione dei provider |
theme.dart |
Configurazione del tema |
config/
La directory config/ contiene la configurazione dell'applicazione:
| File | Scopo |
|---|---|
app.dart |
Impostazioni core dell'app |
design.dart |
Design dell'app (font, logo, loader) |
localization.dart |
Impostazioni lingua e localizzazione |
storage_keys.dart |
Definizioni delle chiavi di storage locale |
toast_notification.dart |
Stili delle notifiche toast |
resources/
La directory resources/ contiene i componenti UI:
| Directory | Scopo |
|---|---|
pages/ |
Widget pagina (schermate) |
themes/ |
Definizioni dei temi |
themes/light/ |
Colori del tema chiaro |
themes/dark/ |
Colori del tema scuro |
widgets/ |
Componenti widget riutilizzabili |
widgets/buttons/ |
Widget pulsante personalizzati |
widgets/bottom_sheet_modals/ |
Widget modal bottom sheet |
routes/
La directory routes/ contiene la configurazione del routing:
| File/Directory | Scopo |
|---|---|
router.dart |
Definizioni delle rotte |
guards/ |
Classi route guard |
Directory Assets
La directory assets/ memorizza i file statici:
assets/
├── app_icon/ # App icon source
├── fonts/ # Custom fonts
└── images/ # Image assets
Registrazione degli Asset
Gli asset vengono registrati nel pubspec.yaml:
flutter:
assets:
- assets/fonts/
- assets/images/
- assets/app_icon/
- lang/
Helper per gli Asset
Nylo Website fornisce helper per lavorare con gli asset.
Asset Immagine
// Standard Flutter way
Image.asset(
'assets/images/logo.png',
height: 50,
width: 50,
)
// Using LocalAsset widget
LocalAsset.image(
"logo.png",
height: 50,
width: 50,
)
Asset Generali
// Get any asset path
String fontPath = getAsset('fonts/custom.ttf');
// Video example
VideoPlayerController.asset(
getAsset('videos/intro.mp4')
)
File di Lingua
I file di lingua sono memorizzati in lang/ nella radice del progetto:
lang/
├── en.json # English
├── es.json # Spanish
├── fr.json # French
└── ...
Vedi Localizzazione per maggiori dettagli.