<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Filip Š</title>
    <description>The latest articles on DEV Community by Filip Š (@filips).</description>
    <link>https://dev.to/filips</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F126741%2F59f2eac0-d02c-44c7-981f-83973c18dc55.png</url>
      <title>DEV Community: Filip Š</title>
      <link>https://dev.to/filips</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/filips"/>
    <language>en</language>
    <item>
      <title>Progressive Web Apps for Firefox</title>
      <dc:creator>Filip Š</dc:creator>
      <pubDate>Tue, 10 Aug 2021 14:33:22 +0000</pubDate>
      <link>https://dev.to/filips/progressive-web-apps-for-firefox-a11</link>
      <guid>https://dev.to/filips/progressive-web-apps-for-firefox-a11</guid>
      <description>&lt;p&gt;&lt;a href="https://developer.mozilla.org/docs/Web/Progressive_web_apps"&gt;Progressive Web Apps&lt;/a&gt; are web apps that use emerging web browser APIs and features along with traditional progressive enhancement strategy to bring a native app-like user experience to cross-platform web applications. Although Firefox supports many of Progressive Web App APIs, it does not support functionality to install them as a standalone system app with an app-like experience.&lt;/p&gt;

&lt;p&gt;Because support for installable PWAs has been a heavily requested feature, I decided to implement it as a Firefox addon/extension with a companion native program. It allows users to install basically any website as a standalone native-like app, with its own start/app menu entry, taskbar icon, and window. I've been working on the project for the last couple of months, and now it is ready for wider use!&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A9-wwsHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/filips123"&gt;
        filips123
      &lt;/a&gt; / &lt;a href="https://github.com/filips123/PWAsForFirefox"&gt;
        PWAsForFirefox
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A tool to install, manage and use Progressive Web Apps (PWAs) in Mozilla Firefox
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/6816470265cb0c9ae29db860cd4815be27a07b68f5af3ee2e2e2a6b8859ed4f0/68747470733a2f2f72617763646e2e6769746861636b2e636f6d2f77696b692f66696c6970733132332f50574173466f7246697265666f782f696d616765732f62616e6e65722e737667"&gt;&lt;img src="https://camo.githubusercontent.com/6816470265cb0c9ae29db860cd4815be27a07b68f5af3ee2e2e2a6b8859ed4f0/68747470733a2f2f72617763646e2e6769746861636b2e636f6d2f77696b692f66696c6970733132332f50574173466f7246697265666f782f696d616765732f62616e6e65722e737667" alt="Logo"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
Progressive Web Apps for Firefox&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://github.com/filips123/PWAsForFirefox/releases/latest"&gt;&lt;img src="https://camo.githubusercontent.com/89f98f6db6b06675fb71d7349a89fc0535ac2ce17d01690dc5d34c4511407a87/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f66696c6970733132332f50574173466f7246697265666f783f736f72743d73656d766572267374796c653d666c61742d737175617265" alt="Release"&gt;&lt;/a&gt;
&lt;a href="https://addons.mozilla.org/firefox/addon/pwas-for-firefox/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/478fe1c083974a3c8824f971c216c129019bea9c65b30af70c46a96aecbc02f5/68747470733a2f2f696d672e736869656c64732e696f2f616d6f2f75736572732f707761732d666f722d66697265666f783f7374796c653d666c61742d737175617265" alt="Users"&gt;&lt;/a&gt;
&lt;a href="https://addons.mozilla.org/firefox/addon/pwas-for-firefox/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/55bc506fed86790c604bddd2bca7a63b093a0e3d3ed5b3302ae6242c1453355f/68747470733a2f2f696d672e736869656c64732e696f2f616d6f2f726174696e672f707761732d666f722d66697265666f783f7374796c653d666c61742d737175617265" alt="Rating"&gt;&lt;/a&gt;
&lt;a href="https://github.com/filips123/PWAsForFirefox/blob/main/LICENSE"&gt;&lt;img src="https://camo.githubusercontent.com/272e9c3ea3231d3d11209e4ac445b6bc634a4eeb2803952d5c55c3f17baeaebe/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f66696c6970733132332f50574173466f7246697265666f783f7374796c653d666c61742d737175617265" alt="License"&gt;&lt;/a&gt;
&lt;a href="https://repology.org/project/firefoxpwa/versions" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/52a588da7341b5ebbeb0384a0454a104172ec09ebe5a889599fc16211812c5a3/68747470733a2f2f696d672e736869656c64732e696f2f7265706f6c6f67792f7265706f7369746f726965732f66697265666f787077613f7374796c653d666c61742d737175617265" alt="Repositories"&gt;&lt;/a&gt;
&lt;a href="https://packagecloud.io/filips/FirefoxPWA" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/8798ba66cf76e6f0ee0621268a9dc61928156583d626b683db74161e56a4a15c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6465622d7061636b616765636c6f75642e696f2d3834346665632e7376673f7374796c653d666c61742d737175617265" alt="Packagecloud.io DEB"&gt;&lt;/a&gt;
&lt;a href="https://packagecloud.io/filips/FirefoxPWA" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/835b03841207250fe700959cf8e5550f0d5eda3dd1178e0ee57b7ce6fe1cbd8a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f72706d2d7061636b616765636c6f75642e696f2d3834346665632e7376673f7374796c653d666c61742d737175617265" alt="Packagecloud.io RPM"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A tool to install, manage and use Progressive Web Apps (PWAs) in Mozilla Firefox.&lt;/p&gt;
&lt;h2&gt;
Description&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://developer.mozilla.org/docs/Web/Progressive_web_apps" rel="nofollow"&gt;Progressive Web Apps (PWAs)&lt;/a&gt; are web apps that use web APIs and features along with progressive enhancement strategy to bring a native app-like user experience to cross-platform web applications. Although Firefox supports many of Progressive Web App APIs, it does not support functionality to install them as a standalone system app with an app-like experience.&lt;/p&gt;
&lt;p&gt;This project creates a custom modified Firefox runtime to allow websites to be installed as standalone apps and provides a console tool and browser extension to install, manage and use them.&lt;/p&gt;
&lt;h2&gt;
Usage&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;TLDR&lt;/strong&gt;: Install &lt;a href="https://addons.mozilla.org/firefox/addon/pwas-for-firefox/" rel="nofollow"&gt;the browser extension&lt;/a&gt; and follow in-browser installation instructions. Check &lt;a href="https://github.com/filips123/PWAsForFirefox/wiki"&gt;the repository wiki&lt;/a&gt; for simple usage instructions.&lt;/p&gt;
&lt;p&gt;For detailed and more technical documentation how to set up, use and develop the project, see the READMEs of the native and extension part:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;…&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/filips123/PWAsForFirefox"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;To use the project, you can download the extension from &lt;a href="https://addons.mozilla.org/firefox/addon/firefoxpwa/"&gt;the Firefox Add-ons&lt;/a&gt; store. You will need to install the native program; you will be prompted to install it after installing the extension. You can check installation and usage instructions in &lt;a href="https://github.com/filips123/FirefoxPWA/wiki"&gt;the repository wiki&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you use Firefox and want to install websites as standalone apps, please give it a try! Remember to post any feedback, ideas, feature requests or bug reports &lt;a href="https://github.com/filips123/FirefoxPWA/issues"&gt;on GitHub&lt;/a&gt; :)&lt;/p&gt;

