Pros and Cons of Vue.js

Since I started to learn Vue.js a few months ago, I realized that it has some benefits I like and some things which I really hate. I’m not an expert in this framework, but I would like to share my thoughts about it.



It is really easy to integrate it into your existing web application by just adding one more ~20KB-size JavaScript library. It allows you to start using it with an old or legacy web site like you did with jQuery in the past! You don’t need all that npm and Single Page Application (SPA) stuff in your (mostly python or something else) project. If you need to start only with a simple grid or ‘Load more’ button - you’ll do exactly what you need without tons of JavaScript libraries and npm packages nightmare.

Curve of learning that helps start fast

Good documentation and examples allow everybody to start development fast. You don’t need to read a lot about patterns in this framework, you won’t be feeling bad because you don’t understand why you have to do it in this way. It’s really easy if you created few websites using at least Flask or Django.

Good number of features are already included

Template engine, vue-router and vuex allow you to implement whatever you need. Two-way binding works out of the box too!

Good TypeScript support

If you’re afraid of JavaScript - try strong-typed TypeScript. I really like this language for front-end development.



I use Vue Devtools extension for Chrome but I’m still feeling that it’s not good enough. I would like to have a better debugger and/or IDE integration (I use Pycharm, btw). It won’t tell you about problems if something went wrong during template rendering - it’s the biggest issue with this framework. It really sucks.

Development process

It’s not really an issue if you are not going to contribute to Vue.js. If you don’t like to file bugs to libraries frameworks you’re using, it’s not an issue for you at all. But you should know, that Vue.js development process is pretty closed and it’s not easy to contribute or get the latest news from the Vue team during new version development.


TypeScript integration with Vue.js is good enough but you’ll be feeling a lack of TypeScript mapping for all dependencies you will use. I think it’s not an issue for Vue.js, it relates to any other framework too.

That’s all I want to say for now. It has own cons and pros but I still like it and I’m going to use it at least for some time more to understand it deeper and maybe find something I like more.


.net .net-framework .net-framework-3.5 agile ajax ajax-control-toolkit ampq ansible apache axum bash benchmark blog blog-engine bootstrap buildout c# cache centos chrome ci cinder ckan cli cloud codeplex community debugger deface development-environment devstack devtime django dlr dns docker dockerimage dos easy_install elmah encoding environment-variables error event events exception exceptions fabrik firefox foreach forms gae gcc git github go google google-app-engine hack hacked hardware headless horizon html hugo iaas ienumerable iis internet iptables iron-python ironic iscsi java-script javascript jenkins jquery js kharkivpy kombu kvm kyiv lettuce libvirt linux lio loci logging mac-os mercurial microsoft microsoft-sync-framework mobile mono ms-office msbuild networking news nginx offtopic open-xml opensource openstack openvswitch os packages paraller-development patterns--practices php pika pip pnp podcast popup postgresql profiler project protocols pycamp pycharm pycon pykyiv pylint pypi python python-3 qcow quantum qumy rabbitmq rar react refactoring rfc rhel search-engine security selenium server shell silverlight socket source-control sourcegear-vault sql sql-server sql-server-express sqlalchemy ssh svg tests tgt tipfy tornado typescript uapycon ui uneta unit-tests usability virtualenv visual-studio vm vue.js vuejs web-development web-server web-service webpack windows windows-live word-press x32 x64 xcode xml xss xvfb интернет-магазин книги

Recent posts

Docker Image Collection

Not a DNS Server for Libvirt

Diskimage-builder in Docker

Everything as a Code

Vue.js, global variables and TypeScript


2019 (19)
2018 (2)
2017 (3)
2016 (2)
2015 (3)
2014 (5)
2013 (17)
2012 (22)
2011 (35)
2010 (25)
2009 (35)
2008 (32)
2007 (2)