loading...

Stop using frameworks and libraries

sergchr profile image Sergiy Updated on ・2 min read

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

Discussion

pic
Editor guide
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

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
nimicent profile image
Julia Nash

🤣 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
Sergiy Author

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
Sergiy Author

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
Sergiy Author

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
zoedreams profile image
☮️✝️☪️🕉☸️✡️☯️

sounds morel ike your burned out with react. i think we all are. frameworks are a necessary part of development useful and sharable API and PSI. Without this coherent glue, then the complexity of things tend to spiral way out. A framework is really just a collection of modules that work together to accomplished a shared goal?

Collapse
sergchr profile image
Sergiy Author

The article isn't serious :)

Collapse
zoedreams profile image
☮️✝️☪️🕉☸️✡️☯️

LOL, ya i read that at the bottom. you and your jokes :) now its funny.

Collapse
shah78677 profile image
Mir Quadri

I get that this article is written in jest. But personally speaking in my freelancing career, I have often used custom made libraries and repositories that were lightweight and had only the features that I particularly required. So what I would often do is deploy those libraries and instantly create functionality and finesse on the websites I made without compromising on the storage. This is especially true in the case of CSS and certain types of functionality that can be provided easily using JQuery.

Collapse
z00md profile image
z00md

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
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
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
bpedroza profile image
Bryan

Got Em`! That was fun. Thanks for the laugh.

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
hugekontrast profile image
Ashish Khare😎

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
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
Sergiy Author

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
jwkicklighter profile image
Jordan Kicklighter

I get what you're going for, but some poor junior dev is going to find this and take it to heart.

Collapse
sergchr profile image
Sergiy Author

It can be the case, you're right. I attached a post-note at the end.

Collapse
anzhari profile image
Anzhari Purnomo

Whelp, got my first rickroll in 2020.

Collapse
dsaw profile image
Devesh Sawant

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

Collapse
jrbrtsn profile image
John Robertson

Sometimes the only practical thing to do is leverage a large body of work such as a library or framework. That said, be very careful about betting your career on these things.

Collapse
kretaceous profile image
Abhijit Hota

This article better be sarcasm.

Edit: oh ok, it is

Collapse
shahrozahmd profile image
Shahroz Ahmed

Seems like you are encouraging to reinvent the wheel🤣

Collapse
loouislow profile image
Loouis Low

Oh no... Not again another controversial Not to use frameworks.

Collapse
manishfoodtechs profile image
manish srivastava

Here is an article that adds to your point:

dev.to/o_nagen11/moment-js-the-sel...

Collapse
alidrus profile image
Abu Bakar Al-Idrus

Haha. You really had me going there for a while, until I got to the end of the article.

Collapse
psiho profile image
Mirko Vukušić

Oh please not again

Collapse
puruvj profile image
PuruVJ

I was so gonna bash your head until I read the last line 🤣😂

Collapse
easrng profile image
easrng

WASM is nothing like assembly tho. It's more like a cross between lisp and RPN.

Collapse
andrewbaisden profile image
Andrew Baisden

The sarcasm is lost to some 😂

Collapse
qm3ster profile image
Mihail Malo

This article is a lie! React has 157k stars!