<?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: Cuelogic Technologies</title>
    <description>The latest articles on DEV Community by Cuelogic Technologies (@cuelogictech).</description>
    <link>https://dev.to/cuelogictech</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%2Forganization%2Fprofile_image%2F1302%2F6c6266ad-c963-40c5-baf3-c208d4f3b401.png</url>
      <title>DEV Community: Cuelogic Technologies</title>
      <link>https://dev.to/cuelogictech</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cuelogictech"/>
    <language>en</language>
    <item>
      <title>Flutter VS React Native: A Comparison Based On Criteria</title>
      <dc:creator>Cuelogic Technologies</dc:creator>
      <pubDate>Tue, 27 Oct 2020 12:23:40 +0000</pubDate>
      <link>https://dev.to/cuelogictech/flutter-vs-react-native-a-comparison-based-on-criteria-52kc</link>
      <guid>https://dev.to/cuelogictech/flutter-vs-react-native-a-comparison-based-on-criteria-52kc</guid>
      <description>&lt;p&gt;Digitization is the need of the hour. With the advancement in technologies, businesses need to find a way to increase their reach. Mobile applications are an essential medium to extend the circle. An average individual spends about 90% of their online time using mobile or web applications. Software application development needs to be approached in …&lt;/p&gt;

&lt;p&gt;Continue reading "Flutter VS React Native: A Comparison Based On Criteria": &lt;a href="https://www.cuelogic.com/blog/flutter-vs-react-native-a-comparison-based-on-criteria"&gt;https://www.cuelogic.com/blog/flutter-vs-react-native-a-comparison-based-on-criteria&lt;/a&gt;&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>mobile</category>
      <category>android</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>Angular vs. React vs. Vue: A Comparison (Updated)</title>
      <dc:creator>Cuelogic Technologies</dc:creator>
      <pubDate>Fri, 04 Oct 2019 07:53:45 +0000</pubDate>
      <link>https://dev.to/cuelogictech/angular-vs-react-vs-vue-a-comparison-updated-2fgn</link>
      <guid>https://dev.to/cuelogictech/angular-vs-react-vs-vue-a-comparison-updated-2fgn</guid>
      <description>&lt;h1&gt;&lt;strong&gt;&lt;span&gt;Angular Vs React vs Vue in 2018 &lt;/span&gt;&lt;/strong&gt;&lt;/h1&gt;

&lt;p&gt;There is no denying the fact that the virtual world of web development and &lt;a href="https://cuelogic.com/custom-software-development" rel="noopener noreferrer"&gt;custom software development&lt;/a&gt; has been on a thriving technological ride in the past decade. And when it comes to frontend, JavaScript has been at the helm of this drive.&lt;/p&gt;

&lt;p&gt;This popularity has given rise to tons of JavaScript frameworks along the way. The aim of this guide is to take an extensive look two such widely used frameworks - Angular and Vue - and one library - React.&lt;/p&gt;

&lt;p&gt;This is a challenging post to write, but we're sure you must have faced problems dealing with &lt;span&gt;&lt;a href="https://cuelogic.com/blog/top-3-best-javascript-frameworks-in-2018/?s=javascript" rel="noopener noreferrer"&gt;JavaScript frameworks&lt;/a&gt;&lt;/span&gt; in the past and chances are, you must've been confused regarding which one to use.&lt;/p&gt;

&lt;p&gt;If you're having trouble deciding between &lt;span&gt;&lt;a href="https://cuelogic.com/blog/what-are-the-differences-between-angular-and-react/?s=react" rel="noopener noreferrer"&gt;Angular&lt;/a&gt;&lt;/span&gt;, &lt;span&gt;&lt;a href="https://cuelogic.com/blog/what-are-the-differences-between-angular-and-react/?s=react" rel="noopener noreferrer"&gt;React&lt;/a&gt; &lt;/span&gt;or the new kid in the block, Vue, we're here to help.&lt;/p&gt;

&lt;p&gt;This Guide is divided into the following parts -&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. About the frameworks&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;2. Importance of the frameworks&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;3. Maturity of the frameworks&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;4. Future of the frameworks&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;5. Quality of the community&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;6. Basic Programming concepts&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;7. Ease of use for large&lt;/strong&gt; &lt;strong&gt;applications&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;8. Comparing performances&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;9. 101 guide to get started &lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Alright, so let's cut to the chase and compare the three below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/Nt80wG-C9UY" rel="noopener noreferrer"&gt;https://youtu.be/Nt80wG-C9UY&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span&gt;&lt;strong&gt;1. About the frameworks&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Angular:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Angular is a TypeScript based JavaScript Framework that has been developed and maintained by Google. Other notable companies using Angular are: Wix, Weather.com, Forbes, Etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;React:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Known as the ‘JavaScript Library for building user interfaces” , React is developed and maintained by Facebook. Other notable companies using React are: Uber, Twitter, Netflix, Walmart, Etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vue:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Developed and released in 2014 by an ex-Google employee named Evan You. Notable companies using Vue are: Alibaba, Nintendo, GitLab, Etc.&lt;/p&gt;

