20 ms·
Show HN: Total.js – Low-code development (Node-RED alternative)
- petersirka 4y agoTotal.js Flow is an excellent and modern Visual Programming Interface for low-code development. It's a viable alternative to Node-RED and fully open-source under the MIT license.
- detrites 4y agoWhat differentiates Total.js Flow from Node-RED? Were there frustrations with Node-RED that it was felt were best solved starting over? At a glance it looks good, but unclear why one would switch.
- petersirka 4y ago- multithreading - better design collected from our Web components https://componentator.com https://componentator.com - without third party dependencies (in the core) - online chat support with authors and contributors (https://t.me/totaljs https://t.me/totaljs) - a lot of (open source) helpers like UI Builder - https://uibuilder.totaljs.com https://uibuilder.totaljs.com (released soon), Total DB - https://github.com/totaljs/totaldb https://github.com/totaljs/totaldb (released soon), OpenMail, OpenTemplates, OpenAuth, etc..
- kowlo 4y ago- multithreading - better design collected from our Web components https://componentator.com https://componentator.com - without third party dependencies (in the core) - online chat support with authors and contributors (https://t.me/totaljs https://t.me/totaljs) A lot of (open source) helpers like - UI Builder https://uibuilder.totaljs.com https://uibuilder.totaljs.com (released soon), - Total DB https://github.com/totaljs/totaldb https://github.com/totaljs/totaldb (released soon), - OpenMail, OpenTemplates, OpenAuth, etc..
- emmelaich 4y agoIt'd be nice for HN to support bulleted lists, so we could go for readability without using blank lines.
- capableweb 4y agoEh, you pay just a tiny bit of attention to your comment right after making it, you'll realize how to do it.
- RobotToaster 4y agoFrom your website >The main parts of the Total.js Platform are fully open-source That implies that parts aren't open source?
- petersirka 4y agoExcept for Total.js API service, payments and Cloud, all parts are open-source under MIT. All of our projects are under the MIT license, but some projects are considered private.
- RcouF1uZ4gsC 4y agoWhen I see low-code, I find myself looking for the Visual Basic of Web. If I could drag and drop a few pre-made controls (including a database control), double click to handle a few events, and have a CRUD app, I would be thrilled. Unfortunately, I still have not found that yet.
- petersirka 4y agoThat's possible with Total.js. We offer a lot of open source apps like Flow, UI Builder (it will be released soon officially - missing only the website) and Total DB (it will be released this week - missing only the website). Total DB: https://github.com/totaljs/totaldb https://github.com/totaljs/totaldb UI Builder: https://uibuilder.totaljs.com/ https://uibuilder.totaljs.com/ We're preparing tutorials and you will see that it's possible to do it very easily :)
- tluyben2 4y agoNice work. Is there an overview of which components are oss and which are not?
- petersirka 4y agoAll components are open source under MIT license: https://github.com/totaljs/flowstreamcomponents/tree/main/components https://github.com/totaljs/flowstreamcomponents/tree/main/co... Of course, we have some premium components (under the MIT license) that are hidden. Also you can create Flow components directly in Flow, that's amazing!
- omnibrain 4y agoComing from Delphi, I always think the same... You could check Budibase, I build a simple customer portal for one of our customers with it. Now I build a "real" project with Supabase for the backend and Vue.js + Quasar for the frontend. And that comes damn near this vision. Only a dragn'n'drop GUI editor is missing, but with the near zero reload-times of modern vue.js with Vite editing the GUI in code comes near. There are of course several "frameworks" for Delphi, that offer "building webapps with Delphi and then compiling it to JS & Javascript, but I decided not to go into this direction, because Delphi paradigmns are no good fit for the web and I doubt I'm gonna find anyone else if I'm going to need more manpower. For Delphi: * TMS Webcore https://www.tmssoftware.com/site/tmswebcore.asp https://www.tmssoftware.com/site/tmswebcore.asp * uniGUI http://www.unigui.com/ http://www.unigui.com/ Delphi Inspired Pascal IDE for the Web: * Elevate Web Builder https://www.elevatesoft.com/home https://www.elevatesoft.com/home * Quartex Pascal https://quartexdeveloper.com/ https://quartexdeveloper.com/ * Smart Mobile Studio https://smartmobilestudio.com/ https://smartmobilestudio.com/
- petersirka 4y agoTalk to ChatGPT within Total.js Flow - https://www.youtube.com/watch?v=K54ubAhheyA https://www.youtube.com/watch?v=K54ubAhheyA
- ravenstine 4y agoThat freaking corporate music though...
- quickthrower2 4y agoOr music for the bit of the movie where they fast forward through part of someones life
- GenerocUsername 4y agoDon't forget the horrible misshapen human monstrosities used by all the brands who have turned to shit at the same time
- squarefoot 4y agoThe same 4 chord intervals used in a thousand summer hits.
- claytongulick 4y agoThis is an extremely cool project, but after browsing the source code a bit, it looks like it's badly in need of modernization. CSS is Bootstrap 3. The docs reference Web Components, and I do see the use of customElements.define() so (I think?) it's using "real" Web Components technologies, but the code is indecipherable to me: var n = t.getAttribute('name') || ''; if (!n) return; var p = t.getAttribute(T_PATH) || 'null'; var c = t.getAttribute(T_CONFIG) || 'null'; var d = t.getAttribute(T_DEFAULT) || ''; var s = '__'; var meta = n + s + p + s + c + (d ? (s + d) : ''); t.$jcwebcomponent = true; compilecomponent(meta, t); Note, this isn't the minified version, it's straight from jc.js, not jc.min.js. Looking through it, most of the code is like this, and there's liberal use of "var". This isn't a cherrypicked example. It looks like it was originally written about six years ago, and I see active commits, so it's really confusing to me why the code base would be in such rough shape. The components implementation is very pythonic - it passes "self" around to decorate with functions, it doesn't look like it's been modernized to use classes. From a features standpoint, the project is very cool. My concern with choosing to use it in a production app is the enormous amount of very obvious technical debt that I'm seeing. At some point, this will either need a major overhaul and rewrite (an extraordinary effort for a project this size), a dual-implementation support (like react and a few others did, with class based and functional APIs both supported) and a long, slow reimplementation path, or a decay into obsolescence as the core frameworks becomes hopelessly outdated and difficult to maintain. That's a really difficult technical position to be in, and I sympathize with the challenge ahead. Clearly there are very talented developers working on this project, I'm looking forward to seeing how they solve these issues moving forward.
- petersirka 4y agoThe code isn't terrible, but it's not clear to you because you don't have the necessary information. The Total.js UI library (jComponent) is now 50% backward compatible with the UI library that you opened in 2014! You must know that we want to keep long-term backward compatibility. It's not a 100% nice code and of course, we will release a new version v20 (of UI library) this or next year cleared from the older code. We must offer stable tools for development, and that's critical for us and our customers. This platform has been developed for around 10 years, and it isn't easy, but we will keep doing this since it is our hobby.
- bjt2n3904 4y ago> Premium components Mmmm. Guarantees I'll never touch this.
- petersirka 4y agoWe did a ton of free components and apps, and we have been doing it for 10 years. - More than 10 apps - The number of UI components exceeds 300 - The number of flow components exceeds 100 - More than 60 components in UI Builder Internally, we have 9 people in full-time employment, they need salary. As a result, we would like to sell some premium components in order to earn money for the next development, but that's a terrible idea according to you. Yeahh, you are really crazy!
- js4ever 4y agoIt's very valid to sell premium blocks/packs. It's really amazing to have all the rest in the MIT version open-core. Thanks for that and don't be demoralized by some comments, we don't all think the same.
- petersirka 4y agoThank you a lot!
- sneak 4y agoLicensing only part of your software under free software licenses is a clear statement that you do not believe in software freedoms for users. A proprietary software house that releases some free software is still a proprietary software operation.
- tluyben2 4y agoSomewhere else in this thread I asked for the list of licenses as I see most of these products keep the parts with the most work closed or under a license that many companies won’t touch (agpl or n2n license). It seems that almost everything is MIT; that is pretty refreshing for something like this. Check alternative solutions and you’ll find trivial parts open sourced and the hard parts proprietary or unusable in other software because of the license choice. Kudos to the team of total.js. Who cares if they offer some paid stuff; because of the MIT license anyone can. If they don’t do it, someone else can and offer it all the same. As long as vital parts remain MIT, I cannot see how this is a proprietary software operation. Tl;dr I agree with you, but I don’t see that being the case here
- michaelteter 4y agoTo use this service, you check to agree to terms which include this: "By posting Content to the Service, you grant us the right and license to use, modify, publicly perform, publicly display, reproduce, and distribute such Content on and through the Service. You retain any and all of your rights to any Content you submit, post or display on or through the Service and you are responsible for protecting those rights. You agree that this license includes the right for us to make your Content available to other users of the Service, who may also use your Content subject to these Terms. You represent and warrant that: (i) the Content is yours (you own it) or you have the right to use it and grant us the rights and license as provided in these Terms, and (ii) the posting of your Content on or through the Service does not violate the privacy rights, publicity rights, copyrights, contract rights or any other rights of any person." If I read this correctly, it is saying that our IP and content we provide (config, nodes, data, etc.) still belongs to us, but they can also use it however they want. Doesn't this seem a bit extreme? It seems like it could mean zero privacy of the work we do (content added).
- petersirka 4y agoThere was no longer a time when we changed terms. Our company provides content creator sites such as Bufferwall.com and other blog post apps for blogs (therefore those conditions). But we will update the terms this month by adding some clear exceptions for UI Builder, cloud services, etc.. That's not clear for all. We will get it clarified.
- imachine1980_ 4y agoI don't understand what's the difference, will still be horrible have all the thing I do used without consent in a pay service. I dont want to have my security bulneravilities(when not if) being show in mockup of functionality, or have the code of my servers used whiout my consent I feel a paid marketplace could be a better way to monetization, or a way to share explicit, If not you can clone all my company code whiut warrant, or say that mY assets are yours.
- dspillett 4y ago> it is saying that our IP and content we provide (config, nodes, data, etc.) still belongs to us, but they can also use it however they want. A great many services have similar stipulations. This is similar to how GitHub was OK to use all the public repositories on its service as training fodder for copilot. Though there are ongoing arguments as to how this applies to code someone else uploaded: they didn't necessarily have the right to assign those rights to GH so the legal status is less clear than their terms of service might suggest.
- Jarred 4y agoNode-RED is really tough for Bun to support because it relies on sloppy mode features like implicit global variable assignment (assigning a variable without var/let/const) and Bun currently treats every file as ESM (and transpiles CJS for compatibility)
- rubenfiszel 4y agoFor Bun on workflow builders, I'm currently working on making windmill [1] supports bun as an additional runtime to run the typescript scripts/steps. It's not the same as making the workflow engine run with bun (we use Rust) but I thought it might be worth mentioning :) [1]: https://github.com/windmill-labs/windmill https://github.com/windmill-labs/windmill
- Jarred 4y agoNice
- renewiltord 4y agoThis looks tremendous, mate. Going to try it later today. Is the self-hosting story good?
- rubenfiszel 4y agodocker compose up and you're gtg. We also have helm charts and it can also run from a single binary and a postgresql url. Everything is documented on windmill.dev
- renewiltord 4y agoFucking brilliant. Inspires confidence.
- jeffybefffy519 4y agoWow this looks incredible. Nice
- 4y ago
- gmenih 4y agoHad the unfortune to have to work with Total.js a few years ago.. safe to say I'm never touching it again.
- petersirka 4y ago[flagged]
- dkersten 4y agoCare to elaborate? Without context, your comment doesn’t really tell us anything useful to make a decision or verdict on.
- ErneX 4y agoI cannot seem to find the price of the “premium” components.
- petersirka 4y agoOur team is currently working on the Total.js Enterprise service, which will provide all premium content (Private Cloud, Flow + UI Builder, CMS widgets, CMS templates, etc.). We are offering these components for testing purposes for some members. The price will be appropriate and not excessive. If someone wants only some parts, we will be able to sell them independently. Feel free to email me or contact me via Telegram: https://t.me/petersirka https://t.me/petersirka if you want to use some special Flow components.
- edweis 4y agoHow does it compare to Luna Park? https://luna-park.app/ https://luna-park.app/
- anaganisk 4y agoWith no offense intended, I've never heard of it, but. I would say, compare Luna Park with node red and compare the difference with total. Because this application is an alternative to Node Red.
- programmarchy 4y agoLooks like Luna provides a really nice UI, but the node library is much more limited and low-level e.g. it has logic nodes, but no DB connectors.
- mderazon 4y agoDoes anyone know if they are using any UI toolkit for the nodes/edges blocks or have they built it themselves? I am looking for something something similar but for different purpose, just the ui toolkit without any logic built on top of it
- PaybackTony 4y agoA pretty common one is jsPlumb - https://jsplumbtoolkit.com/ https://jsplumbtoolkit.com/ - might be what you're looking for. I'm sure there are others as well.
- kidfiji 4y agoThere's a bunch on this GH list: https://github.com/wbkd/awesome-node-based-uis https://github.com/wbkd/awesome-node-based-uis
- gregoriol 4y agoJointJS is quite great for that: https://www.jointjs.com https://www.jointjs.com, even with the community version https://www.jointjs.com/comparison https://www.jointjs.com/comparison => we have built some node ui with it and it has been fast, flexible and extensible; maybe not easy to start with, but it was worth it
- mercat 4y agoIf you want something in react - https://github.com/wbkd/react-flow https://github.com/wbkd/react-flow
- chwzr 4y ago+1 for react-flow it’s a joy to develop with
- deleted 4y ago[deleted]
- andrethegiant 4y agoReminds me of Quartz Composer back in the day!
- CyberDildonics 4y agoHow do things like state, loops and branching work in a system like this?
- umtksa 4y agoI'm running Node-red on an ancient separate android phone more than 1 year can I run total.js on a phone
- kundi 4y agoThe registration form is the first obstacle that turns you off. SMS for a confirmation? Sure, let me pull my number in this - the SMS never arrives. Why use SMS in the first place? From the user perspective, it seems like you're following your own ideas that might be quite far from the conventions that exist for a reason.