Hacker News new | comments | ask | show | jobs | submit login

Why use not Electron? Take a look at vscode it has plugins and it seems to work everywhere.



Electron is basically Node+Chrome. There’s no way in hell it’s appropriate for writing VSTs.


In about ten years someone will post one to HN. Written in Javascript.


And it will use 1TB of ram to run.


Unfortunately DAW and VST plugins are not something you can make in Electron


Can you please explain why?


Audio software has strict buffer/latency demands which usually cannot be guaranteed on interpreted language platforms.

Doing audio synthesis with JS or any other interpreted language really is totally possible and has been done in a more or less serious way in several implementations and webtoys etc. But if you need extremely low latency and guarantees you cannot go that route, sadly.


You can always write native extension in c++/rust/c.


so then why use electron as well if the majority of your code is going to be native anyway?


exactly.

the UI is the minority of the code. the main engine is gonna need to be implemented in some language which has strict guarantees about performance. also, not having a garbage collector that fires in a seemingly random way helps a lot too :)


It's probably a decent way to package your program. And you can use all the glammy JS you want.


There are few reasons: - they most of the time run embedded in a DAW - they are usually computationally intensive themselves - they are meant to be instanced as far as memory/CPU can go

ad to the third point: Music producers already require and use pretty powerful rigs: 32-128GB RAM is not uncommon, CPU as good as it gets. There's great benefit when you can run 100 instrument synthesizer instances parallel vs 14 instances - it's a difference between a differentiated orchestra and a rock band.


Because the plugins embeds into existing native applications and uses existing native SDKs.


Friends don’t let friends use Electron




Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: