DEV Community

Discussion on: Why Do You Need a Backend?

Collapse
 
zakwillis profile image
zakwillis

Whilst what you say is pretty much reasonable on first pass, it is wrong on the second pass. Really sorry.
Yes, we could plug all kinds of APIs in and never worry about a database. We could just store data on a local file system performing regular backups. We could use a restful interface and point the data exchange where we wanted.
I could say exactly the same thing. I could argue I could build an event processing model in a database and a metadata generator and dynamically create the ui code and forget about front end developers. I wouldn't be that disrespectful because whilst there is some truth to it, I know that certain benefits are prevalent from the skill from a ui expert.
Ask any database developer the loops (not hoops) coders go through to avoid modelling data correctly and we conclude they are shirking responsibility.
I haven't begin to go into the many reasons why all developers should learn relational database development even if they ultimately don't specialise in it. Same as database developers should learn coding and some front end development.
I think your article is good but just a little naive. Still giving you a heart.

Collapse
 
srleyva profile image
Stephen Leyva (He/Him)

I don’t think it’s just relational databases either. Data modeling applies to NoSQL and is helpful in scaling. In fact, your data modeling strategy could encompass different data stores where it makes sense and denormalize the data (parts of you service need search? Perhaps Elastic. Parts need bulk writing? Consider Cassandra, I could go on and on). This kind of branches into system architecture, but it’s definitely a more senior skill to have and not necessarily front end dev. Serverless, Microservices, Moneliths are just tools in a tool box. Each one comes with its own problems. I wouldn’t say the OP is wrong, they’re just highlighting a tool they use and makes sense for their use case for their backend needs. Additionally, the OP admits backend is different than it was 10 years ago (containers, kubernetes, cloud adoption etc.)

Collapse
 
kayis profile image
K

Don't be sorry. I appreciate your honest thoughts, so thank you for your answer!

I'm totally with you here, I don't think backend development is obsolte, I just think that it's different from how it was 10 years ago.

Collapse
 
zakwillis profile image
zakwillis

Would say it like this. There is huge value in data. Set based access is powerful. It goes down to the point of storing a query outside of a compilable application versus having to rebuild a codebase. Yes, there are many smart ways around this but to discount database modelling seems incorrect.
My main concern is the risk of "throwing the baby out with bathwater."
Am certain this wasn't your intention and even if it was, no harm done. Just to blow your mind.
I believe that object oriented programming was started with plato and universals. Now we think that oop is outdated and yet we would not say this because the significance of understanding it is so emphatic to deny it is ridiculous. If we could even begin to imagine universals we would be ahead of almost everybody in today's world.

Deep, but anyway. Had to be said. 😊

Thread Thread
 
kayis profile image
K

I don't know if I understood all that you said 🙃

but at least I understood that data modeling is important and if frontend devs wanna do more fullstack stuff, they should definitly look into data modeling. 🤓

Thread Thread
 
jc17 profile image
Jimmy

Thanks for the nice articles. Also, Interesting discussion about the importance of database (SQL / NoSQL). But when blockchain/DLT becomes more widely used, then probably the way we see the database would be different. There won't be any centralised database anymore. Everything is distributed on blockchain.

Furthermore, we probably won't need hosting server anymore to host our application, since everything is hosted on IPFS. If cryptocurrency becomes the main payment method, then we wouldn't need payment gateway anymore. The backend logics can go to frontend and/or go to smart contract sitting on blockchain.

The only reason we need backend server/app and SQL database in my opinion is just security/privacy. Security in term of authentication can probably still be done through crypto wallet / public key. But security in term of storing the private key, for that probably backend server and centralised database would still be needed.

Just my 2 cents.