profile-img
Tom Hicks πŸ«€

@Hicksyfern

β€œI turn data into more data and eventually into rectangles”

calendar_today10-06-2010 19:20:40

35,5K Tweets

1,3K Followers

1,0K Following

Tom Hicks πŸ«€(@Hicksyfern) 's Twitter Profile Photo

1. Expo is great

Still really confusing to get to grips with due to the huge number of different tools, terms, etc. but once it's in the groove it's awesome.

Regularly recreating my iOS/Android folders from scratch and having everything just work is fantastic.

account_circle
Tom Hicks πŸ«€(@Hicksyfern) 's Twitter Profile Photo

2. The expo 'standard lib' is great.

Before it felt like the wild west trying to find libraries to do various things, but expo has so many ordained libraries now for so many things.

Image rendering, BlurView, Haptics, Sharing, etc all just work.

account_circle
Tom Hicks πŸ«€(@Hicksyfern) 's Twitter Profile Photo

3. ScrollViews and keyboards are still a pain, 5 years later.

This is one place that I think Expo should perhaps look at providing their own library for. There are many things to consider and each library seems to miss one aspect.

account_circle
Tom Hicks πŸ«€(@Hicksyfern) 's Twitter Profile Photo

4. Some of the OG 3rd-party libraries are still necessary and still work great!

The one that springs to mind is react-native-image-crop-picker.

Oh and react-native-animatable.

Really handy, easy to use and still just work, 5 years on.

account_circle
Tom Hicks πŸ«€(@Hicksyfern) 's Twitter Profile Photo

5. Jotai by Daishi Kato is much nicer to work with than old redux.

I had redux stores with some persisted, etc. which was just a house of cards to work with. Jotai is so focused and just does what it does very well.

account_circle
Tom Hicks πŸ«€(@Hicksyfern) 's Twitter Profile Photo

6. The React Animated API is really good, actually

Sure, there's react-native-reanimated for the nerds, but for basic 60fps springs and tweens, it's really great. Even chaining and sequencing is actually nice once you remember how the API is supposed to 'feel'

account_circle
Tom Hicks πŸ«€(@Hicksyfern) 's Twitter Profile Photo

7. GraphQL is an absolute godsend

To be able to quickly get another property here, traverse the graph another hop there, without having to do *any* back-end changes, and have type safety all the way through is so nice!

Those of you who hate GQL are missing out, seriously.

account_circle
Tom Hicks πŸ«€(@Hicksyfern) 's Twitter Profile Photo

8. TypeScript is just non-negotiable

There's no way on this earth I'd have been able to do this semi-rewrite at this speed without TypeScript.

If you've been living under a rock and are still using JS, just stop it.

account_circle
Tom Hicks πŸ«€(@Hicksyfern) 's Twitter Profile Photo

9. Component libraries are overrated

If you're building Facebook or something, then fine. But for the rest of the world you'll be fine with:
- typography
- color palette (just what you need)
- shadows
- spacing unit
- Button component
- anything else *really* common

account_circle
Tom Hicks πŸ«€(@Hicksyfern) 's Twitter Profile Photo

9. continued

I've made an app with Tamagui recently, too, which is really nice. However, you end up overriding all their defaults constantly.

They do have really nice styled-system-style-as-props which I like, and Stacks, which is good.

But StyledComponents is fine, too.

account_circle
Tom Hicks πŸ«€(@Hicksyfern) 's Twitter Profile Photo

10. Margin is the devil

Use stacks, gaps, nesting and padding. The only good margins are negative margins, except in prose typography.

Literally no exceptions to this rule. If you think you've found one, you're wrong.

account_circle