So… do you have arachnophobia? Wait wait wait… come back and listen, it’s not like you think. Really.
Are you into generation spanning epics? Interested in scientific pioneers full of hubris? Want to see multiple civilizations rise and fall, as alien and familiar at the same time? Want to see life from another set of eight eyes?
Children of Time is a sci-fi novel by Adrian Tchaikovsky. Tchaikovsky is a zoologist, psichologist and writer. This will be important soon.
The premise is simple. What happens when we find someone with which we can’t talk? Can he bridge our differences or are we doomed to failure and mutual destruction?
— enough back cover copy —
I really loved this book. It’s a way out there first contact story, filled with conflict and a surprisingly warm and hopeful message. I’d love to talk about it, so It’s in my best interest for you to go, read it and come back here. If you have not done it already.
It reminded me of other first contact stories like Blindsight (another thread in the making) or the tree body series, but it’s so so so much… lesss… bleak? I really needed that.
PD: English is not my first language, I’m an spaniard, so be patient with me.
I’m sorry but framework and library in this post are going to be used loosely, because even React, Vue, Angular, Svelte, etc devs use the terms loosely.
React is mostly a UI library like you would find in most native app development. Of them all them JS frameworks/libraries is one of the less opinionated and with less batteries included. By design it does not does everything. Most other frameworks do way more.
It lets you define custom components. The components can have properties that their parent component defines and internal state. If the state or the properties change the component gets redrawn (magically). There are some lifetime functionalities (things to do on first render for example) and performance improving stuff (memoization) but mostly that’s it.
All the other features you talk about are third party libraries or frameworks that can operate with react or are build on top of and cover the bases, like routing, fetching, caches, server side rendering, styling utility libraries, component libraries, animation libraries, global state management, etc.
The big difference with the vanilla way is that the approach is mostly declarative. The runtime takes charge of updating the DOM when your components state or properties change.
You take a big performance hit, and an even bigger bundle size one, but the speed of development and huge ecosystem of readymade solutions can be really important for some use cases.
Other frameworks take different approaches to solve the same problems: