vue-property-decorator VS composition-api

Compare vue-property-decorator vs composition-api and see what are their differences.

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
vue-property-decorator composition-api
10 20
5,525 4,182
- 0.1%
3.2 3.9
about 1 year ago 8 months ago
TypeScript TypeScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

vue-property-decorator

Posts with mentions or reviews of vue-property-decorator. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-16.
  • How often do you use Decorators, and if you do was there any push back within your team?
    3 projects | /r/typescript | 16 Dec 2022
    In my last project these two were used a lot: https://github.com/kaorun343/vue-property-decorator and https://class-component.vuejs.org/
  • Vue + TS without class component ? No way!
    3 projects | dev.to | 15 Sep 2022
    Designed for vue 3, do the same work like vue-class-component and vue-property-decorator.
  • Any vue 3 with Typescript resources or tutorials ?
    3 projects | /r/vuejs | 28 Feb 2022
  • Objects and v-model in Vue3
    2 projects | dev.to | 30 Nov 2021
    When I was using Vue2 along with vue-class-component and vue-property-decorator it was easy to synchronize v-models between components simply using @ModelSync(). When Vue 3 came out with its Composition API another way was needed to achieve the same result as if Class Component was used.
  • Why I Love Vue 3's Composition API
    1 project | /r/vuejs | 2 Nov 2021
    This is still not better than Vue Class Component & Vue Property Decorator . Very easy syntax, looks like any other OOP language, and looks so much cleaner.
  • Wait for Vue 3 to add Typescript?
    4 projects | /r/vuejs | 19 Aug 2021
  • Is it ready already?
    2 projects | /r/vuejs | 18 Apr 2021
    vue-property-decorator: This library works hand in hand with vue-class-component so that you can define properties/methods on your class for things like watchers, properties, etc:
  • How to create a scalable vue.js setup (Part I)
    4 projects | dev.to | 17 Feb 2021
    The next thing to tackle for a scalable application is, that we want to have a well written component that is easy to read and to reuse. Vue components are usually single file, which has it's benefits (e.g. if you want to change some css, and then html and oh, you also need to introduce this property in typescript...). It's also easier to maintain some code standard about how large a component should possibly become, if you had single file components (e.g. >250loc => linter error). To additionally increase readability, I like to use typescript class components flavoured with vue property decorators.
  • You should be using Vue Class Component
    1 project | dev.to | 16 Feb 2021
    Here, we will cover only the basics, the idea is in the future to create an article on Vue-Property-Decorator that complements the usage of this library.
  • Aprendizados de 1 ano de projeto em vue.js com escopo ultra caótico
    2 projects | dev.to | 26 Jan 2021
    Vue2 não é muito bom pra lidar com typescript de forma vanilla, então o próprio core team e a comunidade criaram soluções pra você ter sintaxes alternativas (nada muito diferente) que suportam os toolings mais modernos e que tiveram maior adoção no decorrer dos últimos anos, como o vue-class-component, vue-property-decorator e o vuex-class. O caso mais notório de ferramenta que tira proveito disso, com certeza é o typescript. Com essas tecnologias, usar typescript é 100% possível, e usando essas sintaxes alternativas, diria até que o código fica mais enxuto e claro do que o vue sem nada (@Action do vuex-class, pra mim, tem uma sintaxe mais agradável que mapActions do vuex cru, por exemplo). Começamos o projeto sem, mas o Brunão começou a implementar usando isso e com uma curva bem pequena de aprendizado, aderimos felizes ao novo método de escrever componentes vue2.

composition-api