&lt;p&gt;While Angular and React have been popular products from large corporations, Vue is a one-man army that has quickly risen to vogue status because of the &lt;strong&gt;Model-view-view-model (MVVM)&lt;/strong&gt; architectural pattern that it deploys.&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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FMVVM-Diagram.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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FMVVM-Diagram.png" alt="Model-view-view-model (MVVM)"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since MVVM facilitates the separation of the Graphical User Interface in the &lt;a href="https://hbr.org/1996/03/getting-the-most-out-of-your-product-development-process" rel="noopener noreferrer"&gt;development process&lt;/a&gt; from the Business Logic or Break-up End Logic, Vue is quickly becoming the &lt;strong&gt;go-to&lt;/strong&gt; &lt;strong&gt;language&lt;/strong&gt; for building interactive web application interfaces.&lt;/p&gt;

&lt;h2&gt;&lt;span&gt;&lt;strong&gt;Importance of These Frameworks&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Angular:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simple &amp;amp; Quick&lt;/strong&gt; : MVC framework that is capable of executing complex tasks and building dependency between the controller and template&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DOM has Markup&lt;/strong&gt; : In Angular, the Markup is directly positioned in the HTML records. This is what the stream looks like: HTML → &amp;gt; DOM — -&amp;gt;&amp;gt; Engine&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dependencies Handling&lt;/strong&gt; : Angular is exceptional at handling dependencies. The application can be segregated into isolated modules which may or may not have conditions on each other.&lt;/p&gt;

&lt;p&gt;Easily readable Angular templates that majorly deploy HTML tags👇👇👇.&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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FAngular-Code.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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FAngular-Code.png" alt="Easily readable Angular templates"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;br&gt;
React:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Unidirectional&lt;/strong&gt; : The single-direction data flow in React ends up making the code more  stable.&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;strong&gt;Virtual Dom&lt;/strong&gt; : Presence of a Virtual DOM helps to improve the &lt;a href="https://cuelogic.com/blog/how-to-bring-in-the-best-user-experience-for-your-web-application/" rel="noopener noreferrer"&gt;user experience&lt;/a&gt; and also the development rate. Code Snippet in the next page.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open Source&lt;/strong&gt; : Developers all around the globe contribute to the framework. Features like Batching and Pruning have been community contributions.&lt;/p&gt;

&lt;p&gt;Better Development rate with React👇👇👇&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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FReact-Development-Rate-1.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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FReact-Development-Rate-1.png" alt="Better Development rate with React"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vue:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Syntax&lt;/strong&gt; : The syntax deployed by Vue is supposed to be neat and smooth. For example, @keyup.enter.preven = “do Stuff” can handle any required event.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learning Curve&lt;/strong&gt; : It is extremely easy to introduce new developers in Vue project. The learning curve is smooth with single-file components that make it easy to scrutinize the code base.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Swift&lt;/strong&gt; : Developers can quickly glimpse through any project by refer ring to the. Vue file that stores about the template, CSS, data-model, lifecycle hooks, mapped Vue exactions, watchers, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Declarative Templates&lt;/strong&gt; : Easy HTML templates that are readable without the knowledge of other &lt;a href="https://cuelogic.com/blog/10-best-iot-programming-languages/" rel="noopener noreferrer"&gt;programming languages&lt;/a&gt;. Code Snippet in the next page.&lt;/p&gt;

&lt;p&gt;Readable HTML templates, even without the knowledge of other languages&lt;br&gt;
👇👇👇&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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FVue-Code.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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FVue-Code.png" alt="Readable HTML templates"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Maturity of the frameworks&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;

&lt;p&gt;Choosing the right framework is pivotal to the success of your JavaScript project. While making the decision, it is important to consider whether the system assists or complicates the addition of new elements. When we talk about the maturity of these frameworks, it can be gauged by the response from the &lt;a href="https://github.community/" rel="noopener noreferrer"&gt;GitHub community&lt;/a&gt;. Here are some crucial numbers* to put things in perspective:&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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FAngular-Vs-React-vs-Vue-Comparison.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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FAngular-Vs-React-vs-Vue-Comparison.png" alt="Github *Statistics at the time of compilation"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*Statistics at the time of compilation&lt;/p&gt;

