{"id":37830,"date":"2019-10-31T22:20:00","date_gmt":"2019-10-31T19:20:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/koe-chto-eshhe-pakety-prilozhenij-haiku\/"},"modified":"2019-10-31T22:20:00","modified_gmt":"2019-10-31T19:20:00","slug":"koe-chto-eshhe-pakety-prilozhenij-haiku","status":"publish","type":"post","link":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku","title":{"rendered":"Nog iets: Haiku-apppakketten?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Nog iets: Haiku-apppakketten?\" src=\"\/wp-content\/uploads\/2019\/09\/90604411e96ca7ef7b2d7dccac374d4e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><strong>TL;DR<\/strong>: kan Haiku de juiste ondersteuning voor applicatiepakketten krijgen, zoals applicatiecatalogi (zoals <code>.app<\/code> op Mac) en\/of applicatie-templates (Linux <code>AppImage<\/code>)? Ik denk dat dit een waardevolle aanvulling zou zijn, die gemakkelijker te implementeren is dan in andere systemen, omdat het meeste van de infrastructuur al aanwezig is.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/461141\/\">Een week geleden<\/a><\/noindex> ontdekte ik Haiku, een verrassend goed systeem. Aangezien ik al lange tijd ge\u00efnteresseerd ben in catalogi en applicatie-templates (ge\u00efnspireerd door de eenvoud van Macintosh), is het niet verwonderlijk dat het idee in me opkwam\u2026<\/p>\n<p><\/p>\n<p>Voor de duidelijkheid: ik ben de maker en auteur van AppImage, een distributieformaat voor Linux-applicaties, gericht op de eenvoud van Mac en dat volledige controle biedt aan applicatieontwikkelaars en eindgebruikers (wil je meer weten - zie <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/AppImage\">wiki<\/a><\/noindex> en <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.appimage.org\/\">documentatie<\/a><\/noindex>).<\/p>\n<p><\/p>\n<h2 id=\"chto-esli-my-sdelaem-appimage-dlya-haiku\">Wat als we AppImage voor Haiku maken?<\/h2>\n<p><\/p>\n<p>Laten we even theoretisch overleggen: wat moet er gedaan worden om <noindex><a rel=\"nofollow\" href=\"https:\/\/appimage.org\/\">AppImage<\/a><\/noindex>, of iets dergelijks, op Haiku te krijgen? Het is niet nodig om meteen iets te cre\u00ebren, want het systeem dat al in Haiku bestaat, werkt verbazingwekkend goed, terwijl het denkexperiment een goede uitkomst zou zijn. Bovendien toont het de verfijning van Haiku aan vergeleken met Linux-dektopomgevingen, waar dit soort dingen vreselijk moeilijk zijn (ik heb het recht om dit te zeggen: ik worstel al 10 jaar met debugging).<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Nog iets: Haiku-apppakketten?\" src=\"\/wp-content\/uploads\/2019\/09\/f72209cb7c70702e614729f3b250c1b8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Op Macintosh System 1 was elke applicatie een apart bestand, &#171;beheerd&#187; in Finder. Met AppImage probeer ik hetzelfde gebruikerservaring opnieuw te cre\u00ebren op Linux.<\/em><\/p>\n<p><\/p>\n<p>Ten eerste, wat is AppImage? Het is een systeem voor het uitbrengen van applicaties van derden (zoals <noindex><a rel=\"nofollow\" href=\"https:\/\/ultimaker.com\/software\/ultimaker-cura\">Ultimaker Cura<\/a><\/noindex>), waarmee applicaties kunnen worden uitgebracht wanneer en hoe ze willen: je hoeft niet op de hoogte te zijn van de bijzonderheden van verschillende distributies, buildbeleid of buildinfrastructuur, supportmedewerkers zijn niet nodig, en zij vertellen gebruikers niet wat ze (niet) op hun computers kunnen installeren. AppImage moet worden begrepen als iets dat lijkt op een pakket voor Mac in formaat <code>.app<\/code> binnen een schijfbeeld <code>.dmg<\/code>. Het belangrijkste verschil is dat applicaties niet worden gekopieerd, maar altijd binnen AppImage blijven, ongeveer zoals Haiku-pakketten <code>.hpkg<\/code> worden gemonteerd en nooit in de gebruikelijke zin worden ge\u00efnstalleerd.<\/p>\n<p><\/p>\n<p>AppImage heeft in meer dan 10 jaar bestaan enige aantrekkingskracht en populariteit verworven: Linus Torvalds heeft het publiekelijk goedgekeurd en veelgebruikte projecten (zoals LibreOffice, Krita, Inkscape, Scribus, ImageMagick) hebben het aangenomen als de belangrijkste manier om continue of nachtelijke builds te verspreiden, zonder de ge\u00efnstalleerde of niet-ge\u00efnstalleerde applicaties van gebruikers te verstoren. Echter, werkomgevingen en Linux-distributies blijven vaak vasthouden aan het traditionele, gecentraliseerde model van distributie dat gebaseerd is op gepaard aanbod en\/of bevorderen hun eigen commerci\u00eble business- en\/of engineeringprogramma's. <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Flatpak\">Flatpak<\/a><\/noindex> (RedHat, Fedora, GNOME) en <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Snappy_%28%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8%29\">Snappy<\/a><\/noindex> (Canonical, Ubuntu). Het gaat zelfs <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.gnome.org\/hughsie\/2019\/07\/12\/gnome-software-in-fedora-will-no-longer-support-snapd\/\">tot het belachelijke<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h3 id=\"kak-vse-rabotaet\">Hoe alles werkt<\/h3>\n<p><\/p>\n<ul>\n<li>Elke AppImage bevat 2 onderdelen: een klein dubbelklikbaar uitvoerbaar bestand in ELF-formaat (ook wel <code>runtime.c<\/code>), gevolgd door een afbeeldingsarchief van het bestandssysteem <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/SquashFS\">SquashFS<\/a><\/noindex>.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Nog iets: Haiku-apppakketten?\" src=\"\/wp-content\/uploads\/2019\/09\/c48bdc61fb08cdd9d2a2be10d4cfa5a5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<ul>\n<li>Het SquashFS-bestandssysteem bevat de payload in de vorm van de applicatie en alles wat nodig is om deze uit te voeren, wat in een helder hoofd niet als een standaardinstallatie voor elke relatief nieuwe doelsysteem (Linux-distributie) kan worden beschouwd. Het bevat ook metadata, zoals de naam van de applicatie, pictogrammen, MIME-types, en meer.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Nog iets: Haiku-apppakketten?\" src=\"\/wp-content\/uploads\/2019\/09\/57285196436aaa5468f544942b39a608.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<ul>\n<li>Bij het starten gebruikt de runtime FUSE en squashfuse om het bestandssysteem aan te mappen, waarna het een ingangspunt (de zogenaamde AppRun) binnen de aangekoppelde AppImage uitvoert.<br \/>\nHet bestandssysteem wordt ontkoppeld nadat het proces is voltooid.<\/li>\n<\/ul>\n<p><\/p>\n<p>Klinkt allemaal eenvoudig.<\/p>\n<p><\/p>\n<p>Maar deze dingen compliceren het allemaal:<\/p>\n<p><\/p>\n<ul>\n<li>Met zoveel verschillende Linux-distributies kan niets nog &#171;onder normale omstandigheden&#187; worden aangeduid als &#171;onderdeel van de standaardinstallatie voor elk vers doelplatform&#187;. We omzeilen dit probleem door het samenstellen van <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/AppImage\/pkg2appimage\/blob\/master\/excludelist\">excludelist<\/a><\/noindex>samen te stellen, die bepaalt wat in de AppImage wordt verpakt en wat ergens anders vandaan moet worden gehaald. Daarbij missen we soms het doel, hoewel alles over het algemeen prima werkt. Om deze reden raden we pakketmakers aan om AppImages op alle doelsystemen (distributies) te testen.<\/li>\n<li>Applicaties als payload moeten verplaatsbaar zijn binnen het bestandssysteem. Helaas hebben veel applicaties hardcoded absolute paden naar bijvoorbeeld resources in <code>\/usr\/share<\/code>. Dit moet op de een of andere manier worden opgelost. Daarnaast moet ofwel <code>LD_LIBRARY_PATH<\/code>worden ge\u00ebxporteerd, of <code>rpath worden gecorrigeerd.<\/code> zodat de loader de bijbehorende bibliotheken kan vinden. De eerste methode heeft zijn nadelen (die met complexe oplossingen worden omzeild), terwijl de tweede simpelweg omslachtig is.<\/li>\n<li>De grootste UX-valstrik voor gebruikers is dat ze moeten <noindex><a rel=\"nofollow\" href=\"https:\/\/discourse.appimage.org\/t\/how-to-run-an-appimage\/80\">de uitvoerbare bit<\/a><\/noindex> het AppImage-bestand na het downloaden. Of je het gelooft of niet, maar voor sommige mensen is dat een echte barri\u00e8re. De noodzaak om de uitvoerbaarheid te installeren is zwaar, zelfs voor ervaren gebruikers. Als omweg hebben we een kleine service voorgesteld die AppImage-bestanden controleert en de uitvoerbaarheid instelt. In pure vorm is dit niet de beste oplossing, aangezien het niet &#171;uit de doos&#187; zal werken. Linux-distributies leveren deze service niet, waardoor gebruikers &#171;uit de doos&#187; problemen ondervinden.<\/li>\n<li>Linux-gebruikers verwachten dat een nieuwe applicatie een pictogram in het startmenu heeft. Je kan tegen het systeem niet zeggen: &#171;Kijk, daar is een nieuwe applicatie, laten we aan de slag gaan&#187;. In plaats daarvan, volgens de XDG-specificatie, moet je het bestand kopi\u00ebren <code>.desktop<\/code> op de juiste plaats in <code>\/usr<\/code> voor een systeeminstallatie, of in <code>$HOME<\/code> voor persoonlijk gebruik. Bepaalde pictogramgroottes moeten, volgens de XDG-specificatie, op specifieke plaatsen in <code>usr<\/code> of <code>$HOME<\/code>worden geplaatst, waarna opdrachten in de werkomgeving moeten worden uitgevoerd om de pictogramcache bij te werken, of je moet hopen dat de desktopomgeving het automatisch zal ontdekken. Hetzelfde geldt voor MIME-types. Als omweg wordt voorgesteld om dezelfde service te gebruiken, die naast het instellen van de uitvoerbaarheid ook, indien pictogrammen en dergelijke in de AppImage aanwezig zijn, deze uit de AppImage op de juiste plaatsen volgens XDG zal kopi\u00ebren. Bij verwijdering of verplaatsing zal de service vermoedelijk alles opruimen. Natuurlijk zijn er verschillen in het gedrag van elke desktopomgeving, in de indelingen van grafische bestanden, hun afmetingen, opslaglocaties en manieren om caches bij te werken, wat het probleem veroorzaakt. Kortom, deze methode is een oplossing.<\/li>\n<li>Als het bovenstaande niet genoeg is, is er in de bestandsbeheerder nog steeds geen AppImage-pictogram. In de wereld van Linux is er nog steeds geen beslissing genomen over de implementatie van elficon (ondanks de <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.kubuntu.org\/ELFIconSpec\">discussie<\/a><\/noindex> en <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pld-linux\/elficon\">implementatie<\/a><\/noindex>), dus het is onmogelijk om een pictogram direct in de applicatie in te sluiten. Hierdoor hebben applicaties in de bestandsbeheerder geen eigen pictogrammen (ongeacht of het AppImage of iets anders is), ze zijn alleen beschikbaar in het startmenu. Als omweg gebruiken we miniaturen \u2014 een mechanisme dat oorspronkelijk is ontwikkeld zodat desktopmanagers verkleinde afbeeldingen kunnen tonen als voorvertoning van grafische bestanden als hun pictogrammen. Daarom fungeert de service voor het instellen van de uitvoerbaarheid ook als &#171;miniaturizer&#187;, door miniaturen van pictogrammen te maken en op de juiste plaatsen op te slaan. <code>\/usr<\/code> en <code>$HOME<\/code>. Deze service zorgt ook voor opruiming wanneer AppImage wordt verwijderd of verplaatst. Aangezien elke desktopomgeving zich net iets anders gedraagt, bijvoorbeeld in welke formaten pictogrammen worden geaccepteerd, in welke afmetingen of op welke locaties, is dit allemaal behoorlijk pijnlijk.<\/li>\n<li>De applicatie crasht gewoon tijdens uitvoering als er fouten optreden (bijvoorbeeld als er een bibliotheek is die niet deel uitmaakt van het basissysteem en niet wordt geleverd met AppImage), en niemand zegt de gebruiker in de GUI wat er precies aan de hand is. We zijn dit begonnen te omzeilen door <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.gnome.org\/notification-spec\/\">meldingen<\/a><\/noindex> op het bureaublad, wat betekent dat we fouten uit de opdrachtregel moeten opvangen, ze moeten omzetten in begrijpelijke berichten voor de gebruiker, die dan ook nog op het bureaublad moeten worden weergegeven. En natuurlijk behandelt elke werkomgeving dit een beetje anders.<\/li>\n<li>Op dit moment (september 2019, \u2014 opmerking van de vertaler) heb ik geen gemakkelijke manier gevonden om het systeem te vertellen dat het bestand <code>1.png<\/code> moet worden geopend met Krita, en <code>2.png<\/code> met GIMP.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Nog iets: Haiku-apppakketten?\" src=\"\/wp-content\/uploads\/2019\/09\/347e54772a7312e27c83fef68be98e66.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>De opslagplaats voor cross-desktop specificaties die worden gebruikt in <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/GNOME\">GNOME<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/KDE\">KDE<\/a><\/noindex> en <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Xfce\">Xfce<\/a><\/noindex> is freedesktop.org <\/em><\/p>\n<p><\/p>\n<p>Het bereiken van een niveau van verfijning, dat diep verweven is in de Haiku-werkomgeving, is moeilijk, om niet te zeggen 'onmogelijk', vanwege de specificaties <noindex><a rel=\"nofollow\" href=\"https:\/\/www.freedesktop.org\/wiki\/\">XDG van freedesktop.org<\/a><\/noindex> voor cross-desktop, evenals de implementaties van desktopbeheerders op basis van deze specificaties. Een voorbeeld hiervan is \u00e9\u00e9n systeemwijde pictogram voor Firefox: het lijkt erop dat de auteurs van XDG niet aan de gedachte kwamen dat een gebruiker meerdere versies van dezelfde applicatie kan hebben ge\u00efnstalleerd.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Nog iets: Haiku-apppakketten?\" src=\"\/wp-content\/uploads\/2019\/09\/d9743766c183f78e68a2669b09aa48d9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Pictogrammen van verschillende versies van Firefox<\/em><\/p>\n<p><\/p>\n<p>Ik vroeg me af wat de wereld van Linux zou kunnen leren van Mac OS X om te voorkomen dat er fouten optreden bij systeemintegratie. Als je tijd hebt en hierop gefocust bent, lees dan zeker wat Arno Gurdol, een van de eerste ingenieurs van Mac OS X, te zeggen had:<\/p>\n<p><\/p>\n<blockquote><p>We wanted the installation of the application to be as simple as dragging the application icon from somewhere (server, external drive) onto your computer's disk. To achieve this, all information is stored in the application package, including icons, version, file type being handled, and the type of URL scheme that the system needs to know to process the application. This also includes information for 'centralized storage' in the Icon Services and Launch Services database. To support the application's performance, it is 'detected' in several 'well-known' locations: in the system and user Applications directory, as well as automatically in some other locations if the user has navigated to a directory containing the application in Finder. In practice, this has worked very well.<\/p><\/blockquote>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/qQsnqWJ8D2c\">https:\/\/youtu.be\/qQsnqWJ8D2c<\/a><\/noindex><br \/>\n<em>Apple WWDC 2000 sessie 144 \u2014 Mac OS X: applicaties verpakken en documenten afdrukken.<\/em><\/p>\n<p><\/p>\n<p>Er is niets dergelijks in deze infrastructuur op Linux-werkomgevingen, dus zoeken we naar alternatieve manieren om de structurele beperkingen in het AppImage-project te omzeilen.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Nog iets: Haiku-apppakketten?\" src=\"\/wp-content\/uploads\/2019\/09\/a2550cb690d92d1aeb4fccff7e7fa57b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Is Haiku echt op weg om te helpen?<\/em><\/p>\n<p><\/p>\n<p>En bovendien: Linux-platforms dienen als basis voor werkomgevingen, zijn doorgaans zo slecht gedefinieerd dat veel dingen die heel eenvoudig zijn in een samenhangend systeem met een volledige stack, tekortschieten door de fragmentatie en complexiteit in Linux. Ik heb een hele lezing gewijd aan de kwesties die samenhangen met het Linux-platform voor werkomgevingen (ervaren ontwikkelaars bevestigden: dit zal nog heel lang zo blijven).<\/p>\n<p>\n<center><div class=\"youtube-placeholder\" data-id=\"SQ8OXf7o6UA\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/SQ8OXf7o6UA\/hqdefault.jpg\" alt=\"Video afspelen\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<p><em>Mijn presentatie over problemen met Linux-werkomgevingen in 2018<\/em><\/p>\n<p><\/p>\n<p>Zelfs Linus Torvalds heeft erkend dat de fragmentatie de reden is waarom het idee van werkomgevingen niet is gelukt.<\/p>\n<p><\/p>\n<p>Wat leuk om Haiku te zien!<\/p>\n<p><\/p>\n<h2 id=\"s-haiku-vse-stanovitsya-potryasayusche-prostym\">Met Haiku wordt alles ongelooflijk eenvoudig<\/h2>\n<p><\/p>\n<p>Although the naive approach to 'porting' AppImage to Haiku involves simply trying to build (mainly runtime.c and service) its components (which might even be possible!), it won't bring much benefit for Haiku. Because most of these issues are actually resolved in Haiku and are conceptually justified. Haiku provides exactly the building blocks for system infrastructure that I have long sought in working environments on Linux and couldn't believe they weren't there. Namely:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Nog iets: Haiku-apppakketten?\" src=\"\/wp-content\/uploads\/2019\/09\/29f583bd24bd06cd67311a5087243639.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Of je het nu gelooft of niet, veel Linux-gebruikers kunnen dit niet overwinnen. Op Haiku gebeurt alles automatisch!<\/em><\/p>\n<p><\/p>\n<ul>\n<li>ELF-bestanden zonder uitvoerbaarheid-bit krijgen dit automatisch bij een dubbele klik in de bestandsbeheerder.<\/li>\n<li>Toepassingen kunnen ingebouwde bronnen hebben, zoals pictogrammen, die in de bestandsbeheerder worden weergegeven. Je hoeft geen stapel afbeeldingen te kopi\u00ebren naar speciale pictogramdirectories, en dus hoef je ze ook niet op te schonen na het verwijderen of verplaatsen van de toepassing.<\/li>\n<li>Er is een database voor het koppelen van toepassingen aan documenten, je hoeft geen bestanden te kopi\u00ebren hiervoor.<\/li>\n<li>In de lib\/ directory worden bibliotheken standaard gezocht naast het uitvoerbare bestand.<\/li>\n<li>Er zijn geen talrijke distributies en desktopomgevingen, alles wat werkt, werkt overal.<\/li>\n<li>Er is geen aparte module voor het draaien die verschilt van de Applications-directory.<\/li>\n<li>In applicaties zijn er geen ingebouwde absolute paden naar hun bronnen, er zijn speciale functies om de locatie tijdens runtime te bepalen.<\/li>\n<li>Het idee van gecomprimeerde bestandssysteemafbeeldingen is ge\u00efmplementeerd: dit is elk hpkg-pakket. Ze worden allemaal door de kernel gemonteerd.<\/li>\n<li>Elk bestand wordt geopend door de toepassing die het heeft aangemaakt, tenzij expliciet anders aangegeven. Hoe geweldig is dat!<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Nog iets: Haiku-apppakketten?\" src=\"\/wp-content\/uploads\/2019\/09\/335fedea2cc70e9d9e0c8f3dbcd41560.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Two png files. Note the different icons indicating that they will open with different applications when double-clicked. Also notice the dropdown menu 'Open with:', where the user can select a specific application. How simple!<\/em><\/p>\n<p><\/p>\n<p>Het lijkt erop dat veel van de hulptroepen en omwegen die nodig zijn voor AppImage op Linux overbodig worden op Haiku, dat zijn basis eenvoud en verfijning heeft, waardoor het aan de meeste van onze behoeften voldoet.<\/p>\n<p><\/p>\n<h2 id=\"nuzhny-li-haiku-pakety-prilozheniy-v-konce-koncov\">Zijn Haiku-applicatiepakketten uiteindelijk nodig?<\/h2>\n<p><\/p>\n<p>Dit leidt tot een grote vraag. Als het gemakkelijker zou zijn om een systeem zoals AppImage op Haiku te cre\u00ebren dan op Linux, zou het dan de moeite waard zijn om dit te doen? Of heeft Haiku met zijn hpkg-pakketbeheersysteem eigenlijk de noodzaak voor een dergelijke ontwikkeling ge\u00eblimineerd? Laten we de motivatie voor het bestaan van AppImages bekijken voor een antwoord.<\/p>\n<p><\/p>\n<h3 id=\"vzglyad-so-storony-polzovatelya\">Perspectief van de gebruiker<\/h3>\n<p><\/p>\n<p>Laten we kijken naar onze eindgebruiker:<\/p>\n<p><\/p>\n<ul>\n<li>Ik wil een applicatie installeren zonder dat er om een beheerderswachtwoord (root) wordt gevraagd. <em>Op Haiku bestaat het concept van een beheerder niet, de gebruiker heeft volledige controle, omdat dit een persoonlijk systeem is!<\/em> (In principe is het ook mogelijk om dit in een meervoudig gebruikersscenario te zien, ik hoop dat de ontwikkelaars de eenvoud behouden)<\/li>\n<li>I want to get the latest and greatest versions of applications, not wait for them to appear in my distribution (which most often means 'never', at least unless the whole operating system is updated). <em>On Haiku, this is 'solved' through floating releases. This means there is an option to get the latest and best versions of applications, but you have to constantly update the rest of the system, effectively turning it into a 'moving target'.<\/em>.<\/li>\n<li>Ik wil meerdere versies van dezelfde applicatie naast elkaar hebben, omdat ik niet kan weten wat er is gebroken in de laatste versie, of bijvoorbeeld, als webontwikkelaar moet ik mijn werk testen in verschillende versies van de browser. <em>In Haiku is het eerste probleem opgelost, maar het tweede niet. Updates kunnen worden teruggedraaid, maar alleen voor het gehele systeem; het is (voor zover ik weet) niet mogelijk om bijvoorbeeld meerdere versies van WebPositive of LibreOffice gelijktijdig uit te voeren.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p>Een van de ontwikkelaars schrijft:<\/p>\n<p><\/p>\n<blockquote><p>Essentie van de rechtvaardiging: het gebruiksscenario is zo zeldzaam dat optimalisatie daarvoor niet logisch is; het behandelen als een speciaal geval in HaikuPorts lijkt meer dan acceptabel.<\/p><\/blockquote>\n<p><\/p>\n<ul>\n<li>Ik wil applicaties opslaan waar ik wil, en niet op de opstartschijf. Vaak heb ik niet genoeg ruimte op de schijven, dus ik moet een externe schijf of netwerkmap aansluiten voor het opslaan van applicaties (alle versies die ik heb gedownload). Als ik zo'n schijf aansluit, moeten de applicaties met een dubbelklikken worden gestart. <em>Haiku bewaart oude versies van pakketten, maar ik weet niet hoe ik ze naar een externe schijf kan verplaatsen en hoe ik vervolgens applicaties daar vanaf kan aanroepen.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p>Reactie van de ontwikkelaar:<\/p>\n<p><\/p>\n<blockquote><p>Technisch gezien is dit al mogelijk met het mount-commando. Natuurlijk zullen we hier een GUI voor maken zodra er genoeg ge\u00efnteresseerde gebruikers zijn.<\/p><\/blockquote>\n<p><\/p>\n<ul>\n<li>Ik heb geen miljoenen bestanden verspreid over het bestandssysteem, waarmee ik handmatig niets kan doen. Ik wil \u00e9\u00e9n bestand per applicatie dat ik gemakkelijk kan downloaden, verplaatsen of verwijderen. <em>Op Haiku is dit probleem opgelost met pakketten <code>.hpkg<\/code>, die bijvoorbeeld Python uit duizenden bestanden in \u00e9\u00e9n bestand verplaatsen. Maar als er bijvoorbeeld Scribus is dat Python gebruikt, dan moet ik met minimaal twee bestanden omgaan. En ik moet ervoor zorgen dat ik de werkende versies van beide bestanden behouden.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Nog iets: Haiku-apppakketten?\" src=\"\/wp-content\/uploads\/2019\/09\/94ccb9d0b693b7411946b432f3d2f347.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Talrijke versies van AppImages, die naast elkaar draaien op \u00e9\u00e9n Linux<\/em><\/p>\n<p><\/p>\n<h3 id=\"vzglyad-so-storony-razrabotchika-prilozheniy\">Een kijk vanuit het perspectief van de applicatieontwikkelaar<\/h3>\n<p><\/p>\n<p>Laten we eens kijken vanuit het perspectief van de applicatieontwikkelaar:<\/p>\n<p><\/p>\n<ul>\n<li>Ik wil de gebruikerservaring volledig beheren. Ik wil niet afhankelijk zijn van het besturingssysteem dat me vertelt wanneer en hoe ik applicaties moet uitbrengen. <em>On Haiku, developers can work with their own hpkg repositories, but this means that users will need to set them up manually, which makes this idea 'less appealing'.<\/em><\/li>\n<li>Ik heb een downloadpagina op mijn website waar ik <code>.exe<\/code> voor Windows, <code>.dmg<\/code> voor Mac en <code>.AppImage<\/code> voor Linux verspreid. Misschien wil ik toegang tot deze pagina monetiseren; alles is mogelijk? Wat moet ik daar voor Haiku plaatsen? <em>Een enkel bestand is voldoende <code>.hpkg<\/code> met alleen afhankelijkheden van HaikuPorts<\/em><\/li>\n<li>Mijn software heeft bepaalde versies van andere software nodig. Bijvoorbeeld, het is bekend dat Krita een aangepaste versie van Qt nodig heeft, of Qt die precies is afgesteld op een specifieke versie van Krita, althans totdat de correcties weer terug in Qt komen. <em>Je kunt je eigen Qt voor de applicatie in het pakket verpakken <code>.hpkg<\/code>, maar dit wordt waarschijnlijk niet aangemoedigd.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Nog iets: Haiku-apppakketten?\" src=\"\/wp-content\/uploads\/2019\/09\/7dcb146d08ebd570899d0d73b6517faa.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Een gewone downloadpagina voor applicaties. Wat moet hier voor Haiku worden geplaatst?<\/em><\/p>\n<p><\/p>\n<p>Zullen sets (die bestaan in de vorm van applicatiecatalogi, zoals AppDir of <code>.app<\/code> in de stijl van Apple) en\/of beelden (in de vorm van sterk gemodificeerde AppImages of <code>.dmg<\/code> Is it useful to have applications from Apple as an addition to the Haiku working environment? Or will it dilute the overall picture and lead to fragmentation, thus adding complexity? I\u2019m torn: on one hand, the beauty and sophistication of Haiku are based on the fact that there is usually one way to do something, rather than many. On the other hand, most of the infrastructure for catalogs and\/or application packages is already in place, so the system calls for the remaining few percent to fall into place.<\/p>\n<p><\/p>\n<p>According to the developer <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/u\/f103a52f4b96?source=post_page-----1803a11f9748----------------------\">mr. waddlesplash<\/a><\/noindex><\/p>\n<p><\/p>\n<blockquote><p>On Linux they (<em>catalogs and application packages \u2014 translator's note<\/em>) are most likely a technical solution to systemic problems. At Haiku, we prefer to simply address systemic issues.<\/p><\/blockquote>\n<p><\/p>\n<h2 id=\"a-vy-chto-dumaete\">What do you think?<\/h2>\n<p><\/p>\n<h3 id=\"prezhde-chem-otvetite\">Before you answer...<\/h3>\n<p><\/p>\n<p>Wait, let's do a quick reality check: in fact <em>application catalogs<\/em> \u2014 are already part of Haiku:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Nog iets: Haiku-apppakketten?\" src=\"\/wp-content\/uploads\/2019\/09\/b9d3c8ce130d256bc645bd2ee28905a7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Application catalogs already exist on Haiku but are currently not supported in the file manager<\/em><\/p>\n<p><\/p>\n<p>Ze worden gewoon niet zo goed ondersteund als bijvoorbeeld in de Macintosh Finder. Hoe geweldig zou het zijn als de QtCreator-directory in de linkerbovenhoek de naam en het pictogram 'QtCreator' had, waarmee de applicatie kan worden gestart met een dubbelklik?<\/p>\n<p><\/p>\n<p>Earlier I already <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@probonopd\/historic-software-can-your-package-manager-handle-this-86563a46f8b5\">asked<\/a><\/noindex>:<\/p>\n<p><\/p>\n<blockquote><p>Are you sure you will run your decade-old applications today when all the app stores and distribution repositories forget about them and their dependencies? Are you sure you will still be able to access your current work in the future?<\/p><\/blockquote>\n<p>Is there already an answer from Haiku, or can catalogs and application packages help here? I think they can.<\/p>\n<p><\/p>\n<p>According to mr. waddlesplash:<\/p>\n<p><\/p>\n<blockquote><p>Ja, we hebben een antwoord op de vraag: we zullen deze applicaties gewoon zolang ondersteunen als nodig is, totdat iemand de bestandformaten correct kan lezen of \u00e9\u00e9n-op-\u00e9\u00e9n functionaliteit kan bieden. Onze toewijding om de BeOS R5-applicaties op Haiku te laten draaien, is daar het bewijs van\u2026<\/p><\/blockquote>\n<p>That\u2019s for sure!<\/p>\n<p><\/p>\n<h3 id=\"kakoy-plan-deystviy-dolzhna-prinyat-haiku\">What course of action should Haiku take?<\/h3>\n<p><\/p>\n<p>I can envision a peaceful coexistence of hpkg, catalogs, and application images:<\/p>\n<p><\/p>\n<ul>\n<li>System software uses <code>.hpkg<\/code><\/li>\n<li>For the most commonly used software (especially for those that need to schedule floating releases) it uses <code>.hpkg<\/code> (about 80% of all cases)<\/li>\n<li>Some, installed through <code>.hpkg<\/code>, applicaties zullen profiteren van de overstap naar infrastructuur met applicatiecatalogi (bijvoorbeeld QtCreator): ze zullen worden verspreid in de vorm van <code>.hpkg<\/code>, zoals altijd.<\/li>\n<\/ul>\n<p><\/p>\n<p>mr. waddlesplash schrijft:<\/p>\n<p><\/p>\n<blockquote><p>Als het enige dat nodig is, het bekijken van applicaties is in <code>\/system\/apps<\/code>, dan moeten de catalogi in de Deskbar beheersbaarder worden gemaakt voor gebruikers, omdat <code>\/system\/apps<\/code> dit niet is bedoeld zodat gebruikers het regelmatig openen en bekijken (in tegenstelling tot MacOS). Voor dergelijke situaties heeft Haiku een andere paradigma, maar dit alternatief is in theorie acceptabel.<\/p><\/blockquote>\n<p><\/p>\n<ul>\n<li>Haiku krijgt infrastructuur voor het draaien van applicatie-afbeeldingen, nachtelijke, continue en testversies van software, evenals voor situaties waarin de gebruiker het wil 'bevriezen in de tijd', voor priv\u00e9 en interne software, en andere speciale gebruiksgevallen (ongeveer 20% van alle). Deze afbeeldingen bevatten de benodigde bestanden om de applicatie te draaien. <code>.hpkg<\/code>, gemonteerd door het systeem, en worden na het be\u00ebindigen van de applicatie weer gedemonteerd. (Misschien zou de bestandsbeheerder bestanden kunnen plaatsen <code>.hpkg<\/code> in applicatiebeelden, automatisch of op verzoek van de gebruiker \u2014 net zoals wanneer je een applicatie naar een netwerfcatalogus of externe schijf sleept. Dat is gewoon muziek! Of beter gezegd po\u00ebzie \u2014 haiku.) Aan de andere kant kan de gebruiker willen dat de inhoud van het beeld als bestanden wordt ge\u00efnstalleerd,<code>.hpkg<\/code>, waarna deze worden bijgewerkt en verwerkt zoals als ze via HaikuDepot waren ge\u00efnstalleerd\u2026 We moeten brainstormen).<\/li>\n<\/ul>\n<p><\/p>\n<p>Citaat van mr. waddlesplash:<\/p>\n<p><\/p>\n<blockquote><p>Het draaien van applicaties vanaf externe schijven of netwerklokalen kan potentieel nuttig zijn. En het toevoegen van de mogelijkheid om meer 'zones' voor pkgman in te stellen, zou zeker een goede functie zijn.<\/p><\/blockquote>\n<p>Een dergelijk systeem zal profiteren van hpkg, catalogi en applicatiebeelden. Ze zijn goed afzonderlijk, maar samen zullen ze onverslaanbaar zijn.<\/p>\n<p><\/p>\n<h2 id=\"zaklyuchenie\">Conclusie<\/h2>\n<p><\/p>\n<p>Voor Haiku is er een infrastructuur die een eenvoudige en verfijnde gebruikersinterface voor pc's biedt, en ver boven wat doorgaans voor Linux-pc's wordt aangeboden. Het pakketsysteem <code>.hpkg<\/code> \u2014 een van dergelijke voorbeelden, maar de andere delen van het systeem zijn ook doordrenkt met verfijning. Toch zou Haiku profiteren van de juiste ondersteuning voor catalogi en applicatiepakketten. Hoe dit het beste te doen \u2014 dat zou ik graag bespreken met mensen die Haiku, haar filosofie en architectuur veel beter kennen dan ik. Uiteindelijk gebruik ik Haiku nog maar iets meer dan een week. Maar toch denk ik dat dit frisse perspectief nuttig zal zijn voor de ontwerpers, ontwikkelaars en architecten van Haiku. Tenminste, ik ben meer dan bereid om als 'sparringpartner' voor hen te dienen. Ik heb meer dan 10 jaar praktische ervaring met catalogi en applicatiepakketten voor Linux, en ik zou graag zien hoe ze kunnen worden toegepast op Haiku, een concept waarvoor ze naar mijn mening perfect zijn. De potenti\u00eble oplossingen die ik voorstel zijn geenszins de enige juiste voor de problemen die ik heb beschreven, en als het Haiku-team besluit andere, elegantere oplossingen te vinden \u2014 dan juich ik dat alleen maar toe. In principe overweeg ik al een idee over hoe het systeem <code>hpkg<\/code> nog indrukwekkender, zonder de manier waarop het werkt te veranderen. Het blijkt dat het Haiku-team al lang nadenkt over applicatieniveaus bij het implementeren van het pakketbeheersysteem, maar helaas, (volgens mij) is het idee in 'vergetelheid' geraakt. Misschien is het tijd om het nieuw leven in te blazen?<\/p>\n<p><\/p>\n<p>Probeer het zelf! Het Haiku-project biedt imagebestanden voor opstarten vanaf DVD of USB, die dagelijks worden aangemaakt. <noindex><a rel=\"nofollow\" href=\"https:\/\/download.haiku-os.org\/?source=post_page---------------------------\">dagelijks<\/a><\/noindex>.<br \/>\nHeb je vragen? We nodigen je uit in ons Russischtalige <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/HaikuOS_RU_chat\">telegramkanaal<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Foutoverzicht: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/pvs-studio\/blog\/461255\/\">Hoe je jezelf in de voet schiet met C en C++. Een verzameling recepten voor Haiku OS.<\/a><\/noindex><\/p>\n<p><\/p>\n<p>Vanaf <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/Finnix\/\">auteur<\/a><\/noindex> vertaling: dit is het achtste en laatste artikel in de serie over Haiku.<\/p>\n<p><\/p>\n<p>Lijst van artikelen: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/461141\/\">Eerste<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/461451\/\">Tweede<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/462815\/\">Derde<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/463105\/\">Vierde<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/463803\/\">Vijfde<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/464819\/\">Zesde<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/465241\/\">Zevende<\/a><\/noindex><\/p>\n<p class=\"for_users_only_msg\">Alleen geregistreerde gebruikers kunnen deelnemen aan de enqu\u00eate. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Log in<\/a><\/noindex>, alstublieft.<\/p>\n<h2 class=\"default-block__polling-title\">Heeft het zin om het hpkg-systeem naar Linux te porteren?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Yes<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    No<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Al gerealiseerd, ik zal het in de opmerkingen schrijven.<\/p>\n<\/li>\n<\/ul>\n<p>    20 gebruikers hebben gestemd. 5 gebruikers hebben zich onthouden.<br \/>\n<br \/>Bron: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/466301\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0443\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (\u043a\u0430\u043a .app \u0432 Mac) \u0438\/\u0438\u043b\u0438 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (Linux AppImage)? \u041c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u044b\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u043d\u0435\u0434\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0443\u0436\u0435 \u0435\u0441\u0442\u044c. \u041d\u0435\u0434\u0435\u043b\u044e \u043d\u0430\u0437\u0430\u0434 \u044f \u043e\u0442\u043a\u0440\u044b\u043b \u0434\u043b\u044f \u0441\u0435\u0431\u044f Haiku, \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u041d\u0443 \u0430 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28393,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37830","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u043e\u0435-\u0447\u0442\u043e \u0435\u0449\u0435: \u043f\u0430\u043a\u0435\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Haiku? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:20:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:20:00+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Nog iets: Haiku-applicatiepakketten? | ProHoster","description":"TL;DR: kan Haiku.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u043e\u0435-\u0447\u0442\u043e \u0435\u0449\u0435: \u043f\u0430\u043a\u0435\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Haiku? | ProHoster","og:description":"TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku.","og:url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:20:00+00:00","article:modified_time":"2019-10-31T19:20:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37830","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 19:26:35","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:20:22","updated":"2026-01-23 19:26:35","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/37830","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=37830"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/37830\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/28393"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=37830"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=37830"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=37830"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}