Inspiration

We were looking for a way to help 1st year students with their side projects when we realised that some of the most important challanges they found were the lack of easy to use deployement tools, lack of any kind of web programming (and of javascript)

What it does

It automatically compiles and deploys a webpage from a html layout and a c++ source file that uses the edge++ js<->c++ API. This allows people who know basic C++ (no classes or structs needed, just strings, cin and cout) and not javascript to build interactive websites with relative ease.

How we built it

We started with some separate components testing for the viability of the project. Once we found out it could be done as we intended, we designed the architecure and started programming the backend. The frontend was done after the backend was nearly complete and once a quick frontend could be thrown together in case were needed.

Challenges we ran into

JS, blocking and multithreading have a very strange king of relation. We were not even sure what we wanted to do was possible until 5 or 6 hours into the hackathon because at first we did not find how to have a way to pause an otherwise syncronous thread without hogging the cpu while at the same time having 2 separate threads so UI could run in parallel.

What we learned

We learn a lot about js in general and its synchorincity (and the times when it is'nt that much), php for backend processing and MDL as a style for creatin languages, and obivously also WebAssembly. At the beginning of the challage we had only a very basic understanding of js, now we know a bit more.

What's next for Edge++

The next major changes for edge++ would be to improve security. Allowing uploads and on top of that processing them is a very risky move from a digital security perspective.

Built With

Share this project:

Updates