DEV Community

Serhii
Serhii

Posted on • Updated on

Stop using frameworks and libraries

Inspired by Stop using React article.

Let's say you want to use some framework/library in your application. What are the reasons this is a bad idea?

1. It's slow

Really, have you seen the benchmarks for that X framework/library? It's very slow in comparison with the alternative in Assembler. You want to use libraries that relatively fast to boost your app, not to slow it.

2. It's poorly maintained

Even if a Github repository has 156k stars like React it doesn't mean there are no issues. There are always problems. There is only a small chance you don't face a bug.

3. It's made by dangerous people and companies

This library is maintained only because there is an interest from special companies and people who want to conquer the Internet and all the software.

4. There could be sensitive data leaks

Almost all libraries/frameworks make additional network requests and pass your personal data. Recently we became aware of a huge leak of credit card data on applications using Javascript, source.

What is the solution?

Just don't use external software. You can write your own. I don't think it's hard to write your own platform to run server-side Javascript or a module to convert CSV to XLSX. It may be hard at first, but it becomes easier later. It is a question of time.

Some of you could say it's hard to write a Node.JS clone but think about how much you'll learn in the process and the only great reason to do this is that you have your own platform that only you control and maintain.

Have you been ever thinking about why do you need to use, for example, Javascript to write web apps? It's a very bad language to do that. If you want to prevent memory, data leaks, poor support, slowness then you need to pick another language/platform to do that(for example, Assembler with WASM). Or better - write your own.

Please write your own stuff. Let's make the Internet safer, faster!

The article is a joke, please don't consider it seriously

Top comments (46)

Collapse
 
fmctaggart profile image
Fraser McTaggart

I write in binary. Assembly was made by BIG-COMPUTING and is harvesting your data to sell on the black market. Don't fall for their modern tricks

Quite an impressive shitpost! Had a good laugh, thanks :)

Collapse
 
phantas0s profile image
Matthieu Cneude • Edited

You're writing in binary, hey? I manually put my electrons through NAND gates. You're an impostor using a very slow implementation and you shouldn't call yourself an engineer!

Collapse
 
lexiebkm profile image
Alexander B.K.

Switching theory is still interesting : designing logic combinatorial or sequential circuits using OR, AND, NAND, inverter. I remember solving exam problems on logic circuits using Karnaugh map and/or Quine McKluskey. But it was only a logic design without touching real microelectronics components.
I find a satisfying thing when I could understand how a latch, flip-flops, counter, register were constructed using FET transistors/ICs.
Now I can only have time/chance to develop web apps. But surely electrical-electronics is still interesting. Even Physics, Maths and some Mechanical Eng subjects are still interesting.

Thread Thread
 
phantas0s profile image
Matthieu Cneude

Well, in my opinion too many things are interesting :D I need 10 lives at least. But you're right, I would love to go deeper in these subjects one day.

Collapse
 
feerzlay profile image
Denis Yakshov

Got Rickrolled, damn.

Collapse
 
juliathepm profile image
Julia Flash

🤣 me too

Collapse
 
tirthaguha profile image
Tirtha Guha

This article lacks insight and foresight.
To give an analogy, you can go for institutional education, or be home schooled. Do whatever suits you. In home school you're alone, and can proceed at your own pace. However, you cannot deny the value of institutional education.

if you're sceptical about react, use preact(lightweight), vue(just different), or backbone (if you're really want to go back 8 years). All of them are developed by individuals and supported by community.
But you'll have to accept that they make code manageable and maintainable that you cannot do with vanilla JS. And frameworks are not only for frontends, you use Hybernet/Spring on Java, Flask/DJango on python etc etc. The fact is, in large enterprise application ecosystems, not using a framework is frowned upon, because often you are not the only developer.

PS:
That article about why react should not be used sounded like a cheap trick to attract visitors. more like a clickbaiting. It didn't have any sound logic. And the people who supported are mostly py, Java, Ruby, etc backend developers.

Collapse
 
sergchr profile image
Serhii

This article is sarcastic. I wanted to show a lack of insights and thoughts as it was in the article about React. My position is to use tools that suit your needs and don't reinvent the wheel if you want to make it better.

Collapse
 
lexiebkm profile image
Alexander B.K.

"The article is a joke, please don't consider it seriously"
I was not sure when reading this sentence, but as you clarified in this comment section, it is clear now.
I thought before you are a guy like Igor Sysoev who created Nginx, so initially I took your opinion with awareness.

Collapse
 
tirthaguha profile image
Tirtha Guha

Ah, thanks for clearing that up. 👍

Collapse
 
qm3ster profile image
Mihail Malo

I can absolutely deny the value of institutional education.

Collapse
 
huncyrus profile image
huncyrus

"Do not try to reinvent the wheel... "
I agreed on somewhat, many time a project does not need framework, because it could led to a situation of "Use a cannon to shoot a bird".

But many framework safer and could be faster solution - and more accurate - than most of the people able to build. A very good use-case when people would like to implement their own routing solution instead of using a micro framework or even just a routing package.

Collapse
 
joelbonetr profile image
JoelBonetR 🥇

