![]() ![]() The Notion app is built with Electron, a tool used to package web technologies into cross-platform desktop apps. The output from this is similar to the output from the official Notion API, but in a less processed/readable and more efficient/relational structure. Database records are indexed by uuidv4 IDs and grouped into tables of different data types e.g. It runs a PostgreSQL object-relational database to store user data/content.It accepts user-uploaded files to add to an authorisation-protected space on one of Notion's AWS servers (e.g.It handles user authorisation requests.It serves the Notion client to the domain.It is written with either Node.js or Ruby on Rails and hosted on AWS. The Notion backend handles Notion's hosting & provision. rendering/generating page content, displaying interactive menus and saving user data. The Notion client is powered by JavaScript, depending on it for almost everything e.g. copying something to the clipboard or sending a network request). It can manipulate content on a page, follow logical instructions and perform system actions (e.g. JavaScript is a scripting language that brings interactivity to webpages.However, I'm limited by Notion's tech stack: for some unfathomable reason, they use Electron v11.5.0 with Node.js v12.18, which isn't even close to the latest or even the supported versions of Electron (the earliest of which is v14.2.3) and is far behind the current LTS version of Node.js, v16.13.1. I would have used Deno for the notion-enhancer too if I could've. hosting sites like ), so there are times when Node.js is the more convenient/cheaper choice in the short term. There's also far more tooling and support for Node.js (e.g. The only thing Node.js does better than Deno is Electron: unfortunately, there's no alternative for Deno yet, and the deno_webview bindings don't work properly either. Deno's ES import system & being able to directly execute TypeScript lets me write cleaner, safer, more efficient code. Deno handles dependencies better: no longer do I end up with massive folders full of a mess of dependencies and sub dependencies extending forever. Deno follows the JS/ECMAScript standard, unlike Node which has all sorts of extra things built-in: which was great a few years ago when the standard was lacking, but now just causes me problems. Even if I were building a standalone UI, I personally find the React component model to be a frustrating way of building UI that just adds unnecessary abstraction rather than actually being helpful. It is not good for adding to existing interfaces. React is good for building full user interfaces. Running a second instance of React would just cause performance issues & render conflicts. Notion is already using React, but at a layer that can't really be hooked into and used by the notion-enhancer. I didn't "make" the desktop apps, exactly - they're builds of the official Notion app with the notion-enhancer injected into them. Regardless, uninstalling the notion-enhancer shouldn't delete any Notion content.įor more details, have a read of the Privacy Policy and the explanation of how the notion-enhancer works. the Chrome extension can be uninstalled in one click, the notion-repackaged installation (the recommended method: an app executable containing both Notion & the notion-enhancer) is uninstalled like any other app, the manual/command-line installation takes a bit more work to uninstall. Uninstallation depends on how you installed it - e.g. The majority of extensions only affect the appearance/interactivity of the client, so everything will still be as-normal if you open your pages in vanilla Notion. ![]() ![]() It shouldn't be able to ruin anything- only a couple of extensions are able to interact with Notion content, and even then they only add content, they don't delete anything (and they are very clearly marked, so you can't enable them by accident). ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |