Movimento 0deps: Dipendenze locali e contratti immutabili

Gli sviluppatori software spesso installano centinaia di librerie esterne. I framework moderni si affidano a migliaia di dipendenze transitive. Ciò significa che la tua app esegue codice scritto da sconosciuti.

Questa velocità ha un costo. Ti scontri con i rischi legati alla supply chain del software.

Ogni dipendenza aumenta la tua superficie di attacco. Le dipendenze possono:

  • Introdurre vulnerabilità di sicurezza.
  • Diventare bersagli per attacchi alla supply chain.
  • Essere abbandonate dagli autori.
  • Modificare la propria API pubblica.
  • Rompere la retrocompatibilità.

Il movimento 0deps cambia le cose. Si chiede: cosa succederebbe se la tua app si affidasse solo al codice che controlli?

In un modello 0deps, porti tutto il codice necessario direttamente nel repository del tuo progetto. Non scarichi pacchetti durante l'installazione o la fase di build. Tutto ciò di cui hai bisogno è già presente quando cloni il repo.

Questo offre diversi vantaggi:

  • Build riproducibili.
  • Nessuna dipendenza da registry di pacchetti esterni.
  • Audit di sicurezza centralizzati.
  • Maggiore prevedibilità.
  • Minore rischio per la supply chain.

L'obiettivo non è impedire che il codice cambi. Gli algoritmi e le correzioni di sicurezza devono evolversi. Ciò che rimane invariato è il contratto pubblico.

Progetti un'interfaccia stabile per ogni libreria. Ad esempio:

  • authenticate()
  • createSession()
  • verifyPasskey()

L'implementazione alla base di queste funzioni può cambiare completamente. Puoi riscrivere la logica o sostituire la libreria. Il resto della tua app non noterà alcuna differenza.

Questo risolve il più grande mal di testa durante gli aggiornamenti. Di solito, ti preoccupi di correggere un bug e, allo stesso tempo, di rompere la tua app. Con 0deps, l'API pubblica rimane identica. La tua applicazione continua a funzionare senza modifiche al codice.

Isoli gli strumenti esterni dietro degli adapter interni. Se una libreria dovesse smettere di esistere domani, dovrai aggiornare solo l'adapter. Il resto del tuo sistema rimarrà al sicuro.

0deps non odia l'open source. Vuole usare l'open source in modo più sicuro. Invece di installazioni dinamiche, tratti le librerie come componenti integrati. Le sottoponi ad audit. Le gestisci con il versionamento. Le incapsuli.

Il software vive per decenni. Le librerie e i framework muoiono. 0deps garantisce che la tua applicazione continui a funzionare attraverso tutti questi cambiamenti.

Fonte: https://dev.to/fullagenticstack/movimiento-0deps-dependencias-locales-contratos-inmutables-y-seguridad-por-diseno-1a6o

Comunità di apprendimento opzionale: https://t.me/GyaanSetuAi