While my particular specialization obviously suggests a predisposition to a particular stack, the important thing is that we as developers create fast, secure, usable tools that solve problems. Personal bias is a limitation, but existing skill sets are a strength; one must find balance. The same is true for front-end and back-end development choices. Tools like Vue.js and React.js, while being quite capable of producing whole applications, can also be dropped as components into applications written with server-side technologies such as PHP, Ruby on Rails, or Node.js. These components can add the sort of functionality that modern users have come to expect without sacrificing the security and stability of back-end code.
Focus on design and user experience first; get a solid idea of where your app or site is going before thinking about the code. You may have to consciously force yourself to resist going down the “how” path at times, but thinking about how technically we’ll satisfy the demands of the project too early can lock us into sub-parr implementation decisions.
When screens and functions have taken shape in the form of drawings or wireframes, it’s a lot easier to make balanced technical decisions. It’s like a 30,000-foot viewpoint from which you can see the whole picture. Look for pockets of compartmentalized data or functionality that might do well as components. Identify places where user choices will require a prompt update with more information or screen shifts. Think about how you’ll organize information in the database relative to the presentation of data to the user.