- 00:00:02 hello everyone welcome to this video
- 00:00:04 over a year ago i created a kind of
- 00:00:06 similar video where i compared angular
- 00:00:08 react and view
- 00:00:10 i shared my thoughts on them and a year
- 00:00:12 is a pretty long time span in modern web
- 00:00:14 development
- 00:00:15 so it's definitely time for another
- 00:00:17 round of this additionally i want to
- 00:00:19 dive into some additional aspects and
- 00:00:21 hopefully provide you even better help
- 00:00:24 in deciding
- 00:00:25 which framework or library you want to
- 00:00:27 use for your next web
- 00:00:29 project as with the last video i'd love
- 00:00:31 to hear your thoughts
- 00:00:33 so please definitely dive into the
- 00:00:34 comment section and share your opinion
- 00:00:37 no matter if you agree with my opinion
- 00:00:39 here or not
- 00:00:40 definitely looking forward to that and
- 00:00:42 now let's have a look at
- 00:00:43 my comparison
- 00:00:48 so how do i want to compare these three
- 00:00:50 frameworks and libraries
- 00:00:53 i thought of three blocks first i want
- 00:00:56 to have a look at the key
- 00:00:57 characteristics
- 00:00:58 of each because that is super important
- 00:01:00 you got to know what you're working with
- 00:01:02 and the key characteristics determine
- 00:01:04 whether you like
- 00:01:05 a library or framework or you don't i'll
- 00:01:08 then also have a look at their
- 00:01:09 popularity
- 00:01:10 this might matter to you if you're
- 00:01:12 looking for a job working with this
- 00:01:14 library or framework or in general if
- 00:01:16 you want to get a feeling for
- 00:01:18 where the industry is moving and last
- 00:01:20 but not least i'll have a look at
- 00:01:22 performance
- 00:01:23 because performance obviously matters
- 00:01:24 and i want to dive into performance of
- 00:01:27 these
- 00:01:27 three alternatives and i want to see if
- 00:01:29 there is a clear winner regarding
- 00:01:31 performance
- 00:01:32 so let's start with the key
- 00:01:33 characteristics and for that let's have
- 00:01:35 a look at
- 00:01:36 react angular and view obviously and
- 00:01:38 let's start with react
- 00:01:40 now react is a library and that is
- 00:01:44 super important to some people as i saw
- 00:01:46 in the comments of my last video
- 00:01:48 yes it's a library which you use to
- 00:01:51 build
- 00:01:51 components and it's extremely popular
- 00:01:54 and used by
- 00:01:55 many big or very large companies like
- 00:01:58 netflix or
- 00:01:59 facebook which basically developed and
- 00:02:01 maintains react
- 00:02:03 and as i said it's a library which you
- 00:02:05 use to build components
- 00:02:07 now library has one implication it means
- 00:02:10 it focuses on
- 00:02:12 one or very few things it's not a
- 00:02:14 complete suit of tools
- 00:02:15 and that will become important once we
- 00:02:17 start comparing it to angular or view
- 00:02:20 the component thing is the more
- 00:02:21 important thing though
- 00:02:23 components are basically reusable ui
- 00:02:26 elements
- 00:02:27 html by default has some components like
- 00:02:30 input field a button
- 00:02:32 but they're pretty basic don't have much
- 00:02:34 styling
- 00:02:35 and it definitely lacks more complex
- 00:02:37 components like date pickers
- 00:02:39 now with react you build such components
- 00:02:41 and you do that with
- 00:02:42 javascript everything is javascript in
- 00:02:45 react world
- 00:02:46 you build your entire application or
- 00:02:48 these components with
- 00:02:50 javascript and you then basically drop
- 00:02:52 that into a page
- 00:02:53 so that javascript can do its thing and
- 00:02:55 render some html
- 00:02:57 elements and some css styles maybe that
- 00:02:59 make up
- 00:03:00 your ui element in the end but you as a
- 00:03:02 developer you work with javascript only
- 00:03:05 and to be precise you work with
- 00:03:07 something called jsx
- 00:03:09 you don't have to and i actually have a
- 00:03:11 video where i show you how you can work
- 00:03:13 with react without using jsx
- 00:03:16 but typically you do and jsx is
- 00:03:18 basically
- 00:03:19 html in javascript it's a special syntax
- 00:03:23 that looks a bit like
- 00:03:24 html but it's not entirely html which
- 00:03:27 leads to some things like for example
- 00:03:29 that you can't use class for assigning a
- 00:03:32 css class
- 00:03:33 it's class name instead but in general
- 00:03:35 it's okay
- 00:03:36 i'm personally not the biggest fan of
- 00:03:38 this everything is in javascript
- 00:03:40 approach
- 00:03:40 but it has its advantages there are
- 00:03:43 people who really love this approach
- 00:03:45 and overall it's just how react works
- 00:03:47 now besides the
- 00:03:48 everything is javascript thing the other
- 00:03:51 important characteristic
- 00:03:52 is the fact that it's a library and it
- 00:03:54 focuses on that component creation
- 00:03:56 this implies that for more complex
- 00:03:58 applications more complex
- 00:04:00 single page applications for example you
- 00:04:02 need to add
- 00:04:03 routing and that is not included in
- 00:04:05 react
- 00:04:06 instead there is a pretty popular
- 00:04:08 library react router
- 00:04:10 and it's the same for state management
- 00:04:11 by the way there we got redux and these
- 00:04:14 are actively maintained but they're
- 00:04:16 not from the react core team and you
- 00:04:19 have to get into them
- 00:04:20 they well simply are additional things
- 00:04:22 you have to learn and that is something
- 00:04:24 you might or might not like
- 00:04:26 it's the general theme of react react is
- 00:04:28 really just about creating components
- 00:04:30 and nothing else
- 00:04:32 now another important thing to know
- 00:04:35 about react
- 00:04:36 is that it's developed and maintained by
- 00:04:38 facebook
- 00:04:39 and that of course is a very large
- 00:04:41 company which actively uses react
- 00:04:43 in many or pretty much all its
- 00:04:46 applications
- 00:04:47 and therefore obviously react is
- 00:04:50 actively maintained
- 00:04:51 gets updates regularly gets new features
- 00:04:54 or enhancements
- 00:04:55 regularly and that of course is pretty
- 00:04:57 good though it has one possible downside
- 00:05:00 of course
- 00:05:01 you might need to update your app from
- 00:05:03 time to time
- 00:05:04 though the updates the react team
- 00:05:06 publishers always are
- 00:05:08 pretty easy to incorporate and they're
- 00:05:10 rarely very very rarely
- 00:05:13 are breaking changes and if there are
- 00:05:15 you got plenty of times to adjust
- 00:05:16 so this really is a good thing now last
- 00:05:19 but not least here
- 00:05:20 it's primarily used for web apps but the
- 00:05:23 cool thing about
- 00:05:24 react is you can also build mobile apps
- 00:05:26 with it
- 00:05:27 with the help of react native or
- 00:05:29 starting with version 4
- 00:05:30 all the with the ionic framework so you
- 00:05:33 can take your react knowledge
- 00:05:35 add some new knowledge which you'll have
- 00:05:37 to learn and start building
- 00:05:39 mobile apps and that's pretty cool
- 00:05:40 without knowing android or swift
- 00:05:43 so that's react react is not the only
- 00:05:45 thing we got of course
- 00:05:46 we also got angular now what are the key
- 00:05:49 characteristics of angular angulardan
- 00:05:52 angular is extremely popular too and is
- 00:05:55 also used by many large companies for
- 00:05:57 example by google who developed it but
- 00:05:59 of course all by
- 00:05:59 other companies angular unlike react is
- 00:06:04 not just about creating components
- 00:06:06 though it has components too and also
- 00:06:08 follows a component driven approach
- 00:06:10 but angular is a complete framework or
- 00:06:12 even platform you could say
- 00:06:14 a rich set of tools that help you with
- 00:06:17 developing modern web applications
- 00:06:20 so unlike react it's not just about
- 00:06:22 creating components which you drop into
- 00:06:23 your pages
- 00:06:24 but instead it's really also about
- 00:06:27 adding routing
- 00:06:28 having a state management solution built
- 00:06:30 in having form
- 00:06:32 validation built building so all these
- 00:06:34 tools you need for very large
- 00:06:36 applications
- 00:06:37 ship as part of angular developed by the
- 00:06:40 angular team
- 00:06:41 so you don't need to rely on third-party
- 00:06:42 vendors there
- 00:06:44 additionally it uses native web apis you
- 00:06:47 could say
- 00:06:47 it uses html templates for the
- 00:06:50 components
- 00:06:51 no jsx really html it uses css which is
- 00:06:54 easy to add also
- 00:06:56 so it uses these native features you
- 00:06:59 could say
- 00:07:00 though it does use typescript as a
- 00:07:03 language instead of
- 00:07:04 native javascript typescript isn't too
- 00:07:06 hard to learn to be honest but it
- 00:07:08 is something you have to be aware of
- 00:07:09 you're not using native javascript when
- 00:07:12 writing angular apps
- 00:07:13 typescript it is instead and typescript
- 00:07:16 is just a super
- 00:07:17 set to javascript it compiles to
- 00:07:19 javascript this is done for you
- 00:07:22 but you have to get used to it you have
- 00:07:24 some additional features which is pretty
- 00:07:25 cool but
- 00:07:26 which you have to learn there for in the
- 00:07:28 end it's not too far away from
- 00:07:29 javascript
- 00:07:30 though so i think it's pretty okay to
- 00:07:32 learn that
- 00:07:33 but something to be aware of now
- 00:07:36 as i said the cool thing about angular
- 00:07:38 is that it includes routing state
- 00:07:40 management and all these things
- 00:07:42 which helps you scale your app or build
- 00:07:44 really big apps
- 00:07:45 because all the core features you need
- 00:07:48 then are included
- 00:07:49 want to turn your application in a
- 00:07:51 progressive web app well there is an
- 00:07:53 official package for that
- 00:07:54 and this really is the theme of angular
- 00:07:56 you get packages for all the core
- 00:07:58 features
- 00:07:59 you might want to add to your app and
- 00:08:00 this of course gives you as a developer
- 00:08:02 a lot of power to add such features
- 00:08:05 easily
- 00:08:06 now as i already mentioned it's
- 00:08:07 developed and maintained by google which
- 00:08:09 is
- 00:08:10 pretty good it's a big company probably
- 00:08:12 not going anywhere especially since it
- 00:08:14 uses angular internally
- 00:08:16 and therefore we got a strong background
- 00:08:18 for angular 2.
- 00:08:20 you can primarily use it for building
- 00:08:22 web applications but
- 00:08:24 just like react you can also build
- 00:08:26 native mobile apps with angular
- 00:08:28 here with the help of ionic always was
- 00:08:31 focusing on angular ionic was always
- 00:08:33 focusing on it
- 00:08:34 and you also got native script which is
- 00:08:37 following a similar approach as react
- 00:08:39 native is
- 00:08:40 but well it's just another alternative
- 00:08:43 and it embraces
- 00:08:44 angular so that is also an option you
- 00:08:46 got here
- 00:08:47 now what about ujs vue.js is a bit like
- 00:08:51 as if
- 00:08:51 react and angular had sex and this is a
- 00:08:55 comparison i already did in my last
- 00:08:58 video on the topic but it really still
- 00:09:00 fits vue has nice features from
- 00:09:04 both react and angular and in my
- 00:09:06 personal opinion it merges them pretty
- 00:09:09 well
- 00:09:10 yielding almost the best of both worlds
- 00:09:12 you could say
- 00:09:13 so what are the key characteristics of
- 00:09:15 you then
- 00:09:17 vue is also extremely popular
- 00:09:20 amongst developers but unfortunately
- 00:09:23 not used by many large companies
- 00:09:26 though it's slowly picking up and it's a
- 00:09:29 getting adopted by more and more
- 00:09:31 companies and smaller companies are
- 00:09:33 already using it
- 00:09:34 we're for example using it on our web
- 00:09:36 page so it is popular
- 00:09:38 it just doesn't have the big company
- 00:09:41 behind it
- 00:09:42 as react or angular habit
- 00:09:45 it's a complete framework just like
- 00:09:47 angular though a bit
- 00:09:49 reduced less features than angular has
- 00:09:52 it it has more than
- 00:09:53 react it's not just a library for
- 00:09:55 building components
- 00:09:56 though just as in the other two
- 00:09:58 alternatives you work with components
- 00:10:00 here too
- 00:10:00 they're all about building these ui
- 00:10:02 elements but in view you also got
- 00:10:05 routing and state management provided by
- 00:10:07 the core view team
- 00:10:09 and that of course makes moving towards
- 00:10:11 larger applications
- 00:10:12 maybe a bit easier since you can't rely
- 00:10:15 on these packages
- 00:10:16 always being available since they nicely
- 00:10:19 integrate with
- 00:10:20 vue you can rely on view getting updated
- 00:10:22 and these third-party packages
- 00:10:24 immediately being updated too
- 00:10:26 so that's pretty cool to have it has
- 00:10:28 less
- 00:10:29 packages than angular does for example
- 00:10:31 it has no official
- 00:10:32 forum validation library there are
- 00:10:34 community packages of course
- 00:10:36 but these bring the general
- 00:10:37 disadvantages such packages always have
- 00:10:40 you have to rely on the people creating
- 00:10:42 and maintaining them well to
- 00:10:43 continue maintaining them it uses native
- 00:10:47 web apis it uses html it uses css
- 00:10:50 it is pretty similar to angular
- 00:10:52 regarding that especially
- 00:10:54 from a syntax perspective when we talk
- 00:10:56 about its template
- 00:10:57 maybe to angular 1 or partly to angular
- 00:11:00 1 at least
- 00:11:01 with angular in the slides before i of
- 00:11:04 course meant
- 00:11:04 angular 2 plus by the way so it's
- 00:11:07 similar to angular regarding that but it
- 00:11:10 has some ideas from react and
- 00:11:12 it really merges that in a nice way i
- 00:11:15 personally like its syntax a lot
- 00:11:17 and i think most developers do at least
- 00:11:20 that is the opinion
- 00:11:21 the resonant i heard most often
- 00:11:24 now as i said routing and state
- 00:11:26 management are coming from the core team
- 00:11:28 they are
- 00:11:29 provided by them other features are
- 00:11:31 provided by the community
- 00:11:32 only putting only in quotation marks
- 00:11:35 here
- 00:11:35 because that's not necessarily a bad
- 00:11:37 thing it's good that we have an active
- 00:11:39 ecosystem
- 00:11:40 it just means you have to rely on them
- 00:11:43 now one of the biggest disadvantages i'd
- 00:11:45 say
- 00:11:45 or perceived disadvantages to be precise
- 00:11:49 is that it's not backed by a big company
- 00:11:52 but
- 00:11:52 by a single developer would be wrong but
- 00:11:55 mainly by avenue
- 00:11:57 who is a former google employee but
- 00:12:00 in the meantime especially also since my
- 00:12:02 last video
- 00:12:03 a pretty big core team has been
- 00:12:05 established so it's not just one guy
- 00:12:08 working on vue anymore
- 00:12:09 instead it is a core team but of course
- 00:12:12 avenue still is the leading person
- 00:12:14 in the team probably the person driving
- 00:12:16 the development of you
- 00:12:18 and that is just something you have to
- 00:12:19 be aware of there is no major company
- 00:12:22 backing this
- 00:12:23 though this can also be an advantage of
- 00:12:24 course because it could mean greater
- 00:12:27 independence
- 00:12:28 and there are big projects like laravel
- 00:12:31 which heavily backed you indeed and
- 00:12:34 we got this strong community pushing
- 00:12:37 view and
- 00:12:38 basically backing view you could say
- 00:12:40 it's for example also entirely funded or
- 00:12:42 mainly funded by um donations from the
- 00:12:47 um or contributions i should say by the
- 00:12:49 community you can support it you can
- 00:12:52 pay money to support the development of
- 00:12:54 view which is a great thing
- 00:12:57 last but not least it is also primarily
- 00:12:59 used for web apps
- 00:13:01 but just as with the other two
- 00:13:02 alternatives you can use it to build
- 00:13:04 native mobile apps
- 00:13:06 it's worth mentioning ionic here ionic 4
- 00:13:09 to be precise which
- 00:13:10 will be usable with any framework or
- 00:13:12 library or
- 00:13:13 native script view which is a native
- 00:13:15 script implementation
- 00:13:17 building up on view which allows you to
- 00:13:19 use vue to build mobile apps
- 00:13:21 so these were the key characteristics
- 00:13:24 one other important thing is
- 00:13:25 how easy is it to get started that
- 00:13:28 obviously is super important if you are
- 00:13:30 relatively new to
- 00:13:31 web development in general or to well
- 00:13:34 one of these
- 00:13:35 frameworks which you want to learn so
- 00:13:37 react
- 00:13:40 is easy to get started say jsx is
- 00:13:42 optional though jsx can be a bit strange
- 00:13:45 to get into
- 00:13:46 but the good thing is that you can start
- 00:13:48 working with react without a complex
- 00:13:50 build
- 00:13:51 workflow you can't just add an import to
- 00:13:54 a page and start adding code and again i
- 00:13:57 got a video where i show exactly this so
- 00:13:59 definitely check that out
- 00:14:00 besides my other react resources like my
- 00:14:03 complete guide
- 00:14:04 if you really want to double down on it
- 00:14:06 and dive deeply into it
- 00:14:08 we also can't drop it into existing
- 00:14:10 pages or views so if you have an
- 00:14:12 existing multi-page application
- 00:14:14 you can drop react into it and start
- 00:14:17 working with it on some of these pages
- 00:14:19 which is really great
- 00:14:20 now potential disadvantages depending on
- 00:14:23 how you feel about that
- 00:14:25 is jsx it's not my personal favorite i
- 00:14:28 still feel like that
- 00:14:29 other people love it and i can
- 00:14:31 understand that too
- 00:14:33 but you have to get used to that
- 00:14:34 everything is javascript approach and
- 00:14:37 it's just something to be aware of
- 00:14:38 everything is javascript
- 00:14:40 you don't write native html code and
- 00:14:43 that is something you have to get
- 00:14:44 accommodated to
- 00:14:46 now we also have to understand that for
- 00:14:48 single page applications
- 00:14:50 you will have to add routing state
- 00:14:52 management form validation
- 00:14:54 all of that by picking third party
- 00:14:56 community managed
- 00:14:57 modules there is no official guide on
- 00:15:00 how to proceed regarding that
- 00:15:02 or there is no official solution for
- 00:15:04 that
- 00:15:05 although there are of course best
- 00:15:07 practices and so on but it is something
- 00:15:09 you have to dive into on your own
- 00:15:12 angular is easy to get started regarding
- 00:15:15 the fact that we use html and css so the
- 00:15:17 technologies we already know
- 00:15:20 we also have all the core features baked
- 00:15:22 into the platform so if you're
- 00:15:25 getting started and you want to build a
- 00:15:26 huge single page application
- 00:15:28 you got all these key features added to
- 00:15:30 angular added to
- 00:15:32 added to its official documentation so
- 00:15:34 it's not too hard to get started with
- 00:15:35 that
- 00:15:36 there also is the angular cli helping
- 00:15:38 you get started with angular projects it
- 00:15:41 sets up a ready to get started project
- 00:15:43 for you automatically
- 00:15:45 but a downside is that we have to learn
- 00:15:48 typescript
- 00:15:49 you can learn it on the job to be honest
- 00:15:51 for example in my angular course you'll
- 00:15:53 learn it
- 00:15:54 whilst you learn angular this is
- 00:15:55 possible but still you have to learn it
- 00:15:58 and some of the angular features like
- 00:16:00 dependency injection
- 00:16:02 are pretty cool but also a bit more
- 00:16:04 complex so you
- 00:16:05 you have to invest a bit more to learn
- 00:16:07 these i'd say so it
- 00:16:08 might have a steeper learning curve when
- 00:16:11 we think about topics
- 00:16:12 or features like this last but not least
- 00:16:16 i mentioned it
- 00:16:16 you have the cli to get started by the
- 00:16:19 way you also have one for react
- 00:16:21 but unlike for react you really need it
- 00:16:23 for angular
- 00:16:24 in react you can dump it into a page and
- 00:16:26 get started for angular
- 00:16:28 you need a complex project setup and
- 00:16:30 build workflow for example to compile
- 00:16:32 that typescript code
- 00:16:33 or for example to optimize all your code
- 00:16:36 you really need that here
- 00:16:37 and that of course can be seen as a
- 00:16:39 disadvantage because there is no drop in
- 00:16:42 getting started mode now for vue
- 00:16:46 we also use html and css which is great
- 00:16:49 technologies we know and love we can
- 00:16:51 drop it into existing pages and views
- 00:16:54 and that of course makes getting started
- 00:16:56 super easy
- 00:16:56 we don't need to set up a complex
- 00:16:58 project setup or workflow though if you
- 00:17:00 do need it
- 00:17:01 it has a cli too command line interface
- 00:17:04 that is
- 00:17:06 it's also using a very intuitive syntax
- 00:17:08 in my opinion and
- 00:17:09 it has a great documentation all these
- 00:17:12 solutions have
- 00:17:13 good documentation vue has an
- 00:17:15 exceptionally good one i'd say
- 00:17:18 and it also has some core features like
- 00:17:20 routing and so on
- 00:17:21 provided by the core team which makes
- 00:17:23 learning these a bit easier than for
- 00:17:25 example with react
- 00:17:27 now downside is just as with react some
- 00:17:30 key features like form validation are
- 00:17:32 not included so if you need these you
- 00:17:34 have to add them
- 00:17:35 manually and you have to learn them
- 00:17:37 therefore they're not
- 00:17:38 necessarily following the same
- 00:17:40 philosophy as the
- 00:17:41 core view packages so these are the key
- 00:17:45 characteristics in my opinion on them
- 00:17:47 and things you have to consider you have
- 00:17:48 to learn
- 00:17:49 i always suggest that you dive into all
- 00:17:51 of them at least briefly so that you get
- 00:17:53 an
- 00:17:54 idea of how they work i also got a
- 00:17:56 comparison course you can take
- 00:17:57 or simply take the many resources i got
- 00:18:00 on my page
- 00:18:00 on this channel or of course my complete
- 00:18:03 guides i have on each of these
- 00:18:04 frameworks
- 00:18:05 but before we wrap this video up let's
- 00:18:07 have a look at popularity
- 00:18:09 how popular are these solutions well
- 00:18:12 here's react
- 00:18:13 react is um pretty popular if we measure
- 00:18:17 the monthly npm downloads
- 00:18:19 or is it we don't know let's compare it
- 00:18:21 so here's angular and we can see
- 00:18:23 react is quite a bit more popular than
- 00:18:26 angle
- 00:18:27 at least if we just look at these
- 00:18:29 downloads now that
- 00:18:30 is not the only measure to be honest but
- 00:18:33 it gives us some indication that react
- 00:18:35 seems to be
- 00:18:36 getting used a bit more we also have to
- 00:18:38 keep in mind that react is a bit more
- 00:18:40 mature and older than angular
- 00:18:42 because i'm talking about angular 2 plus
- 00:18:44 this is excluding angular 1
- 00:18:46 if we would add it angular would be much
- 00:18:49 closer to react but angular 2 plus
- 00:18:51 getting downloaded a bit less view even
- 00:18:54 less
- 00:18:54 now view also is is rising so it's not
- 00:18:57 like it's on a declining
- 00:18:59 path but you missing the big backing of
- 00:19:02 the other two alternatives
- 00:19:04 still is highly liked in developer
- 00:19:08 circles if you look at github stars vue
- 00:19:10 is super popular
- 00:19:11 but regarding usage and npm downloads
- 00:19:15 it's uh the weakest framework though
- 00:19:18 all three are on a good level and
- 00:19:20 definitely worth
- 00:19:21 learning don't get me wrong now
- 00:19:24 performance
- 00:19:25 let's have a look at a nice page that
- 00:19:28 can help you with that
- 00:19:29 now this is a github repository where
- 00:19:31 you can download a benchmark which you
- 00:19:33 can run on your machine too
- 00:19:34 link can be found in the video
- 00:19:36 description and it basically allows you
- 00:19:38 to compare
- 00:19:40 multiple frameworks and you can also do
- 00:19:42 that without running it on your machine
- 00:19:44 directly on the github repository there
- 00:19:46 is so if you click that image you find
- 00:19:47 there you can basically
- 00:19:49 filter this comparison now here i
- 00:19:52 compared angular 6
- 00:19:54 view 2.5 and react 16.1 these are not
- 00:19:57 the latest versions as of now but they
- 00:19:59 are the latest major versions so if we
- 00:20:01 had big performance changes they are
- 00:20:03 definitely included here
- 00:20:05 now it can be deceiving to just look at
- 00:20:07 this
- 00:20:09 we can see something yellow or reddish
- 00:20:11 and we immediately say okay that has a
- 00:20:13 bad performance
- 00:20:14 now benchmarks are always tricky to go
- 00:20:16 to look at
- 00:20:17 they not necessarily measure what your
- 00:20:20 application
- 00:20:21 needs they're of course highly
- 00:20:23 theoretical
- 00:20:24 and whilst they give us some idea about
- 00:20:27 performance
- 00:20:29 it's always performance for these given
- 00:20:32 tests and therefore we're not
- 00:20:35 necessarily talking about a
- 00:20:37 slow framework if it is slower than its
- 00:20:40 alternatives
- 00:20:41 in one of these tests additionally we
- 00:20:43 have to keep in mind
- 00:20:44 that all these results here you see the
- 00:20:47 milliseconds latencies
- 00:20:49 are pretty fast there is no super
- 00:20:52 long taking test lag which takes half a
- 00:20:55 second or a second
- 00:20:56 so i can already say all three
- 00:20:59 alternatives
- 00:21:00 offer pretty good performance and it
- 00:21:02 might differ on your machine and your
- 00:21:04 exact requirements
- 00:21:06 in your web app which of these really is
- 00:21:09 slower or better
- 00:21:10 in the end they're all pretty darn fast
- 00:21:13 and
- 00:21:13 there are production applications
- 00:21:15 running with all three of these
- 00:21:17 and they're all running fast i'd say
- 00:21:20 one thing to note though are these
- 00:21:23 startup metrics because there is
- 00:21:25 something interesting
- 00:21:26 angular is worse than the other two and
- 00:21:29 that is something
- 00:21:30 which is related to the fact that
- 00:21:33 angular still ships with a pretty big
- 00:21:35 code base so if you deploy your angular
- 00:21:38 app it's pretty big
- 00:21:39 definitely bigger than a react or view
- 00:21:42 app now
- 00:21:43 this will drastically become better in
- 00:21:45 future versions where
- 00:21:46 angular will internally use a different
- 00:21:49 renderer leading to a smaller code base
- 00:21:52 so with angular 7 and higher we should
- 00:21:54 see improvements there
- 00:21:55 and we're not talking about seconds here
- 00:21:57 either but it is something to keep in
- 00:21:59 mind that
- 00:22:00 right now the code base you get with
- 00:22:02 angular is a bit better
- 00:22:03 now for some applications like internal
- 00:22:06 enterprise applications these
- 00:22:09 milliseconds here might not matter
- 00:22:11 for some applications it might and then
- 00:22:14 right now
- 00:22:14 before the improvements i just mentioned
- 00:22:17 react and view
- 00:22:18 might be better but with that i can only
- 00:22:20 encourage you to have a look at this
- 00:22:22 on your own and in general there is no
- 00:22:25 clear winner this is really something i
- 00:22:27 have to tell you
- 00:22:28 all free frameworks and libraries are
- 00:22:31 great
- 00:22:31 you can build the same type of apps with
- 00:22:33 all of them
- 00:22:34 there is no clear winner there is no
- 00:22:37 better or worse one
- 00:22:38 they follow different philosophies and
- 00:22:40 approaches and as i mentioned i can only
- 00:22:42 encourage you to
- 00:22:43 at least briefly dive into each of them
- 00:22:46 at least
- 00:22:46 watch one of my free series to get an
- 00:22:49 idea of
- 00:22:50 how the code looks and then dive into
- 00:22:53 one
- 00:22:54 deeper or two if you have the time and
- 00:22:57 want to
- 00:22:58 learn one or two of them in a in a more
- 00:23:01 focused way
- 00:23:02 i got courses on all three of them and
- 00:23:04 i'd be more than happy to welcome you in
- 00:23:06 them
- 00:23:07 and i can only encourage you to dive
- 00:23:09 into these frameworks and libraries
- 00:23:11 because they allow you to create
- 00:23:12 great applications and they're all free
- 00:23:15 really awesome in the end
- 00:23:16 they get their differences and it's up
- 00:23:18 to you to pick your personal
- 00:23:20 favorite