Frontend frameworks for desktop and responsive on other devices can be categorized in 5 main types:
- Angular
- ReactJS/Nextjs
- VueJS
- Classic (html, css, jquery, thymeleaf, asp.net)
- Flutter Web
Frontend frameworks for desktop and responsive on other devices can be categorized in 5 main types:
Vue (pronounced /vjuː/, like view) is a progressive framework for building user interfaces. Unlike other monolithic frameworks, Vue is designed from the ground up to be incrementally adoptable. The core library is focused on the view layer only, and is easy to pick up and integrate with other libraries or existing projects. On the other hand, Vue is also perfectly capable of powering sophisticated Single-Page Applications when used in combination with modern tooling and supporting libraries (opens new window)
Vue 3 was officially released on September 18, 2020. While it has some great new features, especially having full TypeScript support which is the same as Angular 10. New Features in Vue 3 are
setup option should be a function that accepts props and context which we will talk about later. Additionally, everything that we return from setup will be exposed to the rest of our component (computed properties, methods, lifecycle hooks and so on) as well as to the component's template. The setup method is also where all the action happens. This method gets called after beforeCreate and right before the created lifecycle hooks. Notice that setup is the only function inside our component. beforeCreate() => setup() => create()
Vue 3 has full TypeScript support. For example,
To create mixins in TypeScript, we must first create our mixin file, which contains the data we share with other components.
Create a file called MsgMixin.ts inside the mixins directory and add the following mixin, which shares the project name and a method to update the project name.
import { Component, Vue } from 'vue-property-decorator'
@Component
class MsgMixin extends Vue {
public msgName: string = 'My Message
public setMsgName(newVal: string): void {
this.msgName = newVal
}
}
export default MsgMixin| Parameters | ANGULAR | VUE |
| Easy Integration | Angular is a Javascript framework, making easier for developers to integrate it with third-party components and other Javascript-based technologies.
| On the other hand, Vue is a versatile and a flexible framework. It facilitates front-end libraries integration easily. |
| Flexibility | Angular framework is considered highly flexible as it offers official support to multiple systems without any restriction. | At the same time, Vue is not as flexible as Angular. It's a bit rigid. There are some rules which need to be followed while working on an application. Still, it provides flexibility for modular solutions. |
| Complexity | Angular framework is much more complex than Vue when it comes to design and API. A non-trivial application development takes more time with Angular than Vue. | Developing a non-trivial application takes less time when integrating with Vue. If we talk about design and API, Vue is considered simpler. |
| TypeScript | The learning resources provided by Angular are Typescript based so it acts as a booster for the developers and at the same time difficult for the beginners to learn. | Vue recently got the Typescript functionality, but it is not currently in use.
|
| Performance | Angular has performed well till date. It doesn't disappoint. Angular is best known for its fast performance. Despite having a lot of watchers, Angular guarantee the same performance metrics on different platforms. | Vue also delivers the same quality performance as Angular. Both of them perform outstandingly on different benchmarks and at the same time addressing similar issues. |
| Data binding | Angular utilizes a two-way binding process between scopes. In addition to this, it supports asynchronous services to assist developers when they develop third-party components to integrate with the app. | On the other hand, Vue supports one-way data flow between the components. It facilitates non-trivial app development quickly. |
VUE 3 and Angular are both using TypeScript and html/css template opposed to ReactJS that uses HTML (JSX) inside JavaScript.