What are Progressive Web Apps?

Progressive Web Apps overview and features of PWA production with JS Frameworks
09 August 2017   1609

What is Progressive Web Apps? 

Progressive Web Apps (PWA) was announced by Google in 2015. This format of creating mobile websites attracted attention due to the relative ease of development and almost instantaneous interaction with the user. As early as May 2016, at the Google I / O Developer Conference, The Washington Post demonstrated its mobile hybrid site-application.

What is PWA? You can perceive this as a site built using web technologies, but which interacts with the user as an application. The advances in the development of browsers, cache and Push-interfaces allowed installing the application on the home screen directly from the browser, receiving pop-up notifications and even working offline.

Main differences between PWA and native apps.

1. In browsers of Google, Opera, Firefox and Microsoft PWA can be loaded on any gadgets, regardless of the screen size and other specifications. In addition, developers of browser data will offer users to install PWA on the second visit of the site.

2. Application developers note that creating a progressive application is easier and faster than a regular site.

3. You do not need an API with backward compatibility support. In the case of PWA, users run the same version of the site code (unlike classic applications).

And this is only the beginning. Microsoft is already working on the task of how to add progressive web applications to the Windows Store. Google in May 2016 voiced a long list of ideas for the development of advanced applications. And the fact that search engines will pay special attention to PWA in the future seems inevitable.

Features of PWA production with JS Frameworks 

Learn how the world’s largest brands ship Progressive Web Apps that instantly load on mobile hardware. Take a look at how apps built using React, Preact, Vue, Angular & Polymer can be used to build instantly interactive, engaging & data-plan sensitive user experiences. How this investment paid off on core business metrics. Learn PWA best practices, patterns for efficiently loading websites and the latest tools for getting fast and staying fast.

What is Vim.Wasm?

Small introduction to Vim port to WebAssembly with screenshot and developer notes
16 July 2018   69

Vim.wasm is experimental fork of Vim editor to compile it into WebAssembly using emscripten and binaryen.

Developer added some notices:

  • Please access from a desktop browser (Chrome/Firefox/Safari/Edge). Safari seems the best on macOS.
  • Please avoid mobile networks. Your browser will fetch some large files (up to 2.5MB).
  • vim.wasm takes key inputs from DOM keydown event. Please disable your browser extensions which affect key inputs (incognito mode would be the best).
  • This project is very early phase of experiment. Currently only tiny features are supported. More features will be implemented (please see TODO section). And you may notice soon on trying it... it's buggy :)
  • If inputting something does not change anything, please try to click somewhere in the page. Vim may have lost the focus.

The goal of this project is running Vim editor on browser by compiling Vim C sources into WebAssembly. 

Vim.wasm screenshot
Vim.wasm screenshot 

WebAssembly frontend for Vim is implemented as a new GUI frontend. C sources are compiled to each LLVM bitcode files and then they are linked to one bitcode file vim.bc by emccemcc finally compiles the vim.bc into vim.wasm binary using binaryen and generates HTML/JavaScript runtime.

You can find more info at GitHub.