For further actions, you may consider blocking this person and/or reporting abuse
Read next
Designing and Implementing Ant Design Global App Tour for React Apps.
Ahmed Rakan -
Lessons Learned Migrating from React CRA & Jest to Vite & Vitest
Desmond Chin -
👻 Scary Ghost Cursor with Smoke Trail! 💀 code using html5,css3 and javascript
Prince -
BLA ! BLA! BLA! DECEMBER...!
shams Arman siddique -
Top comments (15)
Overall I'm going to say "no". There's no fundamental reason why the front-end should be any more complicated than the back-end. It's all a matter of tools and structuring.
A few caveats however. Modern front-end has to deal with a lot of device compatibility, which is a different requirement than most backend coding has. It requires a different kind of pipeline and a different testing strategy. If you attempt to adapt one workflow to fit both front-and-backend this aspect will become a problem.
The second caveat is perhaps workforce. Front-end has become easy enough that you have a lot of non-programmers contributing there. This is great, but it means you have a higher burden teaching and spreading proper practice on the team.
Maybe.
I think front end development can get away from you easy because you'll usually be working with a framework and your own Javascript code as well as HTML and CSS. The trick is to find some kind of organizational method so that you won't end up in a messy train wreck of code.
The biggest problem I've seen is maintaining good separation of concerns and single responsibility. There is a temptation to move code from the back end to the front end or to blend HTML and Javascript elements that shouldn't be blended. It's easy to fall into this trap with certain frameworks.
I think the hard parts are maintenance, patterns and code organization. On the backend tools are usually better and practices have been established for longer time.
Another issue I have is wading through tools and frameworks. Having a lot of different choices and less experience (talking about me here) means that sometimes I make the wrong choice.
Today for example I rewrote the forms validations in a Vue app because when I started I used the wrong library to help me do that :D
Tomorrow I'm going to dive more into how to lessen code duplication because I have so much of it (in the form of HTML and Javascript) between different sections of the app and I hate that.
So, to answer your question: yes frontend development can be harder than backend development :D
Totally. Most backend hard parts are already solved, you can pick the exact versions of everything your app is going to use (any dependency, framework, etc.) and even the hardware to be sure your app runs as expected, and you can even use backend as a service to avoid backend code.
Meanwhile, in the Frontend Web Application (not simple websites) world you need to learn three languages, most probably a framework or ecosystem of tools, you don't know where your app is going to run, it can be latest Chrome, two versions old iOS Safari in a tiny phone or whatever. You know nothing about the hardware, still your app is expected to work fine.
And never forget your UI should be unique so except for prototypes or internal tools you will need to do a lot of custom work all the time.
And don't forget Frontend can be desktop, mobile, etc. basically any client-side app is Frontend so you can know about Web Frontend, Desktop Frontend or Mobile Frontend, each one with it's own specific knowledge.
I think some of today's difficulties in the area are
Personally I don't feel like I'm struggling to keep up, but as a designer turned developer around 2011, I'm pretty sure I'd have a much harder time getting into the field today.
(Which is sad, I think a frontend-dev needs strong design/typography-skills)
I think it certainly depends on what are your expectations for Frontend development.
Has creating presentation websites become more difficult ? Definitely no, it's still easy to create css only websites, or to just add sass. You won't need complex JavaScript interactions and with modern JS you can even get around using jQuery even.
Regarding SPA's, I'd say it depends. Definitely the learning curve for modern SPA's is high, but long term maintainability of your code is going to be easier once you understand the ecosystem.
I think totally depends on your Application.
If you are building a website that are mostly on complex user interactions, the front end will be more difficult. Especially if you use one of the BaaS platforms that takes care some of the logistics for you. (until perhaps you are getting so many users that you really need to figure how to scale, try to fix the architectural problems).
But if you are more hardcore tech product, say a big data system that need to process tons of data, but don't have much UI. Then backend is much harder.
Yes, a front end dev needs to focus much more on structuring the event-driven data or "real-time recording". The backend dev will take that JSON and build SQL queries or feed it into memory, which they can take their time for the most part, unless it is an API or something. Building data relationships within a browser is super tricky and deals a lot with immutability and templating view plus middleware type development.
A front end dev needs to know design patterns and follow them to a tee or their project could go up in smokes. React itself has Shards, PureComponents, HOC's, or building a ComponentFactory. I mean you can say that backend could be harder but after wrestling with React and libraries like Redux, I quickly realized that Front end devs are not just playing around with for loops to make scrolling menus. Front end devs are the new Mad Scientists.
Frontend development, as a standalone, takes the larger chunk of the time and even mental effort.
Visually, the small things take a lot of time to get right with minimal CSS.
Handling state in a large application is its own mountain of code in many instances.
Then, there's the User Experience part that demands offline caching, graceful recoveries, persisting data on the client without compromising security, code splitting, server rendering, to mention a few.
But as has been said, developing org level standards or 'templates' for doing things significantly reduced the engineering involved for everyone.
I think the main issue is that Frontend is much more time consuming than backend.
By contrast, backend can seem much more organized and structured. Features, as well as bugs, can be resolved much quicker due to a proven system that's been around for a while.
Meanwhile the Frontend has to constantly keep up with changes and iterations on the UI and UX, worry about structure and styling, logic that ensure a smooth user experience but can give way to buggy scenarios in different browsers and devices.
In the end it's not a matter of which is easier or harder. To me Frontend seems easy compared to Backend, but to a veteran Backend developer the Frontend can be very difficult because they lack an attention to detail, an appreciation for asthetics, or the patience to obsess over every single pixel on screen.