&lt;p&gt;Feel free to also check it &lt;a href="https://www.producthunt.com/posts/firefoxpwa"&gt;on ProductHunt&lt;/a&gt; and leave a review there.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Browser extensions normally cannot launch arbitrary programs and modify browser UI, so my extension uses &lt;a href="https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/Native_messaging"&gt;Native Messaging API&lt;/a&gt; to communicate with the native program. It is written in Rust and handles features that the extension alone cannot do. The program installs an independent Firefox runtime, patches it with the UserChrome modifications to reorganize the Firefox UI and remove all unnecessary UI elements, and handles installing and launching PWAs. I created a bit more detailed explanation of how this project works in &lt;a href="https://github.com/filips123/FirefoxPWA/wiki/How-It-Works"&gt;the repository wiki&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>firefox</category>
      <category>extension</category>
      <category>pwa</category>
    </item>
    <item>
      <title>Template for creating and developing ZeroNet sites</title>
      <dc:creator>Filip Š</dc:creator>
      <pubDate>Sun, 16 Jun 2019 18:36:56 +0000</pubDate>
      <link>https://dev.to/filips/template-for-creating-and-developing-zeronet-sites-2l1l</link>
      <guid>https://dev.to/filips/template-for-creating-and-developing-zeronet-sites-2l1l</guid>
      <description>&lt;p&gt;&lt;a href="https://zeronet.io/"&gt;ZeroNet&lt;/a&gt; is a decentralized web platform. It allows decentralized, open, free and uncensorable websites using &lt;a href="https://docs.google.com/presentation/d/1_2qK1IuOKJ51pgBvllZ9Yu7Au2l551t3XBgyTSvilew/pub?start=false&amp;amp;loop=false&amp;amp;delayms=3000"&gt;Bitcoin cryptography and BitTorrent network&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;Developing of static and simple ZeroNet sites is easy. You just need to create &lt;code&gt;content.json&lt;/code&gt; as described in ZeroNet documentation and then create and edit files.&lt;/p&gt;

