A regular guy’s path to Front End Frameworks

Eligijus Krėpšta
5 min readMay 21, 2017

So you’re picking a Javascript framework and man it is scary. Because neither you, nor me are JavaScript Ninja Rockstars. Not Eric Elliott (bless him), not even some other dude bragging about JS2017 (is that even a thing?), decorators and all that kind of crap.

I’ve just learned ES6 a few months ago, TypeScript seems too much to even begin with and most of the time I can’t tell what _this_ is.

Like any JavaScript kid, I love the excitement around frameworks and trying them out. But it’s 2017, and I am still overwhelmed with the availability of frameworks. I’m about to share my experience with Angular, Vue and React.

In love with JS

I started coding a few years ago and quickly fell in love with writing jQuery. It so cool moving stuff around with jQuery, but whatever I wrote seemed unmaintainable.

I quickly moved into the world of Angular and so my Javascript journey began.

Angular was great when moving from spaghetti lines of jQuery, to a structured, component based way of organising code. After a few months, components, controllers, factories, directives and Angular way started making sense.

Thanks Angular

I am thankful for Angular, because it taught me about MVC like structure. Now when I look at any web framework, it’s kind of easy to understand how it works. Even when things are called different names or the whole set-up is slightly different.

Also, Stack Overflow is full of help. I was able get unstuck from almost any issues. Because of a rather strict Angular Way of doing things, code examples were always familiar and easy to learn from. It’s something I wasn’t yet able to do with React.

Although Angular was great to learn a few years ago, I am not sure if it still is. Angular1 is getting old (or is actually rather old already). Angular 2 uses Typescript and seems to have an even more inflexible Angular Way.

When the time to move to a more modern framework came, I decided not to go with NG2 and went looking for alternatives.

VueJs or React?

I’ve always wanted to build stuff with React. Just haven’t found a way to do a project with it. Even though I was quite familiar with it, I never got confident enough to use it on a client project.

Vue was just different. The biggest selling point for me was that I did not need to worry about routing or state container. They come from the same people who made Vue.

Vue, Vuex and Vue Router all have consistent and easy to understand documentation. It helped me to understand how state containers work and how to structure the app around them.

It feels that Vue has set me up for better things. I now feel ready to get my hands on React.

New to front end frameworks? Try Vue

If anyone wants to get into front end frameworks, VueJS is definitely a great place to start. It can do anything you need and it is easy to learn.

All major parts of your app (core Vue, Vuex and Router) are done by the same people. For me this is massive.

This allows me to concentrate on writing code and not waste energy on finding the best solution for my problem. Especially when all of them are pretty much the same thing, just wrapped in a different colour paper.

Finally, its code just feels more readable. I can always understand what’s going on just by giving it a quick glance. I can’t say the same about other frameworks.

Something bad about Vue

The community is not as large as the ones of Angular or React. I recently started writing unit tests and only found a few blog posts on that (almost nothing on Stack Overflow). When I needed to write unit tests for Angular, I found a ton of articles.

More, there’s just not so many libraries for Vue. You can get Angular (and probably React) library for anything.

Not sure if it’s a good thing, but at least you get a choice of using a lib. On the other hand, I guess people are writing stuff for Vue and it’s a very good time to join in and contribute towards libraries.

Dear React, you’re scary

I know I know. React is the place to be. I’ve wanted to try it for ages now. Never really had a chance to. Just because it’s so scary. I would watch a tutorial, build a small todo app and would not be able to understand what to do with it.

Props, Flux, Redux, Babel, ES6 syntax, expanding and extending stuff. This was all just gibberish before I tried Vue. Now I’m kind of ok with the idea of using React. And I am excited.

Why am I excited to use React

It seems that all the big boys are using it. I recently got React Developer Tools extension and it becomes active whenever I land on a webapp I love. Stuff built with React is really fast, nice and cool.

Second source of excitement is React Native. I know that it isn’t 100% write once, use anywhere kind of thing, but still, being able to build a native app is something to be excited about.

I can’t wait until I’ll be able to finally be able to explain to people what I do. “I can build iPhone apps!”.

Finally, it seems that React is becoming an industry standard. I’ve got a feeling that one can hardly be a decent hipster javascript kid without being at least moderately good with React. I want to stay current so I have to learn and use React.

Vue is good for freelancers, React is good for jobs

Picking a front end framework definitely is confusing. Also, trends seem to be changing all the time. Makes it more difficult. If I was to start again now and learn them, I would go with Vue first, then move on to React. In a way, it is what I am doing now.

The reason for it is that React might be too complicated for a beginner. Also, if you’re a freelancer, your clients probably won’t care what framework you use so you can use Vue.

I don’t see much work for Vue devs. So if you want to be hireable, you will still need to learn React. Also React Native and the sheer popularity of core framework can only be an advantage.

So I’ve shared my story and somewhat opinionated way of choosing a framework. Everyone’s story is different. I hope this is useful :)

--

--