&lt;p&gt;NPM Trends provides the following graph which gives an account of the number of downloads of npm package of those respective frameworks in the past two years.&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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2Fnpm-downloads.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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2Fnpm-downloads.png" alt="npm package of frameworks in the past two years"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the Github stars are plotted on the graph, an interesting trend surfaces.&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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2Fgithub-downloads.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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2Fgithub-downloads.png" alt="Github stars on trend surfaces"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;&lt;strong&gt;Other Important Factors&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Angular &lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;One major update every 6 months&lt;/li&gt;
    &lt;li&gt;Deprecation period of 6 months for every release&lt;/li&gt;
    &lt;li&gt;Long-term support versions starting from Angular 4&lt;/li&gt;
    &lt;li&gt;Easy updating process&lt;/li&gt;
    &lt;li&gt;Full Framework with bundled offerings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;React&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Stable APIs as depicted by the design principles of Facebook&lt;/li&gt;
    &lt;li&gt;Scripts available to move from current to newer APIs. Example - react-codemod&lt;/li&gt;
    &lt;li&gt;Easy migrations&lt;/li&gt;
    &lt;li&gt;Smooth upgrades&lt;/li&gt;
    &lt;li&gt;Stable major releases Independent but fast moving libraries&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Vue &lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Similar APIs during version upgradation in small apps&lt;/li&gt;
    &lt;li&gt;Assisting upgrade migration-helper-tool&lt;/li&gt;
    &lt;li&gt;Issues while migrating versions in large apps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As evident, the popularity of Vue has been skyrocketing, is already more than that of Angular, and is slated to soon surpass the traction of React. Additionally, all three frameworks are available under the MIT License. While the numbers of core developers working on React have not been officially revealed, Angular has listed 37 contributors on the team page, while Vue lists 22 core developers and 14 community partners.&lt;/p&gt;

&lt;blockquote&gt;&lt;strong&gt;&lt;em&gt;To reach a verdict, Angular and React are mature frameworks owing to their large scale adoption. Being a new market player, Vue is still in the development phase but is leading in popularity.&lt;/em&gt;&lt;/strong&gt;&lt;/blockquote&gt;

&lt;h2&gt;&lt;span&gt;&lt;b&gt;Future of the Frameworks&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;h3&gt;&lt;strong&gt;The Outlook:&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;To better gauge the direction in which these technologies are headed, let’s look at their present statuses. According to the &lt;a href="https://insights.stackoverflow.com/survey/2017" rel="noopener noreferrer"&gt;Stackoverflow Survey of 2017&lt;/a&gt;, JavaScript continues to be the most popular language among Web Developers.&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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FjS1.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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FjS1.png" alt="Most popular languages by Occupation"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is valid for other mentioned occupations as well.&lt;/p&gt;

&lt;p&gt;Among JavaScript frameworks, React proves to be the leading choice for 66.9% of the developers. Comparatively, Angularjs clocks a lower approval rate of 51.7%.&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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FjS2.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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FjS2.png" alt="Framework Compression "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;&lt;strong&gt;Awareness &amp;amp; Satisfaction:&lt;/strong&gt;&lt;/h3&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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2Fawareness-Js.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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2Fawareness-Js.png" alt="Front-end Frameworks Survey"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Additionally, according to StateofJS Front-end Frameworks Survey, awareness about Vue is lower at 94%, compared to almost 100% for Angular and React. But when it comes to satisfaction, a whopping 40% of the developers who have used Angular 1 do not plan to use it again. This is in stark contrast to the readings of React and Vue.&lt;/p&gt;

&lt;p&gt;Hence, there is no denying the fact that Angular is fast losing the popularity that it once saw as developers are finding more support in other popular frameworks. On the other hand, React seems to be the current market leader of the three, winning the trust of the community and having a bright future ahead.&lt;/p&gt;

&lt;p&gt;But the same goes for Vue as well. Considering its nascent status, it has gained quick traction and, as far as the GitHub community is concerned, its popularity is on the verge of surpassing even that of React’s.&lt;/p&gt;

&lt;blockquote&gt;&lt;strong&gt;&lt;em&gt;According to trends and statistics, &lt;a href="https://cuelogic.com/angularjs-development" rel="noopener noreferrer"&gt;Angularjs development&lt;/a&gt; is popular and will keep growing. React is the current market leader, but with Vue's traction and popularity it will strongly be challenged.&lt;/em&gt;&lt;/strong&gt;&lt;/blockquote&gt;

