Hey guys,
I'm very proud to announce my first Nimble package, a tiny library that I think all of us in the community can benefit from!
The project is called Neel, it's a Nim library for making lightweight Electron-like HTML/JS GUI apps, with full access to Nim capabilities and targets the C backends rather than JS.
I've put as much detail as I could in the read-me and I invite you guys to check it out, I'm sure it'll assist you in your development and it's extremely simple to use:
https://github.com/Niminem/Neel
I do want to note that it's in its infancy. That's not to say it isn't useful now, but the plan is to slowly transform this library into a framework that my rival Electron. I think it has potential to be one of Nim's killer applications.
Nice!
Some nitpicking:
Can you make it not depend on jester? I found jester is quite unusable for larger apps
Can you elaborate on what problems you've faced?
I can definitely test both ways, but so far I haven't ran into any issues with Jester. I've ported a handful of apps over from Python during testing.
I will be sure to give updates here
Quick update here,
I've updated Neel so that when you're importing the library, you import with "neel" rather than "Neel".
I've removed the couple of echo statements left in the source. It was helpful for debugging but I can imagine folks wouldn't want any extraneous echo statements in their applications.
I've edited various proc definitions to more idiomatic when declaring types.
Other than that, no functionality has been changed. I'll be dropping v0.2.0 by the end of October with plenty of improvements and added features.
v0.2.2 has just been released. Technically 0.2.0 but I screwed up with the releases- still a Github newb
Now you're able to specify any port you wish, specify the position and size of your application's window, and pass additional command line arguments for Chrome. :)
v0.3.0 should be released November/December with tons of improvement and added features
What's up guys,
v0.2.3 has just released. I fixed a bug that was preventing Windows from using the library, and other minor bug fixes and optimizations.
Also, I dropped an example in the repository. It's a simple Neel app that picks a random file from a directory (something impossible from the browser).
Happy Nimming boys
Neel v0.2.6 has been released
There was a while-loop that causing a bottleneck when handling WebSocket requests. When you would send rapid requests to/from the backend (say, the canvas API) there would be a greater and greater delay as more requests come in.
This has now been fixed and you should be able to run all kinds of dynamic data visualizations, games, etc. with Neel now.
v0.3.0 will be out sometime January 2021, with the ability to package your application and other cool things. I just have to learn nimscript first :)
I couldn’t find this info in the thread or the README: How is the app packaged and how large is it? Electron apps are huge because each one contains a copy of Chromium. On macOS there are some alternatives that use the system WebKit framework, some the apps are tiny.
Also, IMO it’s important to offer support for platform integration, like a menu bar.
Thanks for the feedback, I'll be updating the readme to include more details on those kinds of things.
Currently, it doesn't have the functionality to package the app for you. That'll be shipped in 0.3.0 in January.
The binaries are very tiny though. For now, a Neel app opens in a chrome browser window. It opens in app mode by default, but you can have it simply open a window in a new tab if you'd like. In 0.3.0, the plan is to simply use the system window and load the URL there. like you mentioned above.
My vision is to eventually have Neel become a framework "similar" to Electron but definitely with none of its downsides.
Finally I've had the time to make another release!
Neel v0.3.0
Updates:
The updates above will be reflected in the ReadMe in greater depth. No changes were made to the API.
These 4 much needed improvements came from other contributors, thanks a lot guys <3
Enjoy a more robust version of Neel :)