Blog

Privacy for everyone

Login

Sign up

Development

Development

Introducing Notesnook Importer 2.0

Supporting Evernote web clips, Obsidian file embeds, and a lot of bug fixes.

Abdullah Atta

July 21, 2023

Using Javascript to Render Invalid HTML

HTML is an extremely flexible markup language but that doesn't mean there are no rules. Over the course of many years, browser engines became quite resilient to malformed HTML. But they weren't ready for Javascript.

Abdullah Atta

May 24, 2022

NeutralinoJS: The Next Best Alternative to Electron & Tauri

NeutralinoJS was not a new idea — instead of packaging the whole Node + Chromium with every app, why not reuse the already installed browser each OS comes with?

Abdullah Atta

January 22, 2022

React useRef Hook for Dummies: How to Use useRef Correctly with Examples

React useRef hook is much more 'useful' than you might think at first. useRef is especially useful when you need to access functions of a component.

Ammar Ahmed

October 09, 2021

React Native JSI: Part 1 - Getting Started

React Native JSI (Javascript Interface) is the new layer that helps in communication between Javascript and Native Platforms easier and faster.

Ammar Ahmed

June 28, 2021

Getting rid of Lerna

A story about how and why we got rid of Lerna for package management in the Notesnook monorepo.

Abdullah Atta

July 18, 2023

Using React Native Skia to Build a 60 FPS Free-hand Drawing App

Let's explore @spotify/react-native-skia by building a fully native, 60 FPS, free-hand drawing app that allows us to change stroke color, width & export the drawing as an SVG file.

Ammar Ahmed

March 22, 2022

Development

Scoped Storage in React Native: New Android 10 API for File System Access

Up until Android 10 it was possible to get access to the whole user's device. To fix this, Google introduced Scoped Storage API in Android 10.

Ammar Ahmed

January 15, 2022

React Native JSI: Part 2 - Converting Native Modules to JSI Modules

React Native JSI seems daunting but JSI is, by far, the best way to deliver native performance. And the best part? No overhead. No unnecessary Promises.

Ammar Ahmed

August 11, 2021