Un componente di terze parti è software riutilizzabile (libreria, SDK, plug-in, client API, immagine container) sviluppato da una parte esterna e integrato nella tua applicazione per fornire funzionalità specifiche senza costruirle da zero.
Categorie Comuni
| Categoria | Esempi |
| UI / UX | Material UI, Ant Design, Syncfusion, Telerik, DevExpress |
| Dati / ORM | Entity Framework, Hibernate, Dapper, Realm, client Redis |
| Auth / Identità | Auth0, Firebase Auth, IdentityServer, SDK Okta |
| Pagamenti | Stripe, Braintree, Adyen, SDK Square |
| Cloud / Infra | AWS SDK, Azure SDK, librerie client Google Cloud, provider Terraform |
| Osservabilità | OpenTelemetry, Datadog, New Relic, SDK Sentry |
| Media / Codec | Wrapper FFmpeg, ExoPlayer, Video.js, PDF.js |
| Test | JUnit, xUnit, Cypress, Playwright, Mockito |
Perché Usarli?
- Velocità: Rilascia funzionalità in giorni, non mesi.
- Competenza: Sfrutta specialisti di dominio (crypto, video, ML).
- Spostamento del carico di manutenzione: Il fornitore gestisce patch e aggiornamenti di compatibilità.
- Compliance: Pre-auditati per SOC2, PCI, GDPR (talvolta).
Rischi e Mitigazioni
| Rischio | Mitigazione |
| Attacco alla supply chain (codice malevolo) | SBOM, firma Sigstore, Dependabot, Snyk, lockfiles |
| Abbandono / non manutenuto | Preferisci progetti attivi (>1 commit/90gg), supportati dal vendor o forkabili |
| Incompatibilità licenza (GPL virale) | FOSSA, ClearlyDefined, revisione legale; isola via microservizio se necessario |
| Conflitto versioni (dipendenza infernale) | Strumenti monorepo (Nx, Turborepo), peerDependencies rigorosi, lockfiles |
| Gonfiamento prestazioni | Analisi bundle (webpack-bundle-analyzer), tree-shaking, lazy-load |
Best Practice
- Fissa versioni esatte; aggiorna deliberatamente.
- Vendorizza librerie critiche (copia nel repo) se l'upstream è instabile.
- Esegui
npm audit / pip-audit / govulncheck in CI. - Documenta perché è stato scelto ogni componente (ADR).
- Hai un piano di rollback per ogni dipendenza esterna.