NEWS
Blockly vs. Node-Red vs. Javascript
-
@renegade-0 also, ich habe hier mal die Diskussion überflogen.
Ich nutze Blockly und JavaScript.
Blockly für die "schnelle Nummer", die kleinen Aufgaben - und für "Prototypen".
Wenn ich was komplexeres mache schnappe ich mir gerne einzelne Probleme davon und baue die in einem separaten Skript zu etwas funktionierenden. Das sind meine "Prototypen" - und die mache ich gerne mit Blockly.Denn ein Blockly kann man dann einfach in JavaScript umwandeln bzw. sich das was man braucht aus der JavaScript Ansicht heraus kopieren / abschauen.
Wenn es komplexer wird ist es halt JavaScript. Viele Dinge die in Blockly dann komplex wären sind in JavaScript ganz einfach. Zum Beispiel Suchen & Ersetzen von Text. Aber man kann in Blockly auch JavaScript-Code nutzen, ergo auch das einfachere Suchen und Ersetzen.
Zum Thema NodeJS Bibliotheken nutzen. Die man ja in den JavaScript Adapter eintragen kann und dann installiert werden und genutzt werden können. Oder in NodeRed via function Nodes on the fly verwendet werden können
Da fang mal gar nicht erst mit an mit dieser Abhängigkeitshölle. Da baust du dir ein Skript was eine bestimmte Bibliothek braucht ... die irgendein anderer Pflegt ... oder auch nicht ... die dann bei jedem Update mit gepflegt werden muss oder Probleme machen kann.
Ich mag meine Skripte "Allein bzw. auf dem Grundsystem lauffähig" - da kann ich das einfach auf ein anderes System kopieren und das Ding läuft. Wenn ich den mal etwas aus so einer Bibliothek brauche mache ich mir die Mühe den Quellcode dazu anzusehen. Und oft ist es erschreckend wenig was da drin steht bzw. was man eigentlich aus der Bibliothek braucht, die paar Zeilen kopiere ich in meinen Code mit einem Hinweis auf die Herkunft - und das Skript wird immer so selbstständig funktionieren.NodeRed hab ich mir mal angesehen. ist toll. Brauchte ich aber nicht weil ich halt schon mit JavaScript alles hinbekomme und wenn ich Faul bin reicht Blockly.
-
@liv-in-sky sagte in Blockly vs. Node-Red vs. Javascript:
braucht man früher oder später beim fortgeschrittenen programmieren in iob
jetzt sind wir aber schon fast beim Thread zu den 3 (4) Varianten des js-Adapters!
Die Zielgruppe fpr Blockly ist nicht unbedingt der fortschrittliche Programmierer!
Das sollte man beim Vergleich nicht außer acht lassen. -
@homoran sagte in Blockly vs. Node-Red vs. Javascript:
Die Zielgruppe fpr Blockly ist nicht unbedingt der fortschrittliche Programmierer!
denke schon - nach einen jahr ist man das - und was dann - bei den momentanen einschränkungen von nodered, bedeutet das umlernen !
ich sehe es so - meine persönliche meinung !!!!
gäbe es kein nodered in iobroker, würde ich das nicht merken - es gäbe keine einschränkungen für mich
ohne blockly wäre ich wahrscheinlich nicht hier, weil ich das einfache konzept von blockly als anfänger gut fand - wahrscheinlich hätte ich nodered angeschaut und mein smarthome nur damit realisiert - es würde dann aber mir einiges fehlenmit blockly einfach einsteigen - wenn's besser wird, etwas javascript abschreiben und lernen und man hat alles, was man braucht. will man dann noch in der vis "rum-coden" hilft einem das javascript-wissen - mit nodered kann man keine solche vis wie bei iobroker aufbauen
aus anfängern werden irgendwann fortgeschrittene - über blockly geht das relativ schnell
mit blockly lernt man programmieren - miit nodered lernt man prozessverarbeitung
-
@liv-in-sky sagte in Blockly vs. Node-Red vs. Javascript:
mit blockly einfach einsteigen - wenn's besser wird, etwas javascript abschreiben und lernen und man hat alles, was man braucht. will man dann noch in der vis "rum-coden" hilft einem das javascript-wissen - mit nodered kann man keine solche vis wie bei iobroker aufbauen
Na ja.
- Das ist missverständlich in meinen Augen. In NodeRed kannst du genauso mit javascript codieren, wie mit dem JS Adapter (mal von den iob Bibliotheken abgesehen). Inzwischen hast Du auch einen sehr leistungsfähigen Code-Editor mit Auto-vervollständigen und Code Analyse. Bzgl. vis gibt es keine Nachteile mit Node-Red. Iobroker-Vis und die Widgets greifen auf Datenpunkte zurück und die können genauso mit NodeRed modifiziert werden. Das gleiche gilt für die anderen Visualisierungsadapter wie Jarvis etc.- Zusätzlich hat kann man weitere Dashboards nutzen oder beides sogar kombinieren.
-
Guten Morgen.
Jetzt muss ich mich da doch nochmals zu äußern.Ich nutze ja, wie schon geschrieben, beide "Systeme" und werde da auch keine Nachteile pro System schreiben - da ich keine sehe.
Fange ich mal mit Blockly an:Ich nutze zu 95% Blockly da ich dieses System sehr einfach finde.
Für reines skripten und um evtl. Javascript zu "lernen" recht easy.Der größte Unterschied zu Node-Red ist aber der dass man in Node-Red ein System hat welches wirklich ALLES vereint.
Sei es skripten, visualisieren und vieles mehr. Ja, man kann sich sogar die meisten Adapter in ioBroker "sparen" da es dafür die Nodes gibt. Zugegeben sind nicht alle Nodes geeignet und funktionell aber das liegt nicht am System sondern an der "Pflege" der Nodes seitens der Developer - ähnlich den Adaptern in ioBroker !
Ein Beispiel wofür ich Node-Red nutze ist mein GPS-System:In Verbindung mit der Tankerkönig-Node habe ich quasi fast schon ein Navi welches mir, je nach GPS-Standort, die 5 naheliegendsten Tankstellen inkl. Preise und Adressen anzeigt.
Sowas ist mit Blockly nicht machbar da im ioB einfach der Adapter Tankerkönig solche Auswertungen (Radius, Adressen, usw) nicht hergibt.
Zugegeben nutze ich die VIS in Node-Red garnicht da ich bei der ioB-VIS einfach mehr Möglichkeiten zum optischen Spielen sehe. Das ist aber Geschmackssache.Mein Fazit:
Blockly zum Skripten - mehr halt nicht.
Node-Red - all-inclusive. -
@djmarc75 Wichtig ist halt, das die Visualisierung weder mit Blockly, noch mit NodeRed was zu tun hat. Man muss nicht das NR Dashboard nutzen. NR, Blockly und JS sind dafür da, dass man eine Logik implementiert. Deine Karte wirst Du wahrscheinlich in Deine VIS eingebaut haben, genauso habe ich eine VIS Seite mit meinem Grundriss (könnte ich nie und nimmer im NR Dashboard erstellen) in mein NodeRed Dashboard eingebunden habe.
Ich finde es schon wichtig, dass man diese Tools als Logikmaschinen einordnet und das die zu implementierende Logik mit allen 3 Tools zu implementieren geht und es bezgl. Visualisierung, der Verwendung von History Adaptern und damit der Anbindung an Datenbanken und die Verwendung von Graph Software von Grafana oder flot - keine Einschränkungen gibt und somit auch kein Entscheidungskriterium Pro oder Contra für einen Einsteiger darstellt.
Im Prinzip ist es ein Riesenvorteil des iobroker Systems, dass alle Logikmaschinen insgesamt hervorragend in das System integriert sind und das es Möglichkeiten gibt alle Systeme gemeinsam zu nutzen und zwar genauso wie über andere Adapter, in dem man über Datenpunkte die jeweilig anderen System triggern kann.
-
@renegade-0
OK, dann gebe ich auch noch meinen Senf dazu:
Ich nutze Blockly und JS.
NodeRed gar nicht - aus einem einfachen Grund: Mit Blockly und JS habe ich alles was ich brauche.
Ich halte es genauso wie @BananaJoe : Mit Blockly baue ich mir die Prototypen. Das geht für mich schneller, da ich mit JS noch nicht so vertraut bin. Sobald das dann halbwegs läuft, kopiere ich mir den JS-Code und verwende das als Basis, um die gewünschte Funktionalität in JS abzubilden. Da sind viele Dinge dann einfach eleganter umzusetzen.
Aus vielen Blöcken werden dann ganz schnell einige wenige Zeilen JS. Damit komme ich berufsbedingt letztendlich besser zurecht. -
@liv-in-sky sagte in Blockly vs. Node-Red vs. Javascript:
@homoran sagte in Blockly vs. Node-Red vs. Javascript:
Die Zielgruppe fpr Blockly ist nicht unbedingt der fortschrittliche Programmierer!
denke schon - nach einen jahr ist man das - und was dann
Das ist genau die Frage!
die (vorweg definierte) Zielgruppe für Blockly ist der Einsteiger!
Deswegen sind komplexere Möglichkeiten nicht vorgesehen (gewesen), um die Anzahl Blöcke übersichtlich zu halten und einen "Programmiernoob" nicht zu überfordern.genau diese "und was dann" hat inzwischen dazu geführt, dass neue Blöcke und Möglichkeiten hinzugefügt wurden.
Hier hätte man ggf. schon einen Expertenmodus dafür einführen sollen.
Mit diesem könnten dann sogar noch mehr Blöcke hinzugefügt werden ohne Einsteiger abzuschrecken.
Ansonsten ist es wie mit vis. -
@liv-in-sky sagte in Blockly vs. Node-Red vs. Javascript:
aus anfängern werden irgendwann fortgeschrittene - über blockly geht das relativ schnell
mit blockly lernt man programmieren - miit nodered lernt man prozessverarbeitungDas finde ich mal eine echt gute Aussage. Node red hat in der Basis nicht viel mit programmieren zu tun. Es ist hautsächlich Logik und Prozessverarbeitung.
Mit Blockly kenn ich mich noch gar nicht aus, aber einige sagen ja, dass es einfach plug and play ist und dann gut als Grundrahmen für eine direkte Programmierung ist. Also wird das schon stimmen.Natürlich kann Node-Red auch Programmiersprache abbilden, wie mir @mickym schon so oft gezeigt und geduldigst erklärt hat. ;), aber das sehe ich in Node-Red eher als fortgeschrittene Stufe an.
@djmarc75 sagte in Blockly vs. Node-Red vs. Javascript:
Ich nutze ja, wie schon geschrieben, beide "Systeme" und werde da auch keine Nachteile pro System schreiben - da ich keine sehe.
Danke dir erstmal für deine Aussage. Kann man sich hier im gesamten darauf einigen, dass sowohl Blockly als auch Node-Red über hinzugefügte Adapter bzw. JS-Scripts eigentlich "alles" bzw. das gleiche können, nur der Weg bei dem einen oder anderen einfach Umständlicher ist?
-
@renegade-0 sagte in Blockly vs. Node-Red vs. Javascript:
Danke dir erstmal für deine Aussage. Kann man sich hier im gesamten darauf einigen, dass sowohl Blockly als auch Node-Red über hinzugefügte Adapter bzw. JS-Scripts eigentlich "alles" bzw. das gleiche können, nur der Weg bei dem einen oder anderen einfach Umständlicher ist?
njein - das geht teilweise nicht mit nodered https://forum.iobroker.net/post/909399 - ansonsten wüde ich dir zustimmen
ein weiterer grund warum ich nodered nicht mehr nutze, ist das erzeugte durcheinander, wo den nun das script liegt. viele forum beispiele brauchen javascript- pur - also sind da schon mal mit der zeit welche da. dann hat man node red und könnte da noch scripte haben. letztlich hatte ich auch noch blockly scripte. blockly und javascript kann man in einer programmierumgebung durchsuchen und ein script finden - aber nodered muss dann auch noch durchsucht werden. ich habe z.b ungefähr 700 scripte (sind auch nur test-scripts und vorlagen dabei) - aber ich weiß immer, wo ich danach suchen muss. mich nervte es, immer in 2 verschiedenen umgebungen zu suchen