En aquest tema, explorarem l'estructura d'un projecte Ionic. Entendre com està organitzat un projecte és fonamental per treballar de manera eficient i mantenir el codi net i organitzat. A continuació, desglossarem les carpetes i fitxers principals que trobaràs en un projecte Ionic.
Estructura Bàsica del Projecte
Quan crees una nova aplicació Ionic, es genera una estructura de carpetes i fitxers que segueix un patró específic. A continuació, es mostra una visió general de l'estructura típica d'un projecte Ionic:
my-ionic-app/ ├── e2e/ ├── node_modules/ ├── src/ │ ├── app/ │ ├── assets/ │ ├── environments/ │ ├── theme/ │ ├── index.html │ ├── main.ts │ ├── polyfills.ts │ ├── test.ts │ └── tsconfig.app.json ├── .editorconfig ├── .gitignore ├── angular.json ├── ionic.config.json ├── package.json ├── tsconfig.json └── tslint.json
Descripció de les Carpetes i Fitxers Principals
1. e2e/
- Descripció: Conté les proves de cap a cap (end-to-end) per a l'aplicació.
- Ús: Utilitzat per assegurar que l'aplicació funciona correctament des del punt de vista de l'usuari final.
2. node_modules/
- Descripció: Conté tots els mòduls de Node.js que el projecte necessita.
- Ús: Gestionat automàticament per npm (Node Package Manager).
3. src/
- Descripció: Conté el codi font de l'aplicació.
- Subcarpetes i Fitxers:
app/
: Conté els components, serveis, i altres fitxers relacionats amb l'aplicació.assets/
: Conté recursos estàtics com imatges, icones, etc.environments/
: Conté fitxers de configuració per a diferents entorns (producció, desenvolupament).theme/
: Conté fitxers SCSS per a la tematització de l'aplicació.index.html
: Fitxer HTML principal de l'aplicació.main.ts
: Punt d'entrada principal de l'aplicació.polyfills.ts
: Conté polyfills per a suportar funcionalitats en navegadors antics.test.ts
: Punt d'entrada per a les proves unitàries.tsconfig.app.json
: Configuració TypeScript específica per a l'aplicació.
4. .editorconfig
- Descripció: Fitxer de configuració per a l'editor de codi.
- Ús: Defineix regles de formatació de codi per mantenir la coherència entre diferents editors.
5. .gitignore
- Descripció: Fitxer que especifica quins fitxers i carpetes han de ser ignorats per Git.
- Ús: Evita que fitxers innecessaris o sensibles siguin versionats.
6. angular.json
- Descripció: Fitxer de configuració per a Angular CLI.
- Ús: Defineix com es construeix, serveix i prova l'aplicació.
7. ionic.config.json
- Descripció: Fitxer de configuració per a Ionic CLI.
- Ús: Conté configuracions específiques per a projectes Ionic.
8. package.json
- Descripció: Fitxer de configuració per a npm.
- Ús: Defineix les dependències del projecte i scripts de construcció.
9. tsconfig.json
- Descripció: Fitxer de configuració per a TypeScript.
- Ús: Defineix les opcions de compilació per a TypeScript.
10. tslint.json
- Descripció: Fitxer de configuració per a TSLint.
- Ús: Defineix les regles de linting per a TypeScript.
Exemples Pràctics
Exemple 1: Explorant el Fitxer main.ts
El fitxer main.ts
és el punt d'entrada principal de l'aplicació. Aquí és on es bootstrap l'aplicació Angular.
import { enableProdMode } from '@angular/core'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module'; import { environment } from './environments/environment'; if (environment.production) { enableProdMode(); } platformBrowserDynamic().bootstrapModule(AppModule) .catch(err => console.log(err));
Explicació:
enableProdMode()
: Activa el mode de producció si l'entorn és de producció.platformBrowserDynamic().bootstrapModule(AppModule)
: Bootstrap l'aplicació amb el mòdul principalAppModule
.
Exemple 2: Explorant el Fitxer app.module.ts
El fitxer app.module.ts
defineix el mòdul principal de l'aplicació.
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { IonicModule } from '@ionic/angular'; import { AppComponent } from './app.component'; import { AppRoutingModule } from './app-routing.module'; @NgModule({ declarations: [AppComponent], entryComponents: [], imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule], providers: [], bootstrap: [AppComponent] }) export class AppModule {}
Explicació:
declarations
: Declara els components que pertanyen a aquest mòdul.imports
: Importa altres mòduls necessaris per a l'aplicació.bootstrap
: Defineix el component principal que es bootstrap.
Exercici Pràctic
Exercici: Explora l'estructura del teu projecte Ionic i identifica els fitxers següents:
- El fitxer que conté la configuració de l'entorn de desenvolupament.
- El fitxer que defineix les dependències del projecte.
- El fitxer que conté el punt d'entrada principal de l'aplicació.
Solució:
src/environments/environment.ts
package.json
src/main.ts
Conclusió
Entendre l'estructura d'un projecte Ionic és essencial per treballar de manera eficient i mantenir el codi organitzat. Hem explorat les carpetes i fitxers principals que trobaràs en un projecte Ionic, així com alguns exemples pràctics per il·lustrar com es configuren i utilitzen aquests fitxers. Amb aquest coneixement, estaràs millor preparat per desenvolupar aplicacions Ionic de manera efectiva.
Curs de Desenvolupament Ionic
Mòdul 1: Introducció a Ionic
- Què és Ionic?
- Configuració de l'Entorn de Desenvolupament
- Creant la Teva Primera App Ionic
- Entenent l'Estructura del Projecte
- Executant i Depurant la Teva App
Mòdul 2: Components Bàsics i Navegació
- Visió General dels Components Ionic
- Utilitzant Botons i Icones Ionic
- Creant i Utilitzant Pàgines
- Navegació i Enrutament
- Pestanyes i Menús Laterals
Mòdul 3: Estilització i Tematització
- Introducció a l'Estilització Ionic
- Utilitzant CSS i SCSS en Ionic
- Tematitzant la Teva App Ionic
- Disseny Responsiu en Ionic
- Personalitzant Components Ionic
Mòdul 4: Treballant amb Dades
- Introducció al Binding de Dades
- Utilitzant Serveis Angular
- Peticions HTTP i APIs
- Emmagatzemant Dades Localment
- Utilitzant Ionic Storage
Mòdul 5: Components i Funcionalitats Avançades
- Utilitzant Formularis Ionic
- Validació i Gestió d'Errors
- Utilitzant Plugins Ionic Native i Cordova
- Accedint a Funcionalitats del Dispositiu
- Notificacions Push
Mòdul 6: Proves i Desplegament
- Proves Unitàries en Ionic
- Proves de Cap a Cap
- Construint per a Producció
- Desplegant a les Botigues d'Aplicacions
- Integració i Lliurament Continu