wisdom
jotai
Our great sponsors
wisdom | jotai | |
---|---|---|
26 | 107 | |
567 | 17,287 | |
- | 3.4% | |
5.4 | 9.3 | |
8 months ago | 2 days ago | |
TypeScript | ||
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
wisdom
-
Ask HN: Best stack for real time data intensive apps
If you want to output to a browser here is the guide to achieve the best possible performance according to the numbers:
https://github.com/prettydiff/wisdom/blob/master/performance...
Warning: every time I post this people claim to want superior performance but then whine when they realize they have to actually write code (as opposed to letting NPM or React or jQuery do 99% of everything).
-
Ask HN: What are the hidden performance tricks for JavaScript?
This was attempt to research the fastest possible approach to a JavaScript GUI in the browser.
https://github.com/prettydiff/wisdom/blob/master/performance...
The techniques mentioned are stupid fast to the fewest milliseconds, but most JavaScript developers find this incredibly unpopular.
-
Ask HN: How can I learn about performance optimization?
Measure everything and be extremely critical. Be ready to challenge common and popular held assumptions.
Here is something I wrote about extreme performance in JavaScript that is discarded by most programmers because most people that program JavaScript professionally cannot really program.
https://github.com/prettydiff/wisdom/blob/master/performance...
-
Ask HN: What are good patterns for holding state?
For simple state management here is what I do: https://github.com/prettydiff/wisdom/blob/master/state_manag...
Here is an application with an OS-like GUI making use of that concept: https://github.com/prettydiff/share-file-systems
-
IBM study: 40% of workers will have to reskill in the next three years due to AI
The challenge is in determining who is about to become obsolete and that is not clear. For example OOP remains the most popular and requested programming paradigm even though it has gradually slid into functional obsolescence more than a decade ago[1].
Even still legacy code will remain in use and talent to maintain legacy systems will remain in demand. My university still teaches COBOL because there still exists demand for people to maintain these legacy applications even if new applications are no longer written in that language.
[1] https://github.com/prettydiff/wisdom/blob/master/Object_Orie...
-
TypeScript Is Surprisingly OK for Compilers
That depends on how many changes it requires. If its just a matter of don't do these 3 things and your code suddenly becomes more predictable its like being slapped with a magic wand. Everybody wins. All you have to do to ensure 100% of your code compiles in a JIT is be predictable. Predictable code is, on its face, always less confusing.
> The performance benefits are likely to be minimal
This makes me cry, but not a cry of joy or ecstasy. People guessing about performance is perhaps the most frequent anti-pattern in all programming. Please read this document, you can skip to the end but it may not make much sense if you do. https://github.com/prettydiff/wisdom/blob/master/JavaScript_...
-
As a self learner which courses, books, tutorials have impacted you positively?
After talking about the biggest failures I have seen through my career in learning JavaScript I watched a YouTube video about an interview with a divorce attorney. It was interesting because the behaviors I heard expressed in that video exactly aligned with behaviors I see expressed in failures to learn after large commitments of time investment in programming. It inspired me to write this: https://github.com/prettydiff/wisdom/blob/master/JavaScript_...
The most important learning for me out of this is that people are predictable and how we commit is modeled by how perceptions of rewards are attained. It also inspired me to dive deeper into self learning about behavior and economics, because people do exceptionally irrational things to avoid perceived discomfort.
-
Why are many of the biggest web frameworks in dynamically typed langs?
> just want to know what makes a good web framework.
Personal opinion. A framework is an architecture in a box so that you, the developer, do not have to make as many decisions. Normally when developers are asking such questions they are seeking easiness: https://github.com/prettydiff/wisdom/blob/master/Easiness.md
-
Htmx
Software developers, especially DOM fearing front developers love using the word easy. It isnβt so much an infatuation but more like a fatal attraction obsession where obstruction means war on a very emotional level. Ironically, people are loathe to confront these feelings openly and thus cannot define the word easy with any kind of clear practical application.
So, I did the world a favor and wrote just such a definition: https://github.com/prettydiff/wisdom/blob/master/Easiness.md...
-
Building a Front End Framework; Reactivity, Composability with No Dependencies
Depends on the definition of simplicity. People say they want simple, but then really want easy. The most easy is always somebody doing the work for you. I got tired of hearing people mention easy when really they probably mean some combination of fearful and/or lazy, so I chose to define easiness:
https://github.com/prettydiff/wisdom/blob/master/Easiness.md
If developers really wanted simplicity or to be done with work faster they would just learn the primitives of their environment: DOM, functions, and events. Most of the frameworks have APIs that are huge, so clearly simplicity isn't what's wanted.
jotai
-
React Server Components Example with Next.js
Daishi Kato, creator of Zustand and Jotai, says there are a few things we need to support RSC serialization:
- 5 Alternatives to Redux for React State Management
-
jotai-wrapper, a super tiny and simple utility library
I've just published jotai-wrapper, a super tiny and simple utility library that makes using jotai even simpler. It comes from the necessity to migrate a project with react-context-slices to jotai. Both libraries share a similar API. While in react-context-slices you have the useSlice hook, in jotai you have the useAtom, useSetAtom, and useAtomValue hooks. In react-context-slices you define either React Context or Redux slices, while in jotai you define atoms. The need for the migration from the first to the second was a high memory usage by react-context-slices when using React Context slices.
-
React State Management in 2024
Atom-based: splits states into tiny pieces of data called atoms, which can be written to and read from using React hooks. In this group, we have Recoil and Jotai.
-
React Basics: Essential Knowledge for Every React Developer
jotai Is the signal based state manager I recommended, offering the best developer experience (in my opinion) as it eliminates the necessity to define and update a global store
-
π Dominate React Project Startups: Insider Tips for Dev Success! π€
Jotai π§ββοΈ
- Jotai β Primitive and flexible state management for React
-
Thoughts on Signals?
Atomic libs include Recoil, Jotai, and the one I maintain: Zedux. Zedux especially was designed to work well with sockets and RxJS observables and has been getting some traction recently, so of course I recommend checking it out. Feel free to hmu with any questions.
-
New Project: What is a good framework for a website?
Global State Machine: Jotai (great for any state that needs to be stored globally for your application)
- Is there a state management library, similar to Redux or Zustand, that automatically generates setters for the state you define?
What are some alternatives?
share-file-systems - Use a Windows/OSX like GUI in the browser to share files cross OS privately. No cloud, no server, no third party.
zustand - π» Bear necessities for state management in React
dom-proxy - Develop lightweight and declarative UI with automatic dependecy tracking without boilerplate code, VDOM, nor compiler
redux-toolkit - The official, opinionated, batteries-included toolset for efficient Redux development
caya - a tiny useful simple language experiment
Recoil - Recoil is an experimental state management library for React apps. It provides several capabilities that are difficult to achieve with React alone, while being compatible with the newest features of React.
signals - Manage state with style in every framework
swc - Rust-based platform for the Web
react-query - π€ Powerful asynchronous state management, server-state utilities and data fetching for TS/JS, React, Solid, Svelte and Vue. [Moved to: https://github.com/TanStack/query]
webcomponents - Web Components specifications
react-hook-form - π React Hooks for form state management and validation (Web + React Native)