<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: madhu</title>
    <description>The latest articles on DEV Community by madhu (@madhu).</description>
    <link>https://dev.to/madhu</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F66162%2F53609650-e40f-4ee6-8f3c-42fcf461d23f.png</url>
      <title>DEV Community: madhu</title>
      <link>https://dev.to/madhu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/madhu"/>
    <language>en</language>
    <item>
      <title>Why I am seeing Stack-overflow site this way, Is it Hacked?</title>
      <dc:creator>madhu</dc:creator>
      <pubDate>Mon, 01 Apr 2019 13:13:27 +0000</pubDate>
      <link>https://dev.to/madhu/why-i-am-seeing-stack-overflow-site-this-way-is-it-hacked-34am</link>
      <guid>https://dev.to/madhu/why-i-am-seeing-stack-overflow-site-this-way-is-it-hacked-34am</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2F4WCzFa9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2F4WCzFa9.png" alt="stackoverflow got weird makeover?"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://stackoverflow.com/questions/16205788/jquery-append-text-inside-of-an-existing-paragraph-tag" rel="noopener noreferrer"&gt;here is the link &amp;gt;&amp;gt;&amp;gt;&amp;gt; stackoverflow.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>[Off Topic] Can testers and developers be friends?</title>
      <dc:creator>madhu</dc:creator>
      <pubDate>Fri, 28 Sep 2018 10:33:44 +0000</pubDate>
      <link>https://dev.to/madhu/off-topic-can-testers-and-developers-be-friends-4l0f</link>
      <guid>https://dev.to/madhu/off-topic-can-testers-and-developers-be-friends-4l0f</guid>
      <description></description>
      <category>discuss</category>
    </item>
    <item>
      <title>What are the advantages of ES7 over ES6 (Focusing on React)?</title>
      <dc:creator>madhu</dc:creator>
      <pubDate>Wed, 29 Aug 2018 08:54:55 +0000</pubDate>
      <link>https://dev.to/madhu/what-are-the-advantages-of-es7-over-es6-18bh</link>
      <guid>https://dev.to/madhu/what-are-the-advantages-of-es7-over-es6-18bh</guid>
      <description>&lt;p&gt;I read in ES7 we can declare the state variables outside the constructor and also declare propTypes as a static properties, declared as high as possible within the component code.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React, { Component } from 'react'
import { string, object } from 'prop-types'

export default class ProfileContainer extends Component {
  state = { expanded: false }

  static propTypes = {
    model: object.isRequired,
    title: string
  }

  static defaultProps = {
    model: {
      id: 0
    },
    title: 'Your Name'
  }

}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Could anyone explain me what are the advantageous of doing it, Also I would want to know new features of ES7, A layman explanation.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>es6</category>
      <category>ecmascript</category>
      <category>help</category>
    </item>
    <item>
      <title>React, when to use propTypes what are the best practices?</title>
      <dc:creator>madhu</dc:creator>
      <pubDate>Mon, 27 Aug 2018 12:14:53 +0000</pubDate>
      <link>https://dev.to/madhu/react-when-to-use-proptypes-what-are-the-best-practices-c8p</link>
      <guid>https://dev.to/madhu/react-when-to-use-proptypes-what-are-the-best-practices-c8p</guid>
      <description></description>
      <category>discuss</category>
      <category>react</category>
      <category>proptypes</category>
    </item>
    <item>
      <title>Storybook - UI component development tool for React, Vue, and Angular (Article focusing on React)</title>
      <dc:creator>madhu</dc:creator>
      <pubDate>Fri, 24 Aug 2018 09:40:32 +0000</pubDate>
      <link>https://dev.to/madhu/storybook---ui-component-development-tool-for-react-vue-and-angular-article-focusing-on-react-29od</link>
      <guid>https://dev.to/madhu/storybook---ui-component-development-tool-for-react-vue-and-angular-article-focusing-on-react-29od</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0REcx4xZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/h0tkhbillluy2661maka.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0REcx4xZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/h0tkhbillluy2661maka.png" alt="Storybook"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://storybook.js.org/basics/guide-react/"&gt;Storybook&lt;/a&gt; is a UI development environment for your UI components. With it, you can visualize different states of your UI components and develop them interactively.Being able to quickly visualize components and interact with them is very useful.&lt;/p&gt;

