Programmers.io - Vue.JS David - Vs Goliath

Vue.JS- David Versus Goliath(s)?

Meet Vue.js

When Evan You graduated from design school with his MFA in Design and Technology, he was just beginning to play with JavaScript for fun. He ended up at Google working on projects with Angular. He loved the data-driven way of working with the DOM, but felt as many developers do, that Angular was too heavy, that the code forced its structure in too many ways. He wanted a framework that was sleek and lightweight. Evan You wanted a framework with all the strong elements of Angular, Ember and React, and he thought he could make app development faster, easier, and more enjoyable. So he experimented, starting with declarative data binding. Soon he kicked off Vue.js. His framework contends for the top tier in JavaScript frameworks even though its closest competitors, Angular and React would seem to loom over it because they have behemoth companies backing them. Vue.js is a David among Goliaths with potential to catch up, if not outpace competitors. It offers a faster learning curve while being super lightweight.

David V. Goliath Popularity and Age

In the trope of David and Goliath, the kid battles a giant trotted out by a larger neighbouring state. In this case, the kid is Vue.js. The giants are Google’s Angular and Facebook’s React. A Patreon supported framework, Vue.js is third and climbing. The question is why. The answer begins with its open-source style as well as its upstart, enthusiastic community of coders and crowd funders.

Everyone wants to know how young, — i.e. green, unproven, yet innovative– are these battling frameworks. Older languages often have proven systems and the wisdom of millions of collective programmers documenting and improving them. Younger products, like frameworks, must prove themselves on reliability, stability, ubiquity and learnability. Angular came about in 2010 for front end applications. By 2016, Google’s team matured it into a three pillared, single-page application framework. React launched with Facebook’s newsfeed ads. In 2010 it looked like Syntax, and by 2013 it was an open-sourced front end framework with 3 million developers. By 2014, its reputation solidified. Reacts’ popularity shot up.

Why should a company bet on the upstart Vue.js?

Evan You launched the first version of Vue.js in 2014, which is open-sourced obviously, since it’s crowdfunded. The first versions of any framework grow quickly but take hold a few years later. As of February 2020, NPM Trends showed React as the top downloaded framework. Vue.js fell just above Angular. Wait, though. With bloggers boasting about Vue.js’ learnability advantage, it has match-score with React. GitHub contributors give Vue.js the most stars. (React has the most Fork and view rates). Stack flow shows Angular.js having long ago peaked, while React climbs, as does Vue.js. (One wonders how Facebook’s fortunes will hold considering concerns about content moderation, political manipulation, and user privacy.)

Top Tier Showdown

Angular

Angular once topped JS frameworks, and it’s still widely used. It has the full force of Google behind it. It works for web platforms where the experience should be app-like, i.e. high performing, available offline, and no or zero-step installations. It works across Mac, Windows, and Linux, with access to OS APIs. With Javascript virtual machines, it generates code like all lines are hand-written. It’s universal. It creates UI views with simple syntax, builds fairly fast and deploys rapidly. It works for animation. BMW and Forbes have interfaces built with Angular. Because it requires a steep learning curve for developers and because it can be large and complex for larger apps, its popularity is waning.

Angular is not recommended for smaller apps or smaller teams. It’s complex in syntax and components. It is good for enterprise applications and large scale dynamic applications.

React

React often comes out at the top because of the interactivity and dynamism of its UI both on websites and mobile apps. Unlike Angular apps, it updates more efficiently. It renders well with its dynamic updates and with data changes. Furthermore, developers find the code more readable and easy to debug. (A framework learnability helps organizations replace developers.) Frameworks like React and Vue.js updates without some of the hiccups of larger apps. Where Angular uses a DOM, React and Vue.js offer a virtual DOM for speed. React reduces memory overhead compared to Angular. React and Vue.js both divide the web page into components which can be in their own self-contained modules. Netflix, Dropbox and Pinterest elements and pages were developed in React.

Some of its disadvantages include multiple and constant updates, it is front end only and its JSX base requires slightly more specialized developers. JSX is an additional language on top of Javascript, complicating learning. It’s not recommended when developers without hands-on experience with Javascript. Nevertheless, React (and Vue.js) make HTML-based projects easy to render with interactive and sleek designs. It’s easier to migrate HTML applications and make them more interactive without as many updates. More on that in the segment on Vue.js.

Vue

Vue.js and React aim to solve the same problems, learnability and speed, but they do so differently. As noted, React uses JSX while Vue.js uses templates based in HTML that integrate easily into existing code. These are handy for when a developer doesn’t want to revert to or learn JSX to create an element or to resolve an issue. It eliminates a build step. Because its learning curve is flatter, a developer can kickstart an app using solid HTML skills.

Vue.js offers extensive, detailed documentation (a plus for onboarding new coders and developers to do future projects with radical new changes). Its code syntax is familiar, and it is flexible for designing an app structure. It’s component-based and includes 2 way binding for data updates. Developers find it versatile. It works for web apps, mobile apps and progressive web applications across all platforms. Interestingly most of the big name adopters are outside of Silicon Valley but are no less hard hitters. They include Alibaba, Reuters, Xiaomi, and 9gag. It’s useful for conference apps, e-commerce, animation, analytics, SaaS, collaboration software, travel and fitness apps. It’s recommended for most anything React can provide, giant or small, but Vue.Js Programming can do more than React, not just on the front end.

Its reported disadvantages include its smaller support community, some language barriers since it’s primarily used in mega-corps in China and India, and some report instability in components.

In Conclusion

In the tech world, the giant postures, but falls. It can signal a turn in the competitions, a fresh challenge. Along comes the innovator, You and his community, hungry for innovation. Enterprises and their users benefit because better development makes their products become nimble and better targeted. In the story of David versus Goliath, David’s king tries to outfit the fresh-faced teen with heavy battle Armor, but he’s already who’d already slayed a lion and a bear. David doesn’t need oversized battle wear. He’s a metaphor for Vue.js, light, nimble, adaptable, a quick study, and ready to take on a giant.

It’s worth asking if Vue.js apps will suit the product you’re offering to your users, now and for the future. After all, David took over as king in the long run.