At business level it's not called reinvent the wheel, it's analyzed to see if it fits exactly with the needs of the company. If you got that the needs does not match exactly with what is done, you'll need to do by your own. This is because you need to modify it from the beginning and at long time app lifecycle you'll need to patch many things. Imagine building a project with 15 different libs (it's not that crazy, I saw big projects with much more than that) and then 1 lib gets out of support, then another one, then another... you'll need to be aware of any bug found on your version (latest) and patch it by your own, while making the things by your own and adding a security audit into your app development cycle makes your app more secure.

Of course frameworks need to be used depending on the situation, for example you will not be using react, angular, preact or svelte for a landing page but for a back office private control app. You'll use html, css (sass/scss) and few js as possible for a landing page or static views on the front office and the tools may vary for the "business public views" (those who makes your company make money) depending on the needs.

Collapse
 
sergchr profile image
Serhii

You're right and I agree with that. We don't need to reinvent the wheel if it's not for purpose of learning.

Collapse
 
perpetual_education profile image
perpetual . education

Stop using HTML, CSS, and JavaScript. Just write your own languages! 😉

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
thefern profile image
Fernando B 🚀

It pains me that a lot of people didn't understand the sarcasm, and actually thought it was a real post.

Collapse
 
joelbonetr profile image
JoelBonetR 🥇

saying it's a joke makes you think in reverse, so if you put this post in reverse it's full of errors that you really need to avoid, that's my concern about beginners thinking the reverse of this post is right and it's not near to the reality. There are reasons for using frameworks and there are reasons for not using them, you need to understand both clearly to discern where to use a framework (or lib), which to use and where avoid them all.

Collapse
 
sergchr profile image
Serhii

The article is a joke :)

Collapse
 
qm3ster profile image
Mihail Malo

Horrible that the comment was deleted.
Do you have it backed up anywhere?

Collapse
 
amt8u profile image
amt8u

Got it. Let me learn c++ so that I can create a new browser for my self with the most efficient js engine:-P.

Collapse
 
qm3ster profile image
Mihail Malo

Learn Rust. It will be less insecure.

Collapse
 
gsarig profile image
Giorgos Sarigiannidis

When I hovered the link and saw that it was a YouTube URL I made a bet with my self that it would be RickRoll.

The good news is that I won the bet.
The bad news is that I lost the bet.

Collapse
 
sergchr profile image
Serhii

The article isn't serious :)

Collapse
 
abba_m_ profile image
Strange

Is every developer going to work alone? or the 'you' in your post is referring to companies to?

Collapse
 
sergchr profile image
Serhii

If the article was serious, then yes. Every developer is going to work alone.
But as it's not the case, then we don't need to work alone at all!

Collapse
 
lexiebkm profile image
Alexander B.K.

Unfortunately or fortunately, I am a lone developer. Because of that, I am free to pick frameworks/libraries as well as any technologies that I find useful or suitable.

Collapse
 
joelbonetr profile image
JoelBonetR 🥇

I read the post even the line that says it's a joke but there's some reasons for not using frameworks or libs on the real world. Using them makes your project sensible to the maintenance of another company or community that maintains that framework, apart from that I see many people using them indiscriminately instead on using them for the reason they are made to.

Data leaks could happen on any system but of course they could be more frequent when using some backend framework that has a day zero security hole that hackers can use, it can happen to your own system too but the hackers will need to inspect your own system for months instead on inspecting a framework used by hundreds of thousands of people. That's why you need to audit your security when on production, specially if you're on a big company that can be a target for hackers.

Don't take this matter of conversation as a joke because it's not, important facts are over the table when analyzing and architecting a project that can be or will be used by a high number of customers in order to protect as much as possible your customers data and privacy.

Collapse
 
efleurine profile image
Emmanuel

Plus if you use this library your are missing a chance to use a more powerful library tomorrow. Don't limit yourself and lock away the possibility to use the perfect one. Once it comes out. You better stand ready by using your own stuff

Collapse
 
ashishk1331 profile image
Ashish Khare😎 • Edited

Writing Your Own framworks:
Pros -

  1. You know the need
  2. Try own compressions
  3. Precise
  4. Hassle-free from parallel world syntaxs

Cons :

  1. Can be tedious without help
  2. Strangle yourself with your own code.

While a attempt is worth it.
Once a time every js coder should try to make a framework.

Collapse
 
manishfoodtechs profile image
manish srivastava

It's good article sergiy. Mostly, I agreed with you. There is no best framework, and every time the next is ready to take its place. Developers caught one after the other in the learning of frameworks. For example: codeiginiter, then laravel, and then ... Any next ... It's the drawback to using the frameworks. You correctly pointed to a safety leak. Just imagine, if laravel has a security hole in it, then the millions of website will get compromised at once.
Why I said, most of the time I agreed with you, because most of the young developers are too dependent on frameworks. Frameworks are like a calculator. You should at least know about mathematics and be able to check your findings.
For framework dependent user (calculator)
4+4÷4=2

For developer who ask why and courage to question big frameworks:
4+4÷4=5

Collapse
 
dsaw profile image
Devesh Sawant

Stop using programming languages, write in binary!
Lol, like your sense of humour.