&lt;p&gt;With &lt;a href="https://storybook.js.org/basics/guide-react/"&gt;Storybook&lt;/a&gt;, it’s easy to leverage those React components for UI testing.&lt;/p&gt;

&lt;p&gt;Once you’ve made a React component, you will need to add styling and test how the component renders with different data sets. You can pass data into a component, and &lt;a href="https://storybook.js.org/basics/guide-react/"&gt;Storybook&lt;/a&gt; will render the component by itself. &lt;/p&gt;

&lt;p&gt;This can be helpful for special cases like no data (where a “no results” message might be displayed), or longer content that might mess up the UI. Storybook tests allow you to test out these UI cases without having to fiddle with test data in your database, hardcoded into your component, and so on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get Started
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://storybook.js.org/basics/guide-react/"&gt;Storybook&lt;/a&gt; runs alongside your app in development mode. It helps you build UI components isolated from the business logic and context of your app.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup React Storybook
&lt;/h3&gt;

&lt;p&gt;To set up React Storybook the first thing you’ll need is a React project. If you don’t have a suitable one at the moment, you can easily create one using &lt;code&gt;create-react-app&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The easiest way to get started with Storybook is to use the getstorybook tool, a CLI that scans your app and will make the (small) changes required to get storybook working. You can use it like so:  &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm i --save-dev @storybook/react

cd [your-app]
getstorybook
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Note: I use yarn package manager in my project since I found some issues with running &lt;code&gt;getstorybook&lt;/code&gt; command inside my npm project.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;getstorybook&lt;/code&gt; will add a folder to your react app called &lt;code&gt;.storybook/&lt;/code&gt; which includes a file &lt;code&gt;config.js&lt;/code&gt; and &lt;code&gt;addons.js&lt;/code&gt;. This file is the “entrypoint” for your storybook and from here you need to require each file that contains a story for any component. The default is simply to start at a file named stories/index.js, although you can customize this.&lt;/p&gt;