&lt;h2&gt;&lt;strong&gt;Quality of Community&lt;/strong&gt;&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Angular&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It has a huge community of users, with the downloads in the last month alone ranging between 1.5 - 2 Million. Moreover, a super active community on GitHub means that you always have someone or the other to help you sail through encountered issues. A range of solutions that are compatible with different versions of Angular can be explored, including advice from veteran developers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;React&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It boasts an impressive download count of about 10 Million downloads in the past month alone. Being supported by the bigshots of Facebook, WhatsApp, and Instagram, React has no dearth of help from experienced developers. Like Angular, React too boasts of an impressive GitHub community where people are always ready to lend a helping hand. Although, it is important to note that React recommends using JSX, which is a modified version of JavaScript extended with XML Syntax. If you haven’t worked with JSX before, this might pose as a problem to begin with due to its complexity. So be ready to actively depend on the community for help.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vue&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The community of Vue is considered to be much smaller than that of React and Angular since it is the latest market player. However, things might look quite different within a year or two since Vue can very well end up being the most popular JavaScript framework.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ease of Finding a Developer&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;When it comes to recruiting and finding the right talent, the tables turn a bit.&lt;/li&gt;
    &lt;li&gt;While being a popular choice among developers, it is not easy to find a talented developer if you are working with React because it is a challenge to find a developer who can modify JSX. However there are certain &lt;a href="https://cuelogic.com/outsource-software-development" rel="noopener noreferrer"&gt;outsource software development&lt;/a&gt; companies that specialize in Javascript &amp;amp; React Development&lt;/li&gt;
    &lt;li&gt;Working with HTML templates proves to be much easier comparatively.&lt;/li&gt;
    &lt;li&gt;Hence, if you are planning to work with Angular or Vue, you can choose to hire talented HTML developers who can quickly learn about these frameworks. Directly finding a talented Angular or Vue developer is not a big deal since the learning curve is derived from HTML, which already has an abundant talent pool in the market.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;&lt;strong&gt;&lt;em&gt;In the case you already have an in-house team of developers or are more interested in an object-oriented development backdrops, Angular is the most relevant choice here.&lt;/em&gt;&lt;/strong&gt;&lt;/blockquote&gt;

&lt;h2&gt;&lt;span&gt;&lt;strong&gt;Basic Programming Concepts of Angular, React &amp;amp; Vue&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Each of these frameworks uses a different scripting language.&lt;/li&gt;
    &lt;li&gt;Angular makes use of TypeScript. TypeScript is a popular open-source programming language that has been developed by Microsoft. It actively involves crucial concepts like static types which provide specific capabilities including automatic refactoring, jump to definitions, etc.&lt;/li&gt;
    &lt;li&gt;Reacts has focused itself around JavaScript ECMAScript 6 (ES 6) which is a version of JavaScript, to put it simply.&lt;/li&gt;
    &lt;li&gt;Similarly, Vue makes use of JavaScript ES 5.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Templates:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;To choose the right framework you need to figure out whether you want to work with JSX or HTML.&lt;/li&gt;
    &lt;li&gt;Angular and Vue are based around standard HTML templates and components that facilitate easy structuring and code reuse. On the other hand, JSX can prove to be a huge concern with new developers.Let’s look at the pros and cons of each -&lt;span&gt;&lt;span&gt;&lt;strong&gt;JSX:&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Pros&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;JSX is better at code-completion and compile-time&lt;/td&gt;
&lt;td&gt;Acts as a barrier for new developers since it is a combination of JavaScript + XML + HTML&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bugs arising due to typos can be easily found as React does not compile typos and prints the number of the line where the typo resides.&lt;/td&gt;
&lt;td&gt;Complex nature as compared to HTML Templates&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;React puts HTML into JavaScript which is better since JS is always more powerful&lt;/td&gt;
&lt;td&gt;No demarcation between UI Templates and Inline JavaScript logic&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;span&gt;&lt;strong&gt;HTML:&lt;/strong&gt;&lt;/span&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Pros&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Cons&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Demarcated view layer from the rest of the framework&lt;/td&gt;
&lt;td&gt;More difficult debugging process compared to JSX&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ability to experiment with various techniques for optimal performance&lt;/td&gt;
&lt;td&gt;Template based approach instead of components&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Clear separation between dynamic and static parts of the view&lt;/td&gt;
&lt;td&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;&lt;span&gt;&lt;strong&gt;Ease of use for large applications&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;p&gt;The capabilities of the respective frameworks vary in accordance with the size of the applications that need to be developed.&lt;/p&gt;

&lt;p&gt;Many developers opine that Angular 3 is unfit when working with large and complex applications. It proves to be perfect if complexity is low, but issues start to mount as the size of the applications scales.&lt;/p&gt;

&lt;p&gt;For example, Gaming applications are usually large and involve DOM manipulation. Moreover, in applications that involve too much data binding, Angular 1 tends to become slow if the watches exceed 2500.&lt;/p&gt;

&lt;p&gt;On the other hand, React proves to be the go to library if you plan to scale the app. This is validated by the fact that Facebook, WhatsApp, and Instagram all make use of React and each of them are large applications at a global scale. A maintainable architecture with server-side rendering can be easily developed with React.&lt;/p&gt;

&lt;p&gt;Developers also consider Vue to be helpful while working with large-scale applications. The framework follows a lean methodology for the learning curve, which immediately trumps the complexity of frameworks like Angular that often prove to be difficult among new developers and large-scale app developers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.cuelogic.com/wp-content/uploads/2018/01/Performance-Benchmark-Image.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.cuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FPerformance-Benchmark-Image.png" alt="Performance Benchmark Image"&gt;&lt;/a&gt; Source: &lt;a href="https://www.stefankrause.net/" rel="noopener noreferrer"&gt;https://www.stefankrause.net/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Regarding rendering speeds and performance tests, here's a chart that lists performance &lt;strong&gt;benchmarks&lt;/strong&gt; of all the three for more clarity.&lt;/p&gt;