&lt;p&gt;But things can get complicated if the site becomes bigger. It can use NPM dependencies, SASS, TypeScript or other NPM tools. It is then hard to maintain all those things and develop the actual site at the same time.&lt;/p&gt;




&lt;p&gt;Because of that, I created a template that simplifies a process of creating and developing ZeroNet sites. It supports NPM dependencies and it uses Gulp and Browserify for bundling scripts. It also supports SASS and automatic deployments with Travis CI.&lt;/p&gt;

&lt;p&gt;It's available on &lt;a href="https://github.com/filips123/ZeroTemplate"&gt;GitHub&lt;/a&gt; and &lt;a href="http://127.0.0.1:43110/1Aob9QXahTnn6iBriSSQ6qg8qXkHdkaX2x"&gt;GitCenter&lt;/a&gt;.&lt;br&gt;
Post about it is also available on &lt;a href="https://www.reddit.com/r/zeronet/comments/bcryvu/template_for_creating_and_developing_zeronet_sites/"&gt;Reddit&lt;/a&gt; and &lt;a href="http://127.0.0.1:43110/Talk.ZeroNetwork.bit/?Topic:1555000915_1LFu1BTScmY82HHtg3TY2jAuSrCYNsQWEY/Template+for+creating+and+developing+ZeroNet+sites"&gt;ZeroTalk&lt;/a&gt;.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A9-wwsHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/filips123"&gt;
        filips123
      &lt;/a&gt; / &lt;a href="https://github.com/filips123/ZeroTemplate"&gt;
        ZeroTemplate
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Template for creating and developing ZeroNet sites
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
ZeroNet Template&lt;/h1&gt;
&lt;p&gt;Template for creating and developing ZeroNet sites.&lt;/p&gt;
&lt;h2&gt;
Description&lt;/h2&gt;
&lt;p&gt;This project provides a template for creating and developing &lt;a href="https://zeronet.io/" rel="nofollow"&gt;ZeroNet&lt;/a&gt; sites.&lt;/p&gt;
&lt;p&gt;It supports &lt;a href="https://www.npmjs.com/" rel="nofollow"&gt;NPM&lt;/a&gt; dependencies and it uses &lt;a href="https://gulpjs.com/" rel="nofollow"&gt;Gulp&lt;/a&gt; and &lt;a href="http://browserify.org/" rel="nofollow"&gt;Browserify&lt;/a&gt; for bundling scripts. It also supports &lt;a href="https://sass-lang.com/" rel="nofollow"&gt;SASS&lt;/a&gt; and automatic deployments with &lt;a href="https://travis-ci.com/" rel="nofollow"&gt;Travis CI&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
Usage&lt;/h2&gt;
&lt;h3&gt;
Requirements&lt;/h3&gt;
&lt;p&gt;You must have &lt;a href="https://git-scm.com/" rel="nofollow"&gt;Git&lt;/a&gt; and &lt;a href="https://nodejs.org/" rel="nofollow"&gt;Node.js&lt;/a&gt; installed on your computer. It is recommended that use the latest versions.&lt;/p&gt;
&lt;p&gt;It is also recommended to also install &lt;a href="https://www.python.org/" rel="nofollow"&gt;Python&lt;/a&gt; and &lt;a href="https://zeronet.io/" rel="nofollow"&gt;ZeroNet&lt;/a&gt; for easier developing and deploying. You need to use Python 3 version of ZeroNet.&lt;/p&gt;
&lt;h3&gt;
Start&lt;/h3&gt;
&lt;p&gt;If you don't already have your own ZeroNet site, you should create it from ZeroNet. Details are available in &lt;a href="https://zeronet.io/docs/using_zeronet/create_new_site/" rel="nofollow"&gt;ZeroNet documentation&lt;/a&gt;. You must have a site's address and a private key.&lt;/p&gt;
&lt;p&gt;You can then clone or fork this repository and install dependencies. It already contains an example site and code with &lt;a href="https://zeronet.io/docs/site_development/zeroframe_api_reference/" rel="nofollow"&gt;ZeroFrame API&lt;/a&gt;.&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;$ git clone https://github.com/filips123/ZeroTemplate.git my-new-site&lt;/pre&gt;…
&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/filips123/ZeroTemplate"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>opensource</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
