retejs / rete

JavaScript framework for visual programming
https://retejs.org
MIT License
9.98k stars 651 forks source link

Retejs for Angular 7 #226

Closed bolota closed 5 years ago

bolota commented 5 years ago

Hey, I just tested your framework and I think it’s really great the way you are coding, really clever. Would you be interested in a further developing this in Angular? Maybe try to exclude the Vue from it.

What do you say?

Thank you

juliandavidmr commented 5 years ago

VueJS: https://github.com/retejs/vue-render-plugin

Apparently there is no render plugin for angular.

Ni55aN commented 5 years ago

Hello! Rete.js doesn't depend on other frameworks and just uses one of them to render nodes and controls.

I prefer Vue.js and have implemented vue-render-plugin, but it can be replaced by another render plugin. Angular seems massive for most uses, but Angular based render plugin can be implemented.

trsh commented 5 years ago

@bolota if you are an Angular fan and want use angular to extend Rete nodes/controls/etc, you can dev an render plugin for that. If you just care about KB, you can checkout https://github.com/retejs/rete-stage0-render-plugin.

Githamza commented 5 years ago

I would develop the angular renderer, but I'm not an expert of creating modules, if anyone can guide me to do it ?

Ni55aN commented 5 years ago

@Githamza Rete.js provides HTMLElements for each node/control, so each render looks like “rendering something in an HTMLElement”. Perhaps in Angular, each Node view is an instance of the Angular application.

import { BrowserModule } from "@angular/platform-browser";
import { NgModule, Component } from "@angular/core";
import { platformBrowserDynamic } from "@angular/platform-browser-dynamic";

@Component({
  selector: "rete-node",
  template: "Its me, Rete.js node!"
})
export class NodeComponent {}

@NgModule({
  declarations: [NodeComponent],
  imports: [BrowserModule],
  providers: [],
  bootstrap: [NodeComponent]
})
export class NodeModule {}

platformBrowserDynamic()
  .bootstrapModule(AppModule)

Looks heavy. I think the rendering of many nodes may have poor performance, but it may be okay for rendering few controls (node can be rendered via Vue.js, it contains Control that will be rendered via Angular)

trsh commented 5 years ago

Angular is different. You cant just inject it somewhere in renderer like Vue or alite. If you choose it, have to go all the way with it from node composing to renderer etc