&lt;p&gt;[hubspot type=form portal=3432998 id=43c818e9-ba9d-4a5e-a027-8bf8aa4b4481]&lt;/p&gt;

&lt;h2&gt;&lt;span&gt;&lt;strong&gt;COMPARING PERFORMANCES&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Parameter&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Angular&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;React &lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Vue&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Recommended Language&lt;/td&gt;
&lt;td&gt;TypeScript&lt;/td&gt;
&lt;td&gt;JS, JSX&lt;/td&gt;
&lt;td&gt;JS, Vue&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Architecture Flexibility&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Logic Separation&lt;/td&gt;
&lt;td&gt;Good&lt;/td&gt;
&lt;td&gt;Good&lt;/td&gt;
&lt;td&gt;Good&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rendering Speed&lt;/td&gt;
&lt;td&gt;Slow&lt;/td&gt;
&lt;td&gt;Fast&lt;/td&gt;
&lt;td&gt;Fast&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Most Known Architecture&lt;/td&gt;
&lt;td&gt;MVC&lt;/td&gt;
&lt;td&gt;Flux&lt;/td&gt;
&lt;td&gt;Flux&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Parameter&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Angular &lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;React&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Vue&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Server Side Rendering&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CLI&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Not Official&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Debugging Tools&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Testing&lt;/td&gt;
&lt;td&gt;Jasmine and Karma&lt;/td&gt;
&lt;td&gt;Developer’s Choice&lt;/td&gt;
&lt;td&gt;Karma and Mocha, Jest&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data Library&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Parameter&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Angular &lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;React&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Vue&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mobile Build&lt;/td&gt;
&lt;td&gt;Ionic&lt;/td&gt;
&lt;td&gt;React-Native&lt;/td&gt;
&lt;td&gt;Weex&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code Reusability&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No, Only CSS&lt;/td&gt;
&lt;td&gt;Yes, HTML and CSS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Size&lt;/td&gt;
&lt;td&gt;143k&lt;/td&gt;
&lt;td&gt;43k&lt;/td&gt;
&lt;td&gt;23k&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code Stability&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bootstrap Integration&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;&lt;strong&gt;Diy - Test yourself:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you want to carry out the tests yourself, here’s are relevant commands that you can use:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Angular&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;React&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Vue&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;ul&gt;
    &lt;li&gt;$ npm install -g @angular/cli&lt;/li&gt;
    &lt;li&gt;$ git clone https://github.com/mikpetr/angular -performance-test.git&lt;/li&gt;
    &lt;li&gt;$ cd angular-performance-test&lt;/li&gt;
    &lt;li&gt;$ npm install&lt;/li&gt;
    &lt;li&gt;$ ng build -prod&lt;/li&gt;
    &lt;li&gt;$ npm install -g http-server&lt;/li&gt;
    &lt;li&gt;$ cd dist $ http-server&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;ul&gt;
    &lt;li&gt;$ git clone https://github.com/mikpetr/r eact-performance-test.git cd react-performance-test npm install npm run dev Browse to http://localhost:8080&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;ul&gt;
    &lt;li&gt;$ git clone https://github.com/mikpetr/v ue-performance-test.git&lt;/li&gt;
    &lt;li&gt;$ cd vue-performance-test&lt;/li&gt;
    &lt;li&gt;$ npm install&lt;/li&gt;
    &lt;li&gt;$ npm run build&lt;/li&gt;
    &lt;li&gt;$ cd dist&lt;/li&gt;
    &lt;li&gt;$ npm install -g http-server&lt;/li&gt;
    &lt;li&gt;$ http-server&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;As compiled by ITNext, the performance of these tests are carried out with the help of Google Chrome performance tool for calculating the time, which starts when the button is clicked and ends when the rendering process does. Here are the results of the tests*.&lt;/em&gt;&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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FVue-time.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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FVue-time.png" alt="Performance Testing - Vue rendering time 1191ms"&gt;&lt;/a&gt; Performance Testing - Vue rendering time 1191ms&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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FAngular-time.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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FAngular-time.png" alt="Performance Testing – Angular rendering time 931 ms"&gt;&lt;/a&gt; Performance Testing – Angular rendering time 931 ms&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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2Freact-time.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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2Freact-time.png" alt="Performance Testing - React rendering time 1819 ms"&gt;&lt;/a&gt; Performance Testing - React rendering time 1819 ms&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;
&lt;blockquote&gt;&lt;em&gt;&lt;strong&gt;Angular 5 Framework in quite bloated in size.&lt;/strong&gt;&lt;/em&gt;&lt;/blockquote&gt;
&lt;/li&gt;
    &lt;li&gt;
