What is React Static?

Overview of progressive static-site framework for React
16 October 2017   1015

React Static is a framework designed to help everyone painlessly build next generation, high-performance websites for the web.

With react-static you can deliver an amazing experience for your users and developers alike, without compromising React in any way. It’s insanely fast, touts fantastic SEO capabilities, and is probably the most React-friendly static-site library on the internet.

How does React Static work?

React Static framework architecture
React Static framework architecture 

Main advantages

  • Painless development & migration. There are very few differences (or changes to be made, if migrating) when compared to apps created with create-react-app, or any other standard react build system. And, if you’re already using React-Router, you likely won’t have to change anything at all!
  • Redux, Lifecycle Security, Route Animations & more! react-staticdoesn’t use any strange routing techniques or custom lifecycle methods, which means there is absolutely no dangerouslySetInnerHTMLReactDOM.render(), or any other destructive methods being used for navigation. It’s just good old React, so you can thoroughly rely on everything functioning how you would normally expect it to, including component lifecycles and state managers.
  • Data & Query Agnostic. You’ve worked hard enough producing and organizing all of the data for your website, so the last thing you need is some superfluous GraphQL layer or custom component lifecycle lodging itself between your data and your pages. With react-static, supplying and using your data is as simple. Fetch it at build time, supply it to your routes, and use the getRouteProps HOC. It’s heavenly, and it also makes testing your data and your components a breeze.
  • Lean builds for today and 2 years from now. react-static’s approach to code-splitting ensures your page data is optimized and stored separately from your JS bundle as JSON files. This means the main JS bundle will not grow in size with the amount of content on your site. Not only does this significantly improve build times for sites small and large, but also decreases the amount of duplicate code required to be downloaded by the client. All of this means faster browsing for your users, and more productivity for the developer.

See GitHub to learn more.  

What is Vim.Wasm?

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

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.