In the front end development world there are 3 dominant players, Angular, ReactJS and VueJs.
Every framework has a strong fan base. And of course lots of pros and cons The best way to learn more about the strengths and weaknesses of the frameworks, I have build the same application with all these frameworks. In this session I will explain my experience with each framework and try to highlight the good the bad and the ugly. Expect to see code
The demo application can be found on GitHub, https://github.com/flinden68/my-events-demo-application
11. #engageug
How did I compare
11
Actual using the frameworks, says more then a 1000 words
12. #engageug
Requirements for events application
• Using Bootstrap to makes it look nice
• Store data in a datastore
• Make use of an API layer
• Account authentication
• CRUD operations for events
• Localisation
• State management
• Generate an ical file
12
28. #engageug
VueJS
• Recommend Vuex for State management.
• Need lots of 3th party npm packages
• Recommend Axios as HTTP Client for async calls
• Syntax is not that intuitive as I was expecting
• Integration of Vuex methods and actions very good
• All business logic and presentation in 1 file.
• Computed and Watch needed some explanation
• Good to use for small parts of an application, but not
enterprise ready
• Not my preferred framework
28
29. #engageug
React
• Redux is the standard for State Management
• Need lots of 3th party npm packages
• Recommend Axios for HTTP Client for async calls
• Redux is mind blowing
• Was positive surprised by the learning curve
• Good development tooling in the browser
• Bit messy, with all the logic in one file.
• Could support Typescript.
• Good to use for small parts of an application, but more
enterprise ready then VueJS
• Not my preferred framework 29
30. #engageug
Angular
• Typescript is the standard, which I prefer as Java developer
• Big framework, as in a lot of MB’s.
• Powerful CLI
• Total solution, not that many 3rd party packages needed
• Enterprise ready
• Like the @Injectables, works the same as the @Annotations
in Spring Boot
• Webpack is the defacto build manager.
• With some tweaking the size of the application can heavily
reduced
• My absolute favourite framework 30
31. #engageug
Overall
• Angular is still my favourite
• Took some time to get my head around React and Vue
• …but after is was easy to add new features
• State management is mind blowing.
• Get your browser developer tools to see what happening in
the frameworks
• React and Vue is more loosely coupled then Angular
• Pick your favourite IDE, e.g. Visual Code or IntelliJ in my
case
• Hard to compare, because of their different approaches ;-)
31