&lt;p&gt;To run Storybook, execute &lt;code&gt;yarn run storybook&lt;/code&gt; and open the address displayed (&lt;a href="http://localhost:9009/"&gt;http://localhost:9009/&lt;/a&gt;). The app should look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Nw6_PDi0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/k3fpdsu678ef41qb9hl0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Nw6_PDi0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/k3fpdsu678ef41qb9hl0.png" alt="Storybook"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Writing a New Story
&lt;/h2&gt;

&lt;h4&gt;
  
  
  configuration
&lt;/h4&gt;

&lt;p&gt;We have to let &lt;code&gt;Storybook&lt;/code&gt; know where the stories are in &lt;code&gt;.storybook/config.js&lt;/code&gt;.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { configure} from '@storybook/react';

const req = require.context('../src/components', true, /\.stories\.js$/);

function loadStories() {
   req.keys().forEach(path =&amp;gt; req(path)); // customized stories path
}

configure(loadStories, module);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Either it could be direct story path or customized stories path where it takes all the files matching the regex &lt;code&gt;/\.stories\.js$/&lt;/code&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  A simple Stroy
&lt;/h4&gt;

&lt;p&gt;Writing a simple &lt;code&gt;welcome.js&lt;/code&gt; component which just contains welcome text.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React, { Component } from 'react'

export default class Welcome extends Component {

 render() {
   return (
     &amp;lt;div&amp;gt;
       &amp;lt;h1&amp;gt;{this.props.message}&amp;lt;/h1&amp;gt;
     &amp;lt;/div&amp;gt;
   )
 }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Creating a simple &lt;code&gt;welcome.stories.js&lt;/code&gt; story.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from 'react';
import { storiesOf } from '@storybook/react';
import Header from '../components/Welcome';

const stories = storiesOf('Welcome', module);

stories.add('welcome message', () =&amp;gt; (

   &amp;lt;Header
     message="Welcome to Storybook!"
   /&amp;gt;

));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Storybook will look like this.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t9inXfeI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/dullh3t5keejdyk2weez.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t9inXfeI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/dullh3t5keejdyk2weez.png" alt="Storybook"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Addons
&lt;/h2&gt;

&lt;p&gt;Storybook is extremely useful by itself, but to make things better it also has a number of addons. In this article, we’ll cover only some of them, but be sure to check out the &lt;a href="https://storybook.js.org/addons/addon-gallery/"&gt;official list&lt;/a&gt; later.&lt;/p&gt;

&lt;p&gt;Note: the version of the addons should be compatible with version of Storybook.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/storybooks/addon-jsx#storybook-addon-jsx"&gt;storybook-addon-jsx&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This Storybook addon shows you the JSX of the story. It can be useful to see what props you set, for example.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;yarn add -D @storybook/addons

yarn add -D storybook-addon-jsx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;After installing we need to globally configure it in &lt;code&gt;.storybook/config.js&lt;/code&gt;.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { configure} from '@storybook/react';
import JSXAddon from 'storybook-addon-jsx';

setAddon(JSXAddon);

const req = require.context('../src/components', true, /\.stories\.js$/);

function loadStories() {
   req.keys().forEach(path =&amp;gt; req(path)); // customized stories path
}

configure(loadStories, module);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Now we have to replace the &lt;code&gt;.add&lt;/code&gt; with &lt;code&gt;.addWithJSX&lt;/code&gt;.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;stories.addWithJSX('welcome message', () =&amp;gt; (

   &amp;lt;Header
     message="Welcome to Storybook!"
   /&amp;gt;

));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Storybook Addons section would look like this.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8XNOeMG9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/fam920y1tu3yl0z6ri8x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8XNOeMG9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/fam920y1tu3yl0z6ri8x.png" alt="Addons"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/@storybook/addon-knobs?activeTab=readme"&gt;@storybook/addon-knobs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Storybook Addon Knobs allow you to edit React props dynamically using the Storybook UI. You can also use Knobs as a dynamic variable inside stories in Storybook.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;yarn add -D @storybook/addon-knobs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Now we have to add the &lt;code&gt;.addDecorator(withKnobs)&lt;/code&gt; to use the knob in our &lt;code&gt;welcome.stories.js&lt;/code&gt;.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import React from 'react';
import { storiesOf } from '@storybook/react';
import Header from '../components/Welcome';

import { withKnobs, text, boolean, number } from '@storybook/addon-knobs/react';

const stories = storiesOf('Welcome', module);

stories.addDecorator(withKnobs).add('welcome message', () =&amp;gt; (

   &amp;lt;Header
     message={text('headline','Welcome to Storybook!')}
   /&amp;gt;

));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Storybook Addons section would look like this.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Fvtc8VkC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/2hv2m01ylt4d24mhols3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Fvtc8VkC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/2hv2m01ylt4d24mhols3.png" alt="Addons"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before using these addons we have to register these plugins inside the &lt;code&gt;.storybook/addons.js&lt;/code&gt; file(some specific addons need not be registered like this, Please refer &lt;a href="https://www.npmjs.com/"&gt;NPM site&lt;/a&gt; for details on each addons).&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import '@storybook/addon-actions/register';
import '@storybook/addon-links/register';
import '@storybook/addon-knobs/register';
import 'storybook-addon-jsx/register';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Few Other Addons are;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/storybook-addon-scissors"&gt;storybook-addon-scissors&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/storybooks/storybook/tree/master/addons/info#storybook-info-addon"&gt;Storybook Info Addon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>storybook</category>
      <category>react</category>
      <category>vue</category>
      <category>angular</category>
    </item>
    <item>
      <title>ReactJS vs Angular5 vs Vue.js — What to choose in 2018?</title>
      <dc:creator>madhu</dc:creator>
      <pubDate>Mon, 20 Aug 2018 12:16:18 +0000</pubDate>
      <link>https://dev.to/madhu/reactjs-vs-angular5-vs-vuejswhat-to-choose-in-2018-3jfh</link>
      <guid>https://dev.to/madhu/reactjs-vs-angular5-vs-vuejswhat-to-choose-in-2018-3jfh</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F7mdkaoaozk9sa4buqr64.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F7mdkaoaozk9sa4buqr64.png" alt="ReactJS vs Angular5 vs Vue.js — What to choose in 2018?"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some time ago we published an article with a comparison of Angular 2 and React. In that article, we showed pros and cons of these frameworks and suggested what to choose in 2017 for particular purposes. So, what is the situation in the frontend garden in 2018?&lt;/p&gt;

&lt;p&gt;JavaScript frameworks are developing at an extremely fast pace, meaning that today we have frequently updated versions of Angular, ReactJS and another player on this market — Vue.js.&lt;/p&gt;

&lt;p&gt;We analyzed the number of open positions worldwide that require a specific knowledge of a certain framework. As a source, we took Indeed.com and got the following distribution according to more than 60,000 job offers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fvah5u7t63f6hpeha4w6n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fvah5u7t63f6hpeha4w6n.png" alt="ReactJS vs Angular5 vs Vue.js — What to choose in 2018?"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Taking into account the following data, we decided to share the main advantages and disadvantages of every frontend framework and help tech professionals or engineers to choose the best one for their development needs.&lt;/p&gt;

&lt;h1&gt;
  
  
  Pros and cons of Angular 5
&lt;/h1&gt;

&lt;p&gt;Angular is superheroic JavaScript MVVM framework, founded in 2009, which is awesome for building highly interactive web applications.&lt;/p&gt;

&lt;h4&gt;
  
  
  Benefits of Angular 5:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;New features like enhanced RXJS, faster compilation (in under 3 seconds), new HttpClient launch.&lt;/li&gt;
&lt;li&gt;Detailed documentation that allows getting all necessary information for the individual developer without asking his colleagues. However, this requires more time for education.&lt;/li&gt;
&lt;li&gt;Two-way data binding that enables singular behavior for the app which minimized risks of possible errors.&lt;/li&gt;
&lt;li&gt;MVVM (Model-View-ViewModel) that allows developers to work separately on the same app section using the same set of data.&lt;/li&gt;
&lt;li&gt;Dependency injection of the features related to the components with modules and modularity in general.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Drawbacks of Angular 5:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The complex syntax that comes from the first version of Angular. Nevertheless, Angular 5 uses TypeScript 2.4 which is the least difficult to learn in comparison.&lt;/li&gt;
&lt;li&gt;Migration issues which can appear while moving from the older version to the latest ones.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Companies that use Angular 5: Upwork, Freelancer, Udemy, YouTube, Paypal, Nike, Google, Telegram, Weather, iStockphoto, AWS, Crunchbase.&lt;/p&gt;

&lt;h1&gt;
  
  
  Pros and cons of ReactJS
&lt;/h1&gt;

&lt;p&gt;ReactJS is a JavaScript library, open sourced by Facebook in 2013, which is great for building huge web applications where data is changeable on a regular basis.&lt;/p&gt;

&lt;h4&gt;
  
  
  Benefits of ReactJS:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Easy to learn. React is much easier to learn because of its simplicity in terms of syntax. Engineers just need to recall their HTML writing skills and that’s it. No need to deeply learn TypeScript like in Angular.&lt;/li&gt;
&lt;li&gt;High level of flexibility and maximum of responsiveness.&lt;/li&gt;
&lt;li&gt;Virtual DOM (document object model) that allows arranging documents in HTML, XHTML, or XML formats into a tree from which is better acceptable by web browsers while parsing different elements of the web app.&lt;/li&gt;
&lt;li&gt;Combined with ES6/7, ReactJS can work with the high load in an easy way.
Downward data binding which means that with this kind of data flow the child elements cannot affect parent data.&lt;/li&gt;
&lt;li&gt;100% open source JavaScript library which get a lot of everyday updates and improvements according to the contributions of developers all over the world.&lt;/li&gt;
&lt;li&gt;Absolutely light-weighted because the data performing on the user side can be easily represented on the server side simultaneously.&lt;/li&gt;
&lt;li&gt;Migrating between versions is generally very easy, with Facebook providing “codemods” to automate much of the process.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Drawbacks of ReactJS:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Lack of official documentation — super-fast development of ReactJS leaves no place for the proper documentation which is a bit chaotic now as many developers contribute it individually without any systematic approach;&lt;/li&gt;
&lt;li&gt;React is unopinionated — meaning that developers sometimes have too much choice;&lt;/li&gt;
&lt;li&gt;Long time to master which means that React JS requires deep knowledge of how to integrate user interface into MVC framework.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Companies that use ReactJS: Facebook, Instagram, Netflix, New York Times, Yahoo, Khan Academy, Whatsapp, Codecademy, Dropbox, Airbnb, Asana, Atlassian, Intercom, Microsoft.&lt;/p&gt;

&lt;h1&gt;
  
  
  Pros and cons of Vue.js
&lt;/h1&gt;

&lt;p&gt;Vue.js is a JavaScript framework, launched in 2013, which perfectly fits for creating highly adaptable user interfaces and sophisticated Single-page applications.&lt;/p&gt;

&lt;h4&gt;
  
  
  Benefits of Vue.js:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Empowered HTML. This means that Vue.js has many similar characteristics with Angular and this can help to optimize HTML blocks handling with a usage of different components.&lt;/li&gt;
&lt;li&gt;Detailed documentation. Vue.js has very circumstantial documentation which can fasten learning curve for developers and save a lot of time to develop an app using only the basic knowledge of HTML and JavaScript.&lt;/li&gt;
&lt;li&gt;Adaptability. It provides a rapid switching period from other frameworks to Vue.js because of the similarity with Angular and React in terms of design and architecture.&lt;/li&gt;
&lt;li&gt;Awesome integration. Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. The main thing is that smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.&lt;/li&gt;
&lt;li&gt;Large scaling. Vue.js can help to develop pretty large reusable templates that can be made with no extra time allocated for that according to its simple structure.&lt;/li&gt;
&lt;li&gt;Tiny size. Vue.js can weight around 20KB keeping its speed and flexibility that allows reaching much better performance in comparison to other frameworks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Drawbacks of Vue.js:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Lack of resources. Vue.js still has a pretty small market share in comparison with React or Angular, which means that knowledge sharing in this framework is still in the beginning phase.&lt;/li&gt;
&lt;li&gt;Risk of over flexibility. Sometimes, Vue.js might have issues while integrating into huge projects and there is still no experience with possible solutions, but they will definitely come soon.&lt;/li&gt;
&lt;li&gt;Lack of full English documentation. This leads to a partial complexity on some stages of development, nevertheless, more and more materials are being translated into English.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;UPDATE:&lt;/em&gt; As &lt;a href="https://dev.to/n_tepluhina"&gt;&lt;strong&gt;Natalia Tepluhina&lt;/strong&gt;&lt;/a&gt; informed in her comments, Now &lt;br&gt;
Vue.js has it's full &lt;a href="https://vuejs.org/v2/guide/" rel="noopener noreferrer"&gt;&lt;strong&gt;English Documentation&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Companies that use Vue.js: Xiaomi, Alibaba, WizzAir, EuroNews, Grammarly, Gitlab and Laracasts, Adobe, Behance, Codeship, Reuters.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;em&gt;CONCLUSION&lt;/em&gt;
&lt;/h1&gt;

&lt;p&gt;For a real engineer, there is no substantial difference which framework to choose, because it just takes some time to get used to the new one. In our company, we grow expertise in mostly ReactJS and Angular 2/4/5, but Vue.js is also on board. Every framework has its own pros and cons, meaning that there should be just a right choice for every single case during the product development.&lt;/p&gt;

&lt;p&gt;source: &lt;a href="https://www.techmagic.co/" rel="noopener noreferrer"&gt;https://www.techmagic.co/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>angular</category>
      <category>react</category>
      <category>vue</category>
    </item>
  </channel>
</rss>
