[Frontend] Job change from Web to Mobile Development
Posted by Ok_Slide4905@reddit | ExperiencedDevs | View on Reddit | 5 comments
Context: Frontend Engineer, ex-FAANG, 5 YOE
Finally found a job after about a year of unemployment. The catch is it is for a mobile app, who primarily use React Native for xplat. I am well versed in React and the JS ecosystem broadly but haven't done any sort of mobile or native development. Obviously there will be alot of learning on the job but looking for any feedback from engs who made similar transitions.
What are some big conceptual hurdles - single threaded vs multithreaded? DX painpoints? General gotchas? What did your learning curve look like?
pracho77@reddit
You can also consider gaining experience in hybrid (i.e. web with native wrapper such as capacitor) app development to complement your past experience and transition to mobile app development.
Opposite_Quantity_67@reddit
The differences are not that big, you can use almost the same libraries for state management. Routing is totally different depending on what you’re using. I’m doing a lot of react native and react work, on some popular out there, chances are you’ve used some of them.
Feel free to message me for any questions you may have, I’ll help you out free of charge.
johanneswelsch@reddit
Sometimes screens in react native are not unmounted upon navigating to a new screen and someting like a useEffect will just keep on running. So, you'd need to use useFocusEffect or useIsFocused instead.
DX is horrible compared to browsers, but it's doable.
Opposite_Quantity_67@reddit
Not true. If you’re using react navigation for routing the screens are intentionally not unmounted for performance reasons.
There are certain events that you can listen to in order to detect screen focus/blur. https://reactnavigation.org/docs/navigation-events/
DX is great, you literally have access to the same debuggers.
uuqstrings@reddit
Web dev ad tech specialist here--they just put me on iOS to handle their ad tech.
The biggest differences to me are going back to object orientation concepts after years of being a functional programming person. That and components aren't handled via DOM. They're hard to distinguish from the rest of the logic to me. I miss my angle brackets.