Using React, Firebase, and Ant Design to Quickly Prototype Web Applications
nrempel.com
nrempel.com
I wish we'd get a real revolutionary design system instead of these frameworks that try solve all cases, and ultimately end up so generic you can't use them for anything -other- than prototyping
Side note, this is what I'm looking to solve at https://cleverbeagle.com.
I'm not sure if what I'm talking about is possible, and I'm not sure what it would look like -- but I'd love a framework that just makes everything work really nice - except it doesn't force you to do really quirky css hacks to re-style the thing.
If that makes any sense :)
I'm glad that there's a good UI lib that integrates with React at this level.
This adds Ant so I'll have to check that out. Thanks!
The Firestore API seemed quite similar to MongoDB which I haven’t used in a number of years. I might give that another try as well.
This looks like someone spent a ton of time building something that is probably very useful. So, with all due respect, what the fuck does that even mean?
In all seriousness, this is the crap that many company types buy. What they won't be is an easy and straightforward explanation of what it actually is. You want extra points in a meeting? Just tell them you're integrating that quote for increased utilization of all structured experience parameters. 99.4% utilization. And you think next quarter you can get that up to 99.6% — and of course, something about how it's free. They already know they don't fully understand, and they don't want to be reminded. what they want is to feel they're speaking the same language. It's crap, but its necessary in industries that aren't necessarily that involved in the tech or design.
"Once you have your Firebase project, provision a “Cloud Firestore” database"
Cloud Firestore is a traditional NoSQL DB and is not the realtime database product.
JSX is not required. Literally, all you need is to include script tags for `react.js` and `react-dom.js`, and then you write "raw" `React.createElement()` calls.
However, most people find that to be too repetitive. So, the "default" approach is to use JSX syntax, which converts `<MyComponent a={1} b="blah">Text</MyComponent>` into `React.createElement(MyComponent, {a : 1, b : "blah"}, "Text")`.
Yes, JSX requires a transformation/compiler step. As I said earlier, a typical "real" app needs build tools to bundle anyway, and you're probably targeting a variety of browsers but don't want to restrict yourself to the least common denominator subset of JS syntax, so you're probably already using a transpiler too.
But, if you truly don't want to use JSX for whatever reason, there's plenty of choices:
- Write raw `React.createElement()` calls by hand
- Alias `React.createElement()` as `h()` so it's shorter
- Use a functional VDOM wrapper generation library like `react-hyperscript-helpers` (https://github.com/Jador/react-hyperscript-helpers/).
- Use a runtime JS templating library like Dominic Gannaway's `t7` templates(https://github.com/trueadm/t7)
- Use an actual separate templating library, like `react-templates`(https://github.com/wix/react-templates) or `handlebars-react`(https://github.com/stevenvachon/handlebars-react)
Almost everyone chooses to use JSX. The docs use JSX. Tutorials across the internet use JSX. It's the accepted approach. But, it's not _required_. You do not _need_ it. There are other options. It's your choice.
[0] https://www.reddit.com/r/javascript/comments/81fkhi/this_may...
And you can also create stateless components without any logic, eg.:
const Header = () => <h1>Hello World</h1> {isVisible && <div>Hello World</div>}
is uglier than <div ng-if="isVisible">Hello World</div>
or <div v-if="isVisible">Hello World</div>
or {{#if isVisible}}
<div>Hello World</div>
{{/if}}
Plus, isVisible in React is not a string but a variable, so you can use Rename Symbol and Find All References on it, inspect its value in your browser's debugger, inspect its type if you are using TS or Flow, and so on.