Posts with mentions or reviews of composition-api. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-14.
  • Getting Started with VueJS: Introduction to Vue 3
    3 projects | dev.to | 14 Oct 2022
    Composition API (now built-in): Composition API is a built-in feature of Vue 3 and is currently available to Vue 2 through the officially maintained @vue/composition-api plugin. In Vue 3, it's mainly used together with the syntax in single-report additives. Here is a basic instance of a issue using Composition API:
  • How to Build a Quasar QR Code Scanner with Capacitor
    4 projects | dev.to | 1 Sep 2022
    √ What would you like to build? » App with Quasar CLI, let's go! √ Project folder: ... quasar-qrcode-scanner √ Pick Quasar version: » Quasar v1 (Vue 2) √ Pick script type: » Typescript √ Package name: ... quasar-qrcode-scanner √ Project product name: (must start with letter if building mobile apps) ... Quasar QR Code Scanner √ Project description: ... A Quasar Project √ Author: ... √ Pick a Vue component style: » Composition API (recommended) (https://github.com/vuejs/composition-api) √ Pick your CSS preprocessor: » Sass with SCSS syntax √ Pick a Quasar components & directives import strategy: (can be changed later) » * Auto-import in-use Quasar components & directives - also treeshakes Quasar; minimum bundle size √ Check the features needed for your project: » ESLint √ Pick an ESLint preset: » Prettier
  • VueJs - Introduction à la Composition Api
    1 project | dev.to | 25 May 2022
  • Is the back port of the Composition API stable and usable in production?
    1 project | /r/vuejs | 20 May 2022
    I'd just found out about this back port of the Composition API to Vue 2 (https://github.com/vuejs/composition-api). What's your experience with that? Is it stable enough to use in a production project with +1000 users? Or is more experimental?
  • Frontend frameworks
    2 projects | /r/javahelp | 31 Mar 2022
    While Vue 3 has had a paradigma change by switching to the Composition API as the primary API, you still can use the "old" Options API which stays mostly unchanged to Vue 2. And vice-versa Vue 2 actually supports most of the Composition API when you include an additional plugin: https://github.com/vuejs/composition-api
  • import composition api in vue with vuex
    1 project | /r/vuejs | 31 Jan 2022
    Is it even worth it to use https://github.com/vuejs/composition-api or should i migrate to vue 3. I'm only using vue 2 so i can use the vuetify calendar component.
  • How to use Composition API instead of Vuex in Vue3 and also in Vue2.
    1 project | dev.to | 25 Jan 2022
    Npm package: @vue/composition-api
  • Why I Love Vue 3's Composition API
    3 projects | dev.to | 2 Nov 2021
    If you can’t migrate to Vue 3 today, then you can still use the Composition API already. You can do this by installing the official Composition API Vue 2 Plugin.
  • For Vue 2.x: vue-class-component or @vue/composition-api?
    2 projects | /r/vuejs | 28 Oct 2021
    I see that the @vue/composition-api also admits to having some performance overhead when used with Vue 2. And it appears to have quite a list of its own gotchas, judging from the README.
  • Newly hired and the company is using Vue 2, where do I start learning?
    1 project | /r/vuejs | 20 Oct 2021
    For what it's worth most of Vue 3's features can be backported to Vue 2 apps by including the @vue/composition-api package. I agree with the other comment, the v2 docs will get you very far.

What are some alternatives?

When comparing vue-property-decorator and composition-api you can also consider the following projects:

InversifyJS - A powerful and lightweight inversion of control container for JavaScript & Node.js apps powered by TypeScript.

pinia - 🍍 Intuitive, type safe, light and flexible Store for Vue using the composition api with DevTools support

vue-class-component - ES / TypeScript decorator for class-style Vue components.

class-validator - Decorator-based property validation for classes. [Moved to: https://github.com/typestack/class-validator]

Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.

vuex-module-decorators - TypeScript/ES7 Decorators to create Vuex modules declaratively

Quasar-QR-Code-Scanner - Quasar QR Code Scanner

vitesome - A simple opinionated Vue3 Starter Template with Vite.js

vueuse - Collection of essential Vue Composition Utilities for Vue 2 and 3

vue-cli - 🛠️ webpack-based tooling for Vue.js Development

vuex - 🗃️ Centralized State Management for Vue.js.