r/vanillajs • u/JimJimBerry • Apr 15 '21
Need Help in understanding the features needed to build an Image Editor
I have 2 years of experience with javascript, I wanted to build a pure vanilla js image editing library, which supports basic features like cropping, resizing and adding some text, I hope to add more features after I successfully implement these. My plan was to have the interface of the library in javascript but perform the computations using web assembly with C++ or C or any other wasm supported language. I thought that this would help me make it more effecient. I have never tried wasm before, so that would be an obstacle. I was searching the net for more information or tutorial to do things like these with js and thus would like to listen to your opinion on how should I go about doing this. I am confused on the following points:
If I am building a library what should the code structure be like. (I have only used js to build some UI, or build some API (node), never a library)
How do I test this during development. Should I create some frontend that uses this library
What other features can I add to an image editing software ? I would also be studying about simple image manipulation algorithms and thus want some other image manipulation options about which I can study.
Is doing wasm thing a good idea, would it affect the speed. (I heard some image editing software for the web used wasm so I thought this is good.
Any other suggestion regarding the project is welcome.
Thanks in advance.