&lt;blockquote&gt;&lt;em&gt;&lt;strong&gt;React and Vue have Virtual DOMs which provide a boost to the performance.&lt;/strong&gt;&lt;/em&gt;&lt;/blockquote&gt;
&lt;/li&gt;
    &lt;li&gt;
&lt;blockquote&gt;&lt;em&gt;&lt;strong&gt;Vue has the deepest memory allocation.&lt;/strong&gt;&lt;/em&gt;&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;&lt;span&gt;&lt;strong&gt;101 Guide to get started on the chosen framework &lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;

&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Angular: Steps to begin development&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt; &lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt; Setting up the development environment &lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Install Node.js and NPM on your local machine&lt;/li&gt;
    &lt;li&gt;Now globally install the Angular CLI&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt; Create a new project &lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Launch the terminal&lt;/li&gt;
    &lt;li&gt;Generate a new project by running the following command&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ng new my-app&lt;/p&gt;




&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt; Serve the Application &lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Launch the server by navigating to the project directory cd my-app ng serve --open&lt;/li&gt;
    &lt;li&gt;This will launch the App



&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Editing your First Angular Component&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;The first Angular Component would have been created by the CLI. This is the root component.
It can be found in the location ./src/app/app.component.ts and it is named app-root&lt;/li&gt;
    &lt;li&gt;&lt;span&gt;You can now open the Component file and change the title by editing the title property to the name of your choice. export class AppComponent&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;{&lt;/p&gt;

&lt;p&gt;title = 'My First Angular App!';&lt;/p&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Style the component by opening src/app/app.component.css&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;h1 {&lt;/p&gt;

&lt;p&gt;color: #369; font-family: Arial, Helvetica, sans-serif; font-size: 250%;&lt;/p&gt;

&lt;p&gt;}&lt;/p&gt;




&lt;p&gt;Continue to develop you app accordingly. Everything that make up your app, including all components, templates, styles, images, etc. of your app reside in the src folder.&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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FAngular-get-started.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%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2FAngular-get-started.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;&lt;span&gt;&lt;strong&gt;Setting up a React project:&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p&gt; &lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;Install the Sample Application&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Clone the es6-tutorial react repository with the following command git clone &lt;a href="https://github.com/ccoenraets/es6-tutorial-react" rel="noopener noreferrer"&gt;https://github.com/ccoenraets/es6-tutorial-react&lt;/a&gt;
&lt;/li&gt;
    &lt;li&gt;Next examine the React implementation of the mortgage calculator application



&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Set-up Babel and Webpack&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Launch the command prompt&lt;/li&gt;
    &lt;li&gt;Navigate cd to the es6-tutorial-react directory&lt;/li&gt;
    &lt;li&gt;Create a package.json file through the following command: npm init&lt;/li&gt;
    &lt;li&gt;Now install the React and React-dom modules through the following command: npm install react react-dom --save-dev&lt;/li&gt;
    &lt;li&gt;Now install the Babel and Webpack modules with the following commands: npm install babel-core babel-loader webpack --save-dev&lt;/li&gt;
    &lt;li&gt;install the ECMAScript 2015 and React presets with the following command: npm install babel-preset-es2015 babel-preset-react --save-dev&lt;/li&gt;
    &lt;li&gt;Create a new file called webpack.config.js in the es6-tutorial-react directory and define it as follows:&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcuelogic.com%2Fwp-content%2Fuploads%2F2018%2F01%2Fsetting-up-react.png" alt="es6-tutorial-react directory "&gt;
&lt;/li&gt;
    &lt;li&gt;Add a new script called webpack that compiles app.js by opening package.json"scripts": {"webpack": "webpack"},&lt;/li&gt;
    &lt;li&gt;
&lt;span&gt;Create a build directory in the es6-tutorial-react directory to host the compiled application version.&lt;/span&gt;



&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Build &amp;amp; Run&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Go to the es6-tutorial-react directory in the command line and type this command: npm run webpack&lt;/li&gt;
    &lt;li&gt;Go to your browser and launch the index.html file to test the application&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;span&gt;&lt;strong&gt;Setting up a Vue project:&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;ul&gt;
    &lt;li&gt;Install Node.js and npm command in your system&lt;/li&gt;
    &lt;li&gt;Install Vue CLI globally with the following command $ npm install -g vue-cli&lt;/li&gt;
    &lt;li&gt;Initiate a new project with this command $ vue init webpack vueapp01&lt;/li&gt;
    &lt;li&gt;The project should be created in the folder vueapp01 You can change into the required directory with the following command: $ cd vueapp01&lt;/li&gt;
    &lt;li&gt;Install additional dependencies: $ npm install&lt;/li&gt;
    &lt;li&gt;Launch the web server in development mode: $ npm run dev&lt;/li&gt;
    &lt;li&gt;In case you want to build for production, use this command: $ npm run build&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Ways to include Vue in projects&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Use CDN - Include the &amp;lt;script&amp;gt; tag in the HTML File.&lt;/li&gt;
    &lt;li&gt;Use the NPM to install&lt;/li&gt;
    &lt;li&gt;Use Bower to install&lt;/li&gt;
    &lt;li&gt;Set up your project with Vue-cli&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The bottom line is, the choice of your framework will depend on the type of requirement that you have coupled with the capabilities of your inhouse team. For instance, large apps can be developed with React but Object-oriented programming approach can be achieved only with Angular. Additionally, Vue is a perfect choice if you are looking for a lightweight framework.&lt;/p&gt;

&lt;blockquote&gt;
&lt;strong&gt;Whatever be the case, make sure that you weigh your options properly. Migrating to other technologies will not be an easy task once your application has been already developed!&lt;/strong&gt;
&lt;h2&gt;&lt;b&gt;The Verdict&lt;/b&gt;&lt;/h2&gt;
&lt;/blockquote&gt;

&lt;p&gt;For those who love massive ecosystems and more flexibility, &lt;strong&gt;React&lt;/strong&gt; is the way to go.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Angular&lt;/strong&gt; uses &lt;span&gt;TypeScript &lt;/span&gt;and is ideal for programmers with a solid Object-Oriented Programming (OOP) background who need detailed guidance and structure while &lt;strong&gt;Vue&lt;/strong&gt; is relatively simple to pick up and integrate for a small team of core developers.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Don't forget you can download the entire blog here - &lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;strong&gt;Liked this post? Which ones are you using? Are you looking to make a switch or modernizing your existing ones? Let us know in the comments!&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;[hubspot type=form portal=3432998 id=43c818e9-ba9d-4a5e-a027-8bf8aa4b4481]&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Source: &lt;a href="https://www.cuelogic.com/blog/angular-vs-react-vs-vue-a-2018-comparison" rel="noopener noreferrer"&gt;Cuelogic Blog&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>react</category>
      <category>vue</category>
      <category>javascript</category>
    </item>
    <item>
      <title>What’s new in Rails 6?</title>
      <dc:creator>Cuelogic Technologies</dc:creator>
      <pubDate>Fri, 04 Oct 2019 05:55:57 +0000</pubDate>
      <link>https://dev.to/cuelogictech/what-s-new-in-rails-6-3gjb</link>
      <guid>https://dev.to/cuelogictech/what-s-new-in-rails-6-3gjb</guid>
      <description>&lt;h1&gt;Rails 6 release date and features&lt;/h1&gt;

&lt;p&gt;Rails 6 latest version rc2 has now released on July 22, 2019. This may be the best-exercised RC (release candidate) in Rails history. Because Rails has been released with three beta versions so far. Companies like Basecamp, Shopify and Github already using rc1 in the production. If you want to start a new rails app today then definitely you can use 6.0.0.rc1 or 6.0.0.rc2 gem version.&lt;/p&gt;

&lt;p&gt;Let’s see what are the Rails 6 new features added in the final release of 6.0.0.rc1&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Action Mailbox&lt;/li&gt;
&lt;li&gt;Action Text&lt;/li&gt;
&lt;li&gt;Parallel Testing&lt;/li&gt;
&lt;li&gt;Action Cable Testing&lt;/li&gt;
&lt;li&gt;Webpack&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;1) Action Mailbox&lt;/b&gt;&lt;br&gt;
In Rails 5, we were using ActionMailer to manage mails in the application.&lt;/p&gt;

