Gestione ricorsiva delle dipendenze: Più intelligente, più profonda, più sicura

Tradotto automaticamente da Deepl

Dopo il lancio della regola della versione Follow 4D, siamo entusiasti di introdurre un nuovo livello di automazione e affidabilità in 4D 20 R10: la risoluzione delle dipendenze completamente ricorsiva.

Sia che stiate aggiungendo, aggiornando o rimuovendo un componente, il Dependency Manager agisce ora in modo ricorsivo, garantendo che ogni azione intrapresa si rifletta accuratamente nell’intero albero delle dipendenze.

Un’azione, tutte le dipendenze

Quando si aggiunge una dipendenza primaria, da GitHub o da una cartella locale, 4D:

  • Carica ricorsivamente tutte le dipendenze che richiede
  • applica i vincoli di versione definiti nel file dependencies.json.

Non c’è bisogno di preoccuparsi di pezzi mancanti o di versioni incompatibili: l’intero albero delle dipendenze viene risolto e caricato automaticamente.

Gestione ricorsiva delle versioni

Quando più componenti richiedono versioni diverse della stessa dipendenza:

  • Il Dependency Manager controlla gli intervalli richiesti e sceglie una versione che soddisfa tutti i vincoli, quando possibile.
  • Se una versione è dichiarata direttamente come dipendenza primaria, essa ha la precedenza sulle versioni richieste indirettamente.

Questo approccio mantiene l’ambiente stabile e coerente, anche quando il progetto cresce.

Un’interfaccia utente che riflette l’intera struttura

L’interfaccia delle dipendenze del progetto è stata aggiornata per evidenziare la natura ricorsiva delle dipendenze del progetto:

  • Scheda “Tutti”: Mostra un elenco piatto di tutte le dipendenze (primarie e secondarie) utilizzate nel progetto.
  • Scheda “Dichiarate”: Una nuova sezione tra “Tutti” e “Attivi” che elenca solo le dipendenze dichiarate esplicitamente in dependencies.json.
  • Le dipendenze secondarie sono chiaramente contrassegnate e quando si passa il mouse su una di esse, un tooltip rivela quali componenti la richiedono. Tutto è trasparente.

Fate un’azione – 4D si occupa di tutto il resto

Ogni modifica apportata, che sia l’aggiunta, la rimozione o l’aggiornamento di un componente, viene ora propagata ricorsivamente attraverso l’intero grafico delle dipendenze.

I vantaggi sono:

  • Caricamento automatico delle sottodipendenze necessarie
  • Risoluzione intelligente delle versioni con chiare regole di precedenza
  • Rimozione sicura con consapevolezza dell’impatto
  • Un’interfaccia utente che riflette l’effettiva struttura del progetto

PER GLI SVILUPPATORI DI COMPONENTI

Se state sviluppando i vostri componenti, vi starete chiedendo: come faccio a dichiarare le mie dipendenze? Ogni componente deve includere il proprio file dependencies.json. Questo file specifica le dipendenze necessarie al corretto funzionamento del componente, insieme ai vincoli di versione.

Questo meccanismo funziona sia con le dipendenze locali che con quelle ospitate su GitHub. Tuttavia, per una migliore portabilità e condivisione, l’uso di GitHub è considerato la prassi migliore. Quando si costruisce un componente, assicurarsi che il file dependencies.json sia incluso nel pacchetto finale. Il supporto completo di questa funzione è disponibile a partire da 4D 20 R10. Se si lavora con componenti precedenti, è necessario ricostruirli per sfruttare la risoluzione ricorsiva automatica.

Provatelo subito e sperimentate un modo più intelligente e rapido di gestire le dipendenze e di dedicare meno tempo alla risoluzione dei problemi.

David Azancot
- Product Owner di 4D per iOS - David Azancot è entrato a far parte del team 4D Product come Product Owner nel 2017. Si occupa di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo comprende anche la garanzia che le implementazioni delle funzionalità soddisfino le esigenze dei clienti.David si è laureato con un MBA in Marketing, Internet e Mobilità presso l'Istituto Leonard De Vinci e ha iniziato la sua carriera nel 2011 con una start-up mobile, successivamente acquisita da Madvertise (un gruppo di marketing mobile). Appassionato di interfacce mobili, nel 2015 è stato la scelta naturale per sviluppare formati pubblicitari interattivi per dispositivi mobili per il gruppo. Parallelamente, dal 2012 David sviluppa le proprie applicazioni per iOS e Android.