It's true, technically React and Vue are libraries not frameworks. There are so many other pieces that can be added (Vuex, Redux, Vue-Router, React-Router, etc) that they can easily be turned into frameworks.
Personally I like React the best for front-end frameworks although I started with Vue. Many of the concepts are the same so learning one framework can translate general concepts to another. You just need to learn the syntax and how that framework is set up.
Vue, Vue-Router and Vuex is killer.
To use just few method or to implement some functionality we need to load whole library.
Because even a whole library is not really big. Let's look at React for example, it's ~100kB (including react-dom). Is that much? We need to compare this size to all elements of a website. Even though Ben has optimised dev.to its CSS still has ~200kB (the page you are currently looking at) and we haven't even taken a look at the size of all the images, yet!
But it gets worse. Since react is a standard library that is being used on many websites, chances are good that react.min.js is already in the browser cache. So it does not need to be transferred another time. But when you write your own library in order to save some bytes, how are the chances that your library is already in your user's browser cache?
Summary: a library that has 1/10 of react's size does not give you 10x performance improvement - instead it might even be slower than react. However you might want to take a look at Preact.
This is such a great overview, thanks for the article! I'm definitely going to refer people to this. Frameworks are amazing, but I've seen lots of beginners confused about the boundary between the framework from the language. This should help!
Thanks very much for this! I'm new to coding so Bootstrap is the only one I'm personally familiar with. I'd heard about lots of the others but I couldn't tell you anything else about them. This has helped put them in context for me and has made me look forward to using them rather than being afraid.
Very good summary of web frameworks, I'm personally a large fan of Ember for the front-end side. I'd include some notes about what frameworks have testing included or how easy they make it, since it can be easy to overlook for beginners despite being crucial. Ember has a full testing suit ready to use and is easy to set up with continuous integration, another reason I'm a fan.
Also for "Where to Start Learning," I'd also recommend people check out the Hartl "Ruby on Rails Tutorial." It helped me through much of the learning curve I needed for my job, and lowered the learning curve for similar frameworks (like Ember haha)
It'd be nice to have an article on why you shouldn't use a framework - if only for balance :D
Wow, that's a quite good summary, Keep it up 😄
IMHO absolute beginners should not start out by using frameworks
And if you're expert enough, you can make things without using frameworks.
True, but beginners should build things themselves first WITHOUT frameworks - gaining understanding about the basics of web development. Using a framework from the start will get you quick and easy results, sure, but you will have no real understanding about how anything works. This is 100% necessary if you intend to be a developer.
I've seen so many 'developers' who have just gone down the route of following tutorials, installing and configuring frameworks & libraries. They can get a site up and running, but once a serious problem occurs, or a change outside the scope of their very limited skill/understanding is asked for by a client, they are totally lost. The next stage for many of these developers is googling for an answer, then copying and pasting 'solutions' from StackExchange that they have no clue about how they work.
This is a terrible way to go about learning how to be a developer. Start with the basics, and build from there. Frameworks are a convenience to be used to prevent you having to do the basic stuff again and again - after you already understand that basic stuff
Your posts are the best!
Cool article. I also follow your personal blog and was wondering how to import your articles from your blog to dev.to?
Thanks! I actually normally change them a little bit between sites (formatting and the call to action). Both sites are in Markdown, so I just copy paste over and tweak a little bit!
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.