&lt;p&gt;Action Mailbox is extracted from Basecamp, which gives you the way for incoming emails to the mailboxes as a controller for processing in the rails application. Also, it has access to integrate Mailgun, Postmark and SendGrid. Along with that, you can implement and work on handling inbound mails directly via the built-in access to Exim, Postfix and Qmail.&lt;/p&gt;

&lt;p&gt;The inbound emails are considered as ‘InBoundEmail’ records using Active Record and tracking of its lifecycle, store original email on cloud storage via Active Storage. Also, it is responsible for data handling with on-by-default destruction process. By default, an ‘InBoundEmail’ that has been successfully processed will be destroyed after 30 days. For more help &lt;a href="https://edgeguides.rubyonrails.org/action_mailbox_basics.html"&gt;click here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;NOTE.: Action Mailbox requires Active Job and Active Storage.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;2) Action Text&lt;/b&gt;&lt;br&gt;
This is another extraction from Basecamp. According to Trix, this is a rich text content and editor for everyday writing that added to Rails 6.&lt;/p&gt;

&lt;p&gt;This editor handles everything from formatting, quotes, lists and embedded images and galleries. Any embedded images or attachments are automatically stored using&lt;/p&gt;

&lt;p&gt;Active Storage and associated with the RichText model. For more help &lt;a href="https://edgeguides.rubyonrails.org/action_text_overview.html"&gt;click here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Action Text already included in Rails 5.2, so many developers might have used it and also aware of the challenges if they have faced. This will give you opportunities to edit and bring rich text content.&lt;/p&gt;

