{"id":1032,"date":"2014-09-16T12:45:57","date_gmt":"2014-09-16T11:45:57","guid":{"rendered":"https:\/\/fossworld.dk\/?p=1032"},"modified":"2014-09-17T09:25:47","modified_gmt":"2014-09-17T08:25:47","slug":"webapps-ved-hjaelp-af-chromium","status":"publish","type":"post","link":"https:\/\/fossworld.dk\/?p=1032","title":{"rendered":"Webapps ved hj\u00e6lp af Chromium"},"content":{"rendered":"<p>Brugen af Webapps er ved at blive ganske popul\u00e6rt. Det betyder blandt andet at man som udvikler, i stigende grad, ikke beh\u00f8ver at koncentrere sig om at underst\u00f8tte specifikke styresystemer eller platforme, men generelle og \u00e5bne standarder. Det er til geng\u00e6ld de udviklere der st\u00e5r for at udvikle netl\u00e6serne, der har til opgave at h\u00e5ndtere.<\/p>\n<p>Det er dog ikke alle netl\u00e6sere der er lige godt forberedt til dette lille show. Mozilla Firefox har for eksempel ikke l\u00e6ngere en modus til afvikling af webapplikationer.<\/p>\n<p>Et af de bedste bud kommer fra Google, da man her til forskel fra de fleste andre netl\u00e6sere, har implementeret en &#8220;app&#8221; mode. Dette indeb\u00e6rer blandt andet at alle kontroller, faneblade og URL-linier ef sl\u00e5et fra. Bortset fra titlelinien, er det kun vinduesindholdet der vises.<\/p>\n<figure id=\"attachment_1035\" aria-describedby=\"caption-attachment-1035\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/fossworld.dk\/wp-content\/uploads\/2014\/09\/WebApps_6.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1035\" src=\"https:\/\/fossworld.dk\/wp-content\/uploads\/2014\/09\/WebApps_6-300x240.png\" alt=\"Diaspora* som Webapp\" width=\"300\" height=\"240\" srcset=\"https:\/\/fossworld.dk\/wp-content\/uploads\/2014\/09\/WebApps_6-300x240.png 300w, https:\/\/fossworld.dk\/wp-content\/uploads\/2014\/09\/WebApps_6-1024x819.png 1024w, https:\/\/fossworld.dk\/wp-content\/uploads\/2014\/09\/WebApps_6.png 1280w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1035\" class=\"wp-caption-text\">Diaspora* som Webapp<\/figcaption><\/figure>\n<p>Google Chrome er den bedst egnede netl\u00e6ser til disse opgaver, men desv\u00e6rre kigger den brugeren lidt for meget over skulderen. Heldigvis er der et alternativ, fra samme familie. Chrome bruger nemlig koden fra Chromium projektet som base. Denne udgives ligeledes som et selvst\u00e6ndigt program, nemlig netl\u00e6seren Chromium, der er lidt mere beskyttende for brugeren og dennes privatliv. Chromium er at finde i de fleste distributioners, som for eksempel openSUSE, biblioteker.<\/p>\n<h3>Lad os oprette en programobjekt<\/h3>\n<p>Som et eksempel vil jeg her oprette et programobjekt til Instapaper. Dette er en tjeneste der g\u00f8r det muligt at gemme hjemmesider, til senere l\u00e6sning. Dette kan g\u00f8res ved hj\u00e6lp af udvidelser til din favorit netl\u00e6ser, for eksempel Mozilla Firefox og Google Chrome\/Chromium har udvidelser. Men der findes ogs\u00e5 programmer til mobile enheder, s\u00e5som Android- og SailfishOS-enheder.<\/p>\n<p>F\u00f8rst skal der oprettes en tekstfil med et beskrivende navn, der kan skelnes fra de andre programobjekt-filer. Den eneste regel er at den skal hedde &#8220;.desktop&#8221; til efternavn. Det kunne for eksempel v\u00e6re &#8220;instapaper.desktop&#8221;.<\/p>\n<p>Indhold af programobjekt:<\/p>\n<table>\n<tbody>\n<tr>\n<td>[Desktop Entry]<\/td>\n<td>Definerer filen som et programobjekt<\/td>\n<\/tr>\n<tr>\n<td>Name<\/td>\n<td>Navn p\u00e5 programobjektet, der blandt andet benyttes i programmenuen.<\/td>\n<\/tr>\n<tr>\n<td>Comment<\/td>\n<td>Her kan angives en kort beskrivelse af programobjektet.<\/td>\n<\/tr>\n<tr>\n<td>Exec<\/td>\n<td>Kommando der skal eksekveres<\/td>\n<\/tr>\n<tr>\n<td>Icon<\/td>\n<td>Alle objekter har brug for et ikon, her defineres stien til billefilen.<\/td>\n<\/tr>\n<tr>\n<td>Type<\/td>\n<td>Her defineres typen af det der skal eksekveres, mulighederne er Application, Link og Directory<\/td>\n<\/tr>\n<tr>\n<td>Categories<\/td>\n<td>Definerer kategorier til programmenuen.<\/td>\n<\/tr>\n<tr>\n<td>Terminal<\/td>\n<td>Her defineres om prgrammet skal afvikles i en terminal (true) eller grafisk (false)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Som det m\u00e5ske kan anes af ovenst\u00e5ende er definitionen (For eksempel Name og Icon) versalf\u00f8lsomt. Skrives det ikke helt korrekt, ignoreres det. Selve r\u00e6kkef\u00f8lgen af metadata er ligegyldig for fortolkningen, s\u00e5 l\u00e6nge Desktop Entry definitionen er \u00f8verst.<\/p>\n<p>Et programobjekt til et Instapaper programobjekt kunne se s\u00e5ledes ud :<code><\/code><\/p>\n<p><code><br \/>\n[Desktop Entry]<br \/>\nComment=Instapaper is a tool for saving web pages to read later on<br \/>\nExec=\/usr\/bin\/chromium --window-position=\"100,100\" --window-size=\"1080,825\" --new-window --app=\"https:\/\/www.instapaper.com\"<br \/>\nGenericName=Instapaper<br \/>\nIcon=\/home\/flywheel\/Storage\/Billeder\/Andre\/Ikoner\/instapaper.jpg<br \/>\nName=Instapaper<br \/>\nTerminal=false<br \/>\nType=Application<br \/>\nCategories=Internet,Webapps<br \/>\n<\/code><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Kommando :<\/strong><br \/>\nF\u00f8rst kigger vi p\u00e5 den kommando som programobjektet skal udf\u00f8re.<br \/>\n<code><br \/>\n\/usr\/bin\/chromium --window-position=\"100,100\" --window-size=\"1080,825\" --new-window --app=\"https:\/\/www.instapaper.com\"<br \/>\n<\/code><\/p>\n<table>\n<tbody>\n<tr>\n<td>\/usr\/bin\/chromium<\/td>\n<td>Dette er kaldet af selve Chromium<\/td>\n<\/tr>\n<tr>\n<td>&#8211;window-position=&#8221;100,100&#8243;<\/td>\n<td>Dette er udgangspositionen for det tegnede vindue. Her er der defineret en margin, til sk\u00e6rmkanten, p\u00e5 100 punkter.<\/td>\n<\/tr>\n<tr>\n<td>&#8211;window-size=&#8221;1080,825&#8243;<\/td>\n<td>Sk\u00e6rmens dimensioner er 1280*1024. Vinduets dimensioner er defineret s\u00e5ledes at der er en margin p\u00e5 100 punkter, hele vejen rundt.<\/td>\n<\/tr>\n<tr>\n<td>&#8211;new-window<\/td>\n<td>Webapplikationen afvikles i et nyt vindue<\/td>\n<\/tr>\n<tr>\n<td>&#8211;app=&#8221;https:\/\/www.instapaper.com&#8221;<\/td>\n<td>Hjemmesiden Instapaper.com vises i app-modus.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Med hensyn til ikonet, s\u00e5 er det nogenlunde nemt at finde et ikon vis ens favorit s\u00f8gemaskine og gemme filen lokalt. Med &#8220;Icon&#8221; angives stien til denne ikonfil.<\/p>\n<p>Som et alternativ til dette programobjekt-mageri, kan man direkte indf\u00f8re det som elementer i en dock-applikation, som for eksempel wbar, der nu i et \u00e5rs tid har v\u00e6ret husets valg.<\/p>\n<p>Her benyttes det samme ikon og kommando som ovenfor.<\/p>\n<h3>DR Live TV<\/h3>\n<p>En anden fin m\u00e5de at benytte Chromiums app-modus er i forbindelse med Danmarks Radios Live-TV tjeneste. Chrome\/Chromium er generelt konkurrenterne overlegne n\u00e5r det drejer sig om Video-fremvisning. Undertegnede har oprettet fem elementer i min wbar til en Programoversigt, DR1, DR2, DR3 og DR-K.<\/p>\n<figure id=\"attachment_1037\" aria-describedby=\"caption-attachment-1037\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/fossworld.dk\/wp-content\/uploads\/2014\/09\/WebApps_5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1037\" src=\"https:\/\/fossworld.dk\/wp-content\/uploads\/2014\/09\/WebApps_5-300x240.png\" alt=\"Live DR-K TV som Webapp\" width=\"300\" height=\"240\" srcset=\"https:\/\/fossworld.dk\/wp-content\/uploads\/2014\/09\/WebApps_5-300x240.png 300w, https:\/\/fossworld.dk\/wp-content\/uploads\/2014\/09\/WebApps_5-1024x819.png 1024w, https:\/\/fossworld.dk\/wp-content\/uploads\/2014\/09\/WebApps_5.png 1280w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-1037\" class=\"wp-caption-text\">Live DR-K TV som Webapp<\/figcaption><\/figure>\n<p>I midten af billedet lige ovenfor, ses midt i billedet afspilningsvinduet og helt ude til h\u00f8jre i wbar ses fem elementer med DR-ikoner. Den \u00f8verste er TV-Oversigten og herunder de fire TV-kanaler som Danmarks Radio udbyder live.<\/p>\n<p>Den kommando som disse elementer er udstyret med, afviger kun fra den der blev gennemg\u00e5et tidligere i denne roman, med den adresse som Chromium benytter. B\u00e5de startposition og vindues-st\u00f8rrelse er beholdt. Afspilleren indretter sig efter afspilningsvinduets dimensioner.<\/p>\n<table>\n<tbody>\n<tr>\n<td>TV-Oversigt<\/td>\n<td><a href=\"http:\/\/www.dr.dk\/tv\/oversigt\">http:\/\/www.dr.dk\/tv\/oversigt<\/a><\/td>\n<\/tr>\n<tr>\n<td>DR1<\/td>\n<td><a href=\"http:\/\/www.dr.dk\/tv\/live\/popup\/dr1#\/\">http:\/\/www.dr.dk\/tv\/live\/popup\/dr1#\/<\/a><\/td>\n<\/tr>\n<tr>\n<td>DR2<\/td>\n<td><a href=\"http:\/\/www.dr.dk\/tv\/live\/popup\/dr2#\/\">http:\/\/www.dr.dk\/tv\/live\/popup\/dr2#\/<\/a><\/td>\n<\/tr>\n<tr>\n<td>DR3<\/td>\n<td><a href=\"http:\/\/www.dr.dk\/tv\/live\/popup\/dr3#\/\">http:\/\/www.dr.dk\/tv\/live\/popup\/dr3#\/<\/a><\/td>\n<\/tr>\n<tr>\n<td>DR-K<\/td>\n<td><a href=\"http:\/\/www.dr.dk\/tv\/live\/popup\/dr-k#\/\">http:\/\/www.dr.dk\/tv\/live\/popup\/dr-k#\/<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Adresserne i ovenst\u00e5ende tabel er det adressen til det pop-up vindue man kan fremkalde fra Danmarks Radios nye Live-TV tjeneste. Det gode ved denne fremgangsm\u00e5de er netop, at man kan manipulere st\u00f8rrelsen af afspilningsvinduet lige netop til den st\u00f8rrelse man \u00f8nsker. Til geng\u00e6ld skal man s\u00e5 selv holde styr p\u00e5 programoversigten, men det kan kureres ved ogs\u00e5 at implementere en s\u00e5dan, p\u00e5 samme vis. TV-Oversigten ses i \u00f8verste r\u00e6kke af tabellen. Denne giver yderligere adgang til den almindelige Live afspiller via &#8220;SE NU (LIVE)&#8221; linket, for programmer der kan ses live og linket &#8220;SE PROGRAMMER&#8221; for dem der allerede er lagt i arkivet.<\/p>\n<p>Henvisninger:<\/p>\n<ul>\n<li><a href=\"http:\/\/software.opensuse.org\/package\/chromium\">openSUSE &#8211; Chromium<\/a><\/li>\n<li><a href=\"http:\/\/peter.sh\/experiments\/chromium-command-line-switches\/\">Peter Beverloo &#8211; List of Chromium Command Line Switches<\/a><\/li>\n<li><a href=\"http:\/\/www.dr.dk\/hjaelp\/DR+Netradio\/20111020145139.htm\">DR Netradio &#8211; Direkte links<\/a><\/li>\n<li><a href=\"http:\/\/www.dr.dk\/tv\/live\/dr1\">DR-Live TV<\/a><\/li>\n<li><a href=\"https:\/\/code.google.com\/p\/wbar\/\">wbar &#8211; wbar is a minimalist fast and light launcher<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Brugen af Webapps er ved at blive ganske popul\u00e6rt. Det betyder blandt andet at man som udvikler, i stigende grad, ikke beh\u00f8ver at koncentrere sig om at underst\u00f8tte specifikke styresystemer eller platforme, men generelle og \u00e5bne standarder. Det er til geng\u00e6ld de udviklere der st\u00e5r for at udvikle netl\u00e6serne, der har til opgave at h\u00e5ndtere. Det er dog ikke alle&hellip; <a href=\"https:\/\/fossworld.dk\/?p=1032\">More &rarr;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[250,3,111],"tags":[326],"class_list":["post-1032","post","type-post","status-publish","format-standard","hentry","category-desktop","category-generelt","category-programmer","tag-webapps"],"_links":{"self":[{"href":"https:\/\/fossworld.dk\/index.php?rest_route=\/wp\/v2\/posts\/1032","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fossworld.dk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fossworld.dk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fossworld.dk\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/fossworld.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1032"}],"version-history":[{"count":16,"href":"https:\/\/fossworld.dk\/index.php?rest_route=\/wp\/v2\/posts\/1032\/revisions"}],"predecessor-version":[{"id":1042,"href":"https:\/\/fossworld.dk\/index.php?rest_route=\/wp\/v2\/posts\/1032\/revisions\/1042"}],"wp:attachment":[{"href":"https:\/\/fossworld.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1032"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fossworld.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1032"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fossworld.dk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1032"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}