Canonical annoncerede omarbejdningen af ​​Snapcraft 

Canonical afsløret for nylig dine planer, du har for en næste større revision af Snapcraft-værktøjssættet, som bruges til at generere, distribuere og opdatere det populære Snap-pakkeformat.

Det skal bemærkes, at den nuværende Snapcraft-kodebase er erklæret for arvet og vil blive anvendt, når det er nødvendigt bruge gamle teknologier.

Det nævner han i sin annonce fra de drastiske ændringer som er planlagt til at blive udført, og hvoraf nogle af dem det allerede er i gang, vil ikke påvirke den aktuelle brugsmodel, da Ubuntu Core 18 og 20-relaterede projekter vil fortsætte med at bruge den gamle monolitiske Snapcraft-model.

Derudover nævner de, at den nye Snapcraft modulære model har planlagt, at den skal begynde at blive anvendt fra Ubuntu Core 22-grenen.

I virkeligheden er tingene mere komplekse og har en tendens til at blive mere komplekse som tiden går. I de sidste seks år har Snapcraft-teamet arbejdet på at gøre deres kerneprodukt modulopbygget, effektivt og nyttigt for Snap-udviklere, udvide dets funktionalitet og introducere nye muligheder over tid. På en måde er det et komplet produkt og tjener sit formål godt. Men der er måder at gøre tingene endnu bedre på. Denne artikel ser på fremtiden for Snapcraft.

Hvad angår årsagerne til, at det er meningen, at det skal erstatte den gamle Snapcraft, så er det, fordi se ønsker at tilbyde en ny, mere kompakt og modulær mulighed hvilket vil gøre det nemmere for udviklere at skabe Snap-pakker, og tilføjer hertil, at de også én gang for alle vil fjerne besværet med at skabe bærbare pakker, der fungerer på alle distributioner.

Grundlaget for det nye Snapcraft er Craft Parts mekanismen, det nævnes, at udover at tillade samling af pakker, vil det også være i stand til at modtage data fra forskellige kilder, behandle dem på forskellige måder og danne et hierarki af mapper i FS, velegnet til implementering af pakker. .

Craft Parts involverer brugen af ​​bærbare komponenter i projektet, som kan downloades, samles og installeres uafhængigt.

Grundkonceptet drejer sig om at opdele Snapcraft i mindre, endnu mere modulære og genanvendelige komponenter, der kan bruges i en række forskellige produkter. Fælles grundlaget for denne indsats er et sæt Craft Libraries, som vi allerede har diskuteret i Craft Parts blogindlægget. Teorien opfordrer til brugen af ​​en generisk delgenerator baseret på håndværks- og håndværksdeleleverandører med den ekstra funktionalitet af Snapcraft som et separat lag. Det eneste spørgsmål er, hvad er lufthastigheden for en svale? Hvor svært ville det være at designe og implementere dette?

Lige før feriesæsonen satte Snapcraft-teamet sig for at besvare det præcise spørgsmål og undersøge omfanget af modularitet i deres tilgang.

Valg af ny implementering eller gammel Snapcraft vil blive udført gennem en speciel indbygget backup-mekanisme i byggeprocessen. Derfor vil eksisterende projekter være i stand til at oprette Snap-pakker uden ændringer og vil kun kræve ændringer, når pakkerne overføres til en ny version af Ubuntu Core-systembasen.

Med hensyn til det arbejde, der allerede er blevet udført, er en meget hurtig opsummering af det delt:

  • Den nuværende Snapcraft-kodebase betragtes nu som arv.
  • Hovedindgangspunktet for denne pakke kører, når en ældre Snapcraft-sikkerhedskopi er påkrævet.
  • Legacy Snapcraft vedligeholder projektkonfigurationsdata i ordbogsform.
  • Dette blev ændret til at bruge en pydantisk model. JSON-skemaet skal også holdes adskilt.
  • En simpel prototype blev lavet ved hjælp af core22-basen (udviklingsbillede), hvilket resulterede i en øjeblikkelig installerbar pakke indeholdende en testapplikation.

Endelig hvis du er interesseret i at vide mere om det Om noten kan du tjekke den originale meddelelse i følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.