&lt;h2&gt;Why was Trix editor added to Rails 6?&lt;/h2&gt;

&lt;p&gt;Most WYSIWYG editors use HTML’s contenteditable and execCommand that are designed by Microsoft support team for Internet Explorer 5.5. And based on reverse-engineering, those things copied from other browsers, so during implementation, each browser has its own issues and that leads to inconsistency.&lt;/p&gt;

&lt;p&gt;But, Trix uses HTML’s contenteditable as an I/O device and overcome this inconsistency.&lt;/p&gt;

&lt;p&gt;NOTE.: Action Text requires Active Storage.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;3) Parallel Testing&lt;/b&gt;&lt;br&gt;
Rails 6 added parallel testing by default. This feature is built by Github. Parallel testing allows you to run each test parallelly. It reduces the time to execute the test suite.&lt;/p&gt;

&lt;p&gt;The machine has multiple cores and can create workers too. Using Rails 6, we create workers and based on each worker, Rails create a test-database. So, the test will have these number of database to run the test suite. We can create workers in two ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;By adding parallelize(workers: 2) to your test_helper.rb&lt;/li&gt;
&lt;li&gt;By adding PARALLEL_WORKERS=2 rails test
Example: If you have created 2 workers then the test will create test-database-0 and test-database-1.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you love to run the test using threads and JRuby, then it has additional property as thread. To add this, you need to add &lt;code&gt;parallelize (workers: :number_of_processors, with: :threads)&lt;/code&gt; to your test_helper.rb. This threading parallelization is supported by Minitest’s Parallel:: Executor. For more help &lt;a href="https://edgeguides.rubyonrails.org/testing.html#parallel-testing"&gt;click here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;4) Action Cable Testing&lt;/b&gt;&lt;br&gt;
This is a small feature added in Rails 6. In this, Rails allows testing your action cable functionality at any level. The levels are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Connections&lt;/li&gt;
&lt;li&gt;Channels&lt;/li&gt;
&lt;li&gt;Broadcasts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We do a connection test to check the connection’s identifiers are assigned properly or are there any improper connection. Channel tests only assert the channel subscribes to the particular stream or not. The broadcast test is to check whether the message has been broadcasted inside other components. For more help &lt;a href="https://edgeguides.rubyonrails.org/testing.html#testing-action-cable"&gt;click here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;5) Webpack&lt;/b&gt;&lt;br&gt;
Webpack bundler has been added as default in Rails 6. Previously Rails uses Assets Pipeline to built JS and CSS. But now, using webpacker gem, all StyleSheets, images and JS libraries wrap into a single bundle with a single access point.&lt;/p&gt;

&lt;h3&gt;Webpack working&lt;/h3&gt;

&lt;p&gt;Some people already using webpack bundling with rails 5.1+ version. But, in that version, we need to configure it using the command ‘rails new app --webpack’. Now, it is by default into the rails app.&lt;/p&gt;

&lt;p&gt;Webpack is a static module bundler for modern js applications. Webpack helps during connecting Rails app with UI frameworks like ReactJs, &lt;a href="https://www.cuelogic.com/angularjs-development"&gt;AngularJs&lt;/a&gt;, VueJs, etc. Also, using this we can easily build hot reloading into Rails 6 application.&lt;br&gt;
The webpacker gem provides integration with webpack and npm/yarn. Npm and yarn both famous for fast, reliable, and secure dependency management.&lt;/p&gt;

&lt;h3&gt;Rails 6 upgradation from Rails 5&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;b&gt;Considerations&lt;/b&gt;
First, you need to consider your application rails version is 5.2 and you need to upgrade to rails version 6. And your current app rails version has latest patch version before moving to the next major/minor version.&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;Ruby Version&lt;/b&gt;
Rails 6 require Ruby version 2.5 or greater.&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;Gems&lt;/b&gt;
You need to check all your gems from Gemfile are compatible with Rails 6 gem. You can check this by visiting the respective gem’s GitHub page.&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;Config files&lt;/b&gt;
There is a task `rails app:update`. It will update the app to the latest version. During app updates, it will give you conflict over current files. You need to fix those files carefully.&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;Removals&lt;/b&gt;
There are many removals in Rails 6. You need to take care of that during upgradation.&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;Webpacker&lt;/b&gt;
Now, webpacker is by default added in Rails 6. It is a modern javascript compiler. You can manage your asset pipeline using webpacker.&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;Credentials&lt;/b&gt;
Rails 6 given support for all environment credentials. Means, now you can create separate credentials to each environment e.g. dev, staging and production.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Read Complete post on &lt;a href="https://www.cuelogic.com/blog/whats-new-in-rails-6"&gt;Cuelogic Blog&lt;/a&gt;.&lt;/b&gt;&lt;/p&gt;

</description>
      <category>rails</category>
      <category>ruby</category>
    </item>
  </channel>
</rss>
