DEV Community

Discussion on: React or Vue or Something New?

Collapse
 
sergiu profile image
Sergiu Butnarașu • Edited

Maybe Stencil can help you. He generates web components that can be integrated with other frameworks (Angular, React, Vue) or can be used without a framework (stenciljs.com/docs/javascript).

import { Component, Prop } from '@stencil/core';

@Component({
  tag: 'hello-world'
})
export class HelloWorld {
  @Prop() message: string;

  render() {
    return (
      <div>
        {this.message}
      </div>
    );
  }
}

And use it like this:

<hello-world message="Hello World!"></hello-world>
Collapse
 
gluons profile image
Saran Tanpituckpong • Edited

Wow! I can write similar code with Vue + TypeScript (feat. Vue Property Decorator).

<template>
  <div>{{ message }}</div>
</template>

<script lang="ts">
import { Vue, Component, Prop } from 'vue-property-decorator';

@Component({
  name: 'hello-world'
})
export default class HelloWorld extends Vue {
  @Prop(String) message: string;
}
</script>
<hello-world message="Hello World!"></hello-world>
Collapse
 
sergiu profile image
Sergiu Butnarașu

Nice, but I personally like the Stencil syntax.