Supabase - ~52K stars
- Designed explicitly as an open source firebase alternative
- Typescript based
- Docker support
Appwrite - ~32K stars
- Written in JavaScript and PHP
- Docker based
- Realtime support across all services
This is the CFP for my React Rally talk, which was eventually accepted and given here: https://www.youtube.com/watch?v=nyFHR0dDZo0.
If you are a first time speaker, my CFP advice for new speakers is here.
Functional-reactive libraries like RxJS make it easy to understand how data changes, giving us tools to declaratively handle events and manage state. But while our render methods react to state changes, React isn’t reactive. Instead, we write imperative event-handlers, and trip up on gotchas like async setState and race conditions. Why? In this talk we build a Reactive React to show the difference between the "push" and "pull" paradigms of data flow and understand why React chooses to manage Scheduling as a core Design Principle, enabling awesome features like async rendering and Suspense!
Theme: This talk is a deep dive into React's core design principle around scheduling. Instead of abstr
Memoization is a somewhat fraught topic in the React world, meaning that it's easy to go wrong with it, for example, by [making memo()
do nothing][memo-pitfall] by passing in children to a component. The general advice is to avoid memoization until the profiler tells you to optimize, but not all use cases are general, and even in the general use case you can find tricky nuances.
Discussing this topic requires some groundwork about the technical terms, and I'm placing these in once place so that it's easy to skim and skip over:
npm install --save tinymce @tinymce/tinymce-react copy-webpack-plugin
public
folder. Edit file next.config.js
const path = require('path');
const webpack = require('webpack');
const CopyPlugin = require('copy-webpack-plugin');
Version | Link |
---|---|
ECMAScript 2015 - ES2015 - ES6 | All Features List |
ECMAScript 2016 - ES2016 - ES7 | All Features List |
ECMAScript 2017 - ES2017 - "ES8" | All Features List |
ECMAScript 2018 - ES2018 - "ES9" | All Features List |
ECMAScript 2019 - ES2019 - "ES10" | All Features List |
ECMAScript 2020 - ES2020 - "ES11" | All Features List |
import type * as Stitches from "@stitches/react"; | |
import { modifyVariantsForStory } from "../../../.storybook/type-utils"; | |
import { styled } from "../../stitches.config"; | |
const Example = styles("div", { | |
// ... | |
}); | |
export default Example; |