Downloaded from git.ir
are you confused whether you should use
angular react or view for your next
project let me help you out in this
short video I'm gonna quickly compare
these three tools we're gonna look at
their history their learning curve their
stability their ecosystem and then I'm
gonna tell you which JavaScript
framework to use for your next project
first let me get the terminology clear
what is the difference between a library
and a framework some developers use
these terms interchangeably but they're
actually different a library is a
collection of reusable code that is used
to solve common problems there are
various libraries out there for solving
different types of problems for example
we have libraries for performing
mathematical calculations we have
libraries for machine learning and so on
react is a library for building
interactive user interfaces if framework
on the other hand gives us a lot of
reusable code just like a library but it
also provides a structure or a skeleton
for building applications so when using
a framework we have to build our
application according to that framework
frameworks have opinions in terms of how
we should structure our application how
the application should get started how
various components should interact with
each other and so on angular and view
are both examples of popular frameworks
for building front-end applications now
one of the questions I get a lot is mush
why do we have to use a framework or a
library to build an application can we
just use plain old JavaScript the answer
is yes you certainly can I so waste of
time
here is the reason imagine you want to
build a desk
would you buy pieces of wood and put
them together or would you go to the
forest and cut the trees first there is
no reason to cut the trees when there
are already pieces of wood ready for us
to reuse we use frameworks and libraries
to increase our productivity and speed
up the development process there is a
lot of code that is tested and is ready
for us to reuse so this is all about
libraries and frameworks now react
angular and view are the top three tools
for building applications these days but
which one is better let's find out look
at the results of this deck overflow
developer server in 2019 that just came
out here's the list of the most
web frameworks and the winner is react
it is closely followed by view this year
and angular seems to be losing its
popularity compared to previous years if
you look at Google Trends you can see
that react is the most popular library
out of the three now let's have a quick
look at the history of these frameworks
angular is the oldest of the three it's
developed by Google and was initially
released in 2010
until 2016 it used to be called
angularjs in 2016
angular team released angular 2 which
was a complete rewrite of angularjs in
fact it had nothing in common with the
previous version of angular it was a
completely new framework so to reduce
confusion angular team decided to drop
the jas from the original name and they
call the new framework angular this made
a lot of developers unhappy any
applications that were built with
angularjs had to be rebuilt with angular
also over the last three years there
have been several releases of angular
and we have experienced several breaking
changes as an online instructor this
made me very unhappy because my angular
course got outdated pretty quickly and I
had to do a lot of patches to the course
and at some point I ended up recreating
the entire course from scratch but it
came soon after the course got out data
react is developed and maintained by
Facebook and it's been around since 2013
currently it's at version 16 and it's
being used by Facebook Twitter Netflix
PayPal and uber to name a few it has a
huge community which means somebody out
there has already solved the problems
you may encounter so there are tons of
third-party libraries packages tools
extensions as well as tutorials and
courses view or view Jas is the youngest
kid in town unlike angular and react
view isn't developed by a big
corporation it was originally developed
by an ex-googler employee in 2014 and
now it's maintained by a group of
passionate developers even though it's a
new framework it has gained a lot of
popularity over the past two years now
what about the learning curve the
framework or library you choose should
be relatively easy to learn
so other members in your team can
quickly
up-to-speed angular has always been
famous for having a steep learning curve
because it's a full-blown framework or a
complete solution there is so many
concepts you need to learn such as
directives modules decorators components
services dependency injection pipes and
templates after that there are more
advanced topics such as change detection
zones ahead of time compilation and rxjs
the entry barrier for angular is clearly
higher than for react there are so many
things you need to learn in contrast
react is just a library and not a
complete solution so it has fewer
concepts that you need to learn and
understand react uses JavaScript XML or
JSON HTML within JavaScript code so to
get started you need to learn the JSX
syntax as well as how to read components
manage internal state and use props for
configuration you don't need to learn a
lot of new concepts since all of this is
just plain JavaScript once you have
learned the basics then you can learn
about a routing and estate management
library for building complex enterprise
applications so the entry barrier for
react is a lot lower than for angular
and that's one of the reasons I love
react if you know JavaScript well you
can get started with react pretty
quickly
now if you wanna improve your JavaScript
skills I have a tutorial here on my
channel called JavaScript for react
developers it quickly walks you through
the essential JavaScript features that
you need to know to build react
applications I also have a couple of
comprehensive courses on my website
JavaScript basics for beginners and
object-oriented programming in
JavaScript so totally you have 12 hours
of in-depth JavaScript training in front
of you for a very reasonable price if
you're interested the link is below this
video now let's talk about view I would
say learning view requires roughly the
same amount of time and effort it's
definitely easier to learn than angular
some argue that is even easier than
react but that's very subjective another
thing to consider when choosing a
framework or library for your next
project is talent availability you want
to make sure that you can easily find
new resources to join your team with
reacting the most popular front and
library you'll have a better chance at
finding react developers to
I would say angular comes next and view
comes last since it's still a new
framework the other factor you need to
consider is the stability of a framework
you want to make sure that the framework
or library you choose introduces minimal
risks your development process the
angular team have planned major updates
every six months during this major
upgrades you will experience breaking
changes and you have another six months
to make the necessary changes before the
old api's are deprecated so that gives
you a total of two releases or one year
to make the necessary changes we'd react
you have to worry less about this
because Facebook takes the stability of
react seriously big companies like
Twitter and Airbnb use react and that's
one of the reasons Facebook is reluctant
to make any big changes that could
impact these companies as per view 90%
of the api's are the same if you're
migrating from version 1 to 2 they also
have a migration helper tool that makes
it easier to migrate your applications
now let's take a look at the open source
community involvement in all these three
frameworks something interesting to note
here is that view has the most number of
stars among the three on github but it
also has the least number of
contributors what it tells me is that
people are interested in view but it
hasn't gained the momentum that react
and angular have gained in the open
source community react has around 126
thousand stars which is a lot for an
open source library this shows that
people love react in contrast angular
has only about 40,000 stars
react also has a significant number of
contributors there are over 1,200
developers contributing to react which
is way more than view and angular now
look at the weekly downloads react has
the most number of weekly downloads with
a whopping 5.2 million view comes second
with 980,000 weekly downloads I was
surprised to say that angular downloads
have dropped significantly so based on
the community and growth of frameworks
react is at the very top view is liked
by the community and upcoming angular on
the other hand seems to be losing its
spark and slowing down and the last
thing I want to consider when choosing a
framework is its size now I personally
don't like to debate much on this
because all these frameworks and
libraries are constantly getting
optimized but if
curious you can see that angular is
fairly large compared to react and view
this is because angular is a full-blown
framework it has everything you need
from routing templates testing utilities
and so on and that's the reason the
framework size is big and not suitable
for light weight applications react on
the other hand is a library and not a
framework this means you don't get much
out of the box and you have to use other
libraries for routing and state
management
this makes react small and lightweight
so maybe you're building a small
application that doesn't need routing
then you don't need to bring in a
rafting library or if you really need it
you can always choose your preferred
routing library you're not locked - what
a framework gives you view is even
smaller and also suitable for light
weight applications if you're looking
for an extremely lightweight option then
pre-act
is smaller than view and it's basically
react with some features stripped out
sell it to recap based on all these
factors that we discussed in this video
I would recommend you to use react to
your next project because first and
foremost it's a stable library and
introduces minimal risk to your projects
it's easy to learn it has a huge
community which means it's easier for
you to find developers who know react
and there are tons of third-party tools
packages and libraries for you to use if
you want to learn react from scratch I
have a comprehensive to our tutorial
here on my channel you can see it over
here I've also put the link down below
this tutorial walks you through all the
core concepts and react even though I
made it last year in 2018 it's still
valid and up to date because react is a
stable library and you won't encounter
breaking changes Facebook takes the
stability of react seriously so watch
this tutorial first but if you want to
master react I have a complete course
for you that is 12 hours long it goes
far beyond my youtube tutorial and
touches on concepts such as building
complex user interfaces routing and
navigation calling back and api's
authentication and authorization
handling and login errors and deployment
pretty much all the concepts involved in
building real applications in this
course you will learn how to build a
real video rental application with a
node back-end this is an online video
course just like my youtube tutorial and
you can watch it anytime any
as many times as you want you will also
receive a certificate of completion at
the end that you can add to your resume
we even offer a 30-day money-back
guarantee if you're interested use the
link below this video to get the course
for the discount just remember we have a
limited number of coupons so enroll
before the coupons run out if you
enjoyed this video please support me by
liking and sharing this video also
subscribe to my channel for more videos
like this and let me know in the
comments section about your experience
with any of these top three frameworks
and your goals thank you and have a
fantastic day
[Music]