Help me get caught up on web front end dev trends and best practices
May 23, 2018 8:42 AM   Subscribe

I'm a software developer with 15+ years of experience, but I've been working exclusively on the middle tier and back end for the last 7 years. I'd like to get a kickstart of knowledge on best practices for front end/UI development so I can enhance my full-stack skills.

I'm aware that some of the new things that I need to learn about are responsive design, Single-Page Applications (SPAs), Node.js, Angular, and React. I'd like references to books or articles/blog posts written at a professional level. I'd especially like to see resources that talk about principles and best practices instead of coding tutorials.
posted by matildaben to Computers & Internet (5 answers total) 31 users marked this as a favorite
 
Best answer: I'd say the biggest trend right now in frontend dev is the "Flux architecture", typically implemented with redux, or the "State Action Model" or SAM pattern.

The idea is that UI components are conceived as functions that take state as input and return the rendered view as the output. Controls on the UI (buttons, inputs) don't manipulate state themselves, but trigger "actions" that are processed by mutators which are divorced from the view and handle state mutation in a deterministic fashion. Components don't carry state with them, just render state and trigger actions that mutate state.

Immutable data structures are also very on-trend right now.

It all sounds very clean but turns out to be pretty complicated to implement well since it's hard to know how to slice up your giant blob of state into manageable subsets.

I like this article for some ideas about how to handle this: Redux for state management in large web apps.
posted by dis_integration at 9:11 AM on May 23, 2018 [3 favorites]


Best answer: This "book" from Frontend Masters is not as thorough as I wish it was, but there's still a lot there, which I say from the perspective of somebody who's trying to get into proper modern front-end development despite lack of employer support.
posted by Sequence at 9:12 AM on May 23, 2018


Best answer: So the React ecosystem is kind of where a lot of the front-end is mindshare is hovering - with React Native getting to getting to be a strong contender in mobile its even more so.

The hard part is that this ecosystem is moving fast and React is only part of your stack, what this means is that there's not one "way" to build a react app, MobX, Redux and more keep moving the needle. About two years ago we started a project while "reflux" was the new hotness and it was out of date in 6 months.

Keeping up with the Jones here is difficult and a moving target, books these days are almost obsolete as soon as they're published.

The heavy use of webpack and transpiling code means that new JavaScript features are getting used almost as soon as they're officially introduced to babel so there's no soak period while new features get rolled out to browsers.

One good place to start is with the Create React App docs. Its a good place to start with React to start with and then they have a bunch of tutorials on how to integrate other tools generally these reflect what is considered best practices and you can search for more details accordingly.
posted by bitdamaged at 10:19 AM on May 23, 2018 [1 favorite]


Best answer: Angular doesn't have a great reputation with front end developers, in my experience. The best summary I've heard is that it's a back end developer's idea of a front end, and it ends up being very difficult to maintain in a way that other tools aren't. Your region's trends may vary.

I don't really have a handle on React because its entire lifecycle is newer than literally every project I've worked on. It seems like keeping up with the trends in front end JS would be a full time job by itself, never mind maintenance and new features. It seems like React is on everybody's radar now, but good luck staying current.
posted by fedward at 10:35 AM on May 23, 2018 [1 favorite]


Best answer: I just wrapped up a months-long quest for a new front-end developer position; as part of that I read a metric ton of blog posts and such about the state of the field. I really liked this post as a high-level overview of the state of front-end development, with plenty of quality links so you can pursue whichever avenues are of specific interest.
posted by Banky_Edwards at 1:27 PM on May 23, 2018 [7 favorites]


« Older Getting out of project management roles   |   Who do I see? Newer »
This thread is closed to new comments.