This still being developed?
lukecfairchild opened this issue · 10 comments
Is this project still being developed?
Not exactly developed, but very much used.
It has successfully replaced all my AHKScripts.
About its development: there are a few items on the todo list, but in the past year none of them has presented urgency. Only one thing not commited: FileAppend() needs the encoding explicitly mentioned if you want UTF-8.
I personally think that Exo is already quite "mature". Like Aurelain mentioned, it's mainly just a few things here and there.
Although it is true that the project is very mature, stuff like:
ComObjCreate
, VarSetCapacity
, NumPut
etc. would be really handy. I wonder, what was the issue with their implementation when Exo was being made?
Was JavaScript's Proxy available for use back then? If not, then this is likely the way to go when it comes to implementing COM Objects at least...
COM would definitely open up a lot of possiblities... I am not sure what the limitation is...
I don't quite remember the limitations to COM. I suspect it was just the lack of time that forced me to mark it as Cannot use yet
.
Exo is indeed not actively developed anymore, but I still use it, in a manner of speaking:
I „polyfilled” some frequent AHK functions as global NodeJS functions.
So, I still write AHK in JS, just that it's interpreted by NodeJS instead of IE.
My NodeJS approach was to recreate AHK functions with NodeJS. Reasons:
● familiarity with AHK names
● compatibility with older Exo scripts
● the sorry state of default file libraries in NodeJS
Your approach is interesting, but I think I would go the Electron route for more power. Not the same thing, I know, but depends on the use-case.
That's exactly the reason why I built DynaCLR, and why I was planning on bringing COM and DLLs into the mix also. I've been building an application for some time using electron but there is only so much integration you can do in the windows environment without COM and Win32 api.
With NodeJS we can easily interact with the file system, but imo a good application interacts with the platform's environment as well. E.G. One thing I wanted for LaunchMenu, was to check the active window before LaunchMenu's window is shown. On Mac you can use applescript/JXA with NodeJS out of the box. There are similar libraries for Unix directly accessible from the command line. However everything on Windows is locked behind Win32, COM and .NET... I did initially look into EdgeJS however everything I've tried so far with node-gyp
has also resulted in massive compatibility issues...
Anyway it would be cool to see your NodeJS library sometime :)
I too wish there was a nodejs implementation of AHK. All the closest choices I have seen are extremely limited sadly.
Yes a NodeJS-AHK would be 🎉 🍰 !!!