Bærbar applikation - Portable application

Image
Et USB-drev kan bære bærbare applikationer

En bærbar applikation ( bærbar app ), undertiden også kaldet standalone , er et program designet til at læse og skrive dens konfigurationsindstillinger i en tilgængelig mappe på computeren, normalt i den mappe, hvor den bærbare applikation kan findes. Dette gør det lettere at overføre programmet med brugerens præferencer og data mellem forskellige computere. Et program, der ikke har nogen konfigurationsindstillinger, kan også være en bærbar applikation.

Bærbare applikationer kan gemmes på ethvert lagringsmedie , herunder intern lagerenhed , en fil aktie , sky opbevaring eller ekstern lagring såsom USB-drev og disketter -storing sine programfiler og enhver konfigurationsoplysninger og data på lagringsmediet alene. Hvis der ikke kræves nogen konfigurationsoplysninger, kan et bærbart program køres fra skrivebeskyttet lager såsom CD-ROM'er og DVD-ROM'er . Nogle applikationer er tilgængelige i både installerbare og bærbare versioner.

Nogle applikationer, der ikke er bærbare som standard, understøtter valgfri bærbarhed gennem andre mekanismer, hvor de mest almindelige er kommandolinjeargumenter . Eksempler kan omfatte /portablesimpelthen at instruere programmet om at opføre sig som et bærbart program eller --cfg=/path/inifileat angive konfigurationsfilens placering.

Som enhver applikation skal bærbare applikationer være kompatible med computersystemets hardware og operativsystem .

Afhængigt af operativsystemet er bærbarhed mere eller mindre kompleks at implementere; til operativsystemer som AmigaOS er alle applikationer pr. definition bærbare.

Bærbare Windows-applikationer

En bærbar applikation efterlader ikke sine filer eller indstillinger på værtscomputeren eller ændrer det eksisterende system og dets konfiguration. Applikationen skriver ikke til Windows-registreringsdatabasen eller gemmer dens konfigurationsfiler (såsom en INI-fil ) i brugerens profil . i stedet gemmer den konfigurationsfiler i den bærbare mappe. Et andet krav, da filstier ofte vil være forskellige på skift af computere på grund af variation i drevbogstavstildelinger , er behovet for applikationer til at gemme dem i et relativt format. Mens nogle applikationer har muligheder for at understøtte denne adfærd, er mange programmer ikke designet til at gøre dette. En almindelig teknik til sådanne programmer er brugen af ​​et startprogram til at kopiere nødvendige indstillinger og filer til værtscomputeren, når applikationen starter, og flytte dem tilbage til programmets bibliotek, når den lukkes.

En alternativ strategi til at opnå applikationsportabilitet i Windows uden at kræve ændringer i applikationskildekoden er applikationsvirtualisering : En applikation "sekventeres" eller "pakkes" mod et runtime-lag, der gennemsigtigt opfanger dets filsystem og registreringsdatabaseopkald og derefter omdirigerer disse til andre vedvarende opbevaring uden applikationens kendskab. Denne tilgang efterlader selve applikationen uændret, men alligevel bærbar.

Den samme tilgang bruges til individuelle applikationskomponenter: runtime-biblioteker , COM- komponenter eller ActiveX , ikke kun for hele applikationen. Som et resultat, når individuelle komponenter portes på en sådan måde, er de i stand til at blive: integreret i originale bærbare applikationer, gentagne gange instanseret (virtuelt installeret) med forskellige konfigurationer / indstillinger på det samme operativsystem (OS) uden gensidige konflikter. Da de porterede komponenter ikke påvirker de OS-beskyttede enheder (registreringsdatabase og filer), kræver komponenterne ikke administrative rettigheder til installation og styring.

Microsoft så behovet for et applikationsspecifikt register til sit Windows-operativsystem så langt tilbage som i 2005. Til sidst indarbejdede det noget af denne teknologi ved hjælp af ovennævnte teknikker via sin Application Compatibility Database ved hjælp af Detours-kodebiblioteket i Windows XP. Det gjorde ikke nogen af ​​denne teknologi tilgængelig via systemets API'er .

Bærbarhed på Linux og Unix-lignende systemer

Programmer, der er skrevet med en Unix-lignende base i tankerne, antager ofte ikke antagelser. Mens mange Windows-programmer antage at brugeren er en administrator -noget meget udbredt i de dage af Windows 95 / 98 / ME (og til en vis grad i Windows XP / 2000 , men ikke i Windows Vista eller Windows 7 ) -such hurtigt ville resultere i "Tilladelse nægtet" -fejl i Unix-lignende miljøer, da brugerne vil være i en privilegeret tilstand meget oftere. Programmer er derfor generelt designet til at bruge HOME miljøvariablen til at gemme indstillinger (f.eks. $HOME/.w3mTil w3m- browseren). Den dynamiske linker giver en miljøvariabel, LD_LIBRARY_PATHsom programmer kan bruge til at indlæse biblioteker fra ikke-standardmapper. Forudsat at det /mntindeholder de bærbare programmer og konfigurationen, kan en kommandolinje se ud som:

HOME=/mnt/home/user LD_LIBRARY_PATH=/mnt/usr/lib /mnt/usr/bin/w3m www.example.com

En Linux-applikation uden behov for en brugerinteraktion (f.eks. Tilpasning af et script eller en miljøvariabel) på forskellige bibliotekstier kan opnås med GCC Linker- indstillingen, $ORIGINsom tillader en relativ bibliotekssøgningssti.

Ikke alle programmer respekterer dette - nogle ignorerer $ HOME fuldstændigt og foretager i stedet en brugeropslag for /etc/passwdat finde hjemmekataloget, hvilket forhindrer bærbarhed.

Der er også cross-distro pakkeformater, der ikke kræver administratorrettigheder for at køre, som Autopackage , klik (nu kaldet AppImage) eller CDE, men som kun fik begrænset accept og support i Linux-samfundet i 2000'erne. Omkring 2015 ideen om bærbare og distro uafhængig pakning til Linux økosystem fik mere trækkraft, når Linus Torvalds drøftede dette emne på DebConf 2014 og godkendt senere AppImage for hans dykke log ansøgning Subsurface . For eksempel fulgte MuseScore og Krita i 2016 og begyndte at bruge AppImage builds til implementering af software. RedHat udgav i 2016 Flatpak- systemet, som er en efterfølger af Alexander Larssons glick- projekt, der blev inspireret af klik (nu AppImage). Tilsvarende udgav Canonical i 2016 Snap-pakker til Ubuntu og mange andre Linux-distroer.

Mange Mac-applikationer, der kan installeres ved at trække og slippe, er i sagens natur bærbare som Mac-applikationsbundter. Eksempler inkluderer Mozilla Firefox , Skype og Google Chrome, som ikke kræver administratoradgang og ikke behøver at placeres i et centralt, begrænset område. Applikationer placeret i /Users/username/Applications( ~/Applications) registreres med macOS LaunchServices på samme måde som applikationer placeret i /Applicationshovedmappen. Højreklik på en fil i Finder og derefter vælge "Åbn med ..." viser f.eks. Applikationer, der er tilgængelige fra både / Applications og ~ / Applications. Udviklere kan oprette Mac-produktinstallatører, der giver brugeren mulighed for at udføre en hjemmekataloginstallation, der er mærket "Installer kun for mig" i brugergrænsefladen til installationsprogrammet. En sådan installation udføres som bruger.

Se også

Referencer