Capibilities that needs clarification
I want to know about the current capabilities and plans in the following topics, because all of them impact a usual C++ developer, anyone importing C++ code bases would encounter those limitations and try to overcome them, the much duetto makes easier for the usual C++ developer, the more duetto would succeed.
* File IO
How duetto currently work for both reading and writing files? What are the plans? I guess reading could be done via http requests or with a virtual filesystem preloaded or using HTML5 FileSystem API. Writing I can only see possible using the HTML5 offline storage. Emscripten does allow opening files with C API and providers an API for writing files with HTML5 Filesystem.
* Sockets
I guess duetto doesn't have sockets, however is there any plan to implement it? Emscripten does implement that using websockify which is a wrapper for using normal network traffic via HTML5 websockets.
* Multi-threading
Digging I little I found out that javascript doesn't have a properly API for multi threading with mutexes, locking, etc, so properly implementing C++11 multi-threading API would not be possible. However if you guys implement the <mutex> <thread> <atomic> headers and classes working in a single thread manner would save a lot of code rewrite. The only thing close to multithreading in javescript is the HTML5 WebWorkers, which can be useful. Emscripten does implement an API for using web workers.
* GLSL 2.0
You guys did a class for using WebGL, however would be much less work for me to port my OpenGL 2.0 code if there were a wrapper for both GLES2 and EGL implemented. (the headers GLES2/gl2.h and egl.h).
* Sound API
How do I play sounds in duetto? Do you guys have any plans to implement an API for it? Emscripten does have a wrapper for OpenAL.
* Asynchronous transparent RPC
I found the transparent RPC idea in the examples really cool, it makes much easier for server <-> client communication. However it looks like that everything is done synchronous, for some tasks that is ok, but there are some jobs that would need to be asynchronous so the script can continue to run while waiting data from the server. Is there any plan to implement an asynchronous RPC call? That could be achieved using lambdas as callbacks being called when the response from the server arrives.
As a game developer, I would like to give a try to import a game to duetto someday, however I would need to overcome all those difficulties, I could just use emscripten because most of those difficulties already have workarounds. However I like liked how duetto gives DOM API and a closer integration with the DOM API and HTML, and the transparent RPC calls idea is really cool.
I really need some clarification on those topics before I begin to work on something using duetto, to know what would be possible to port in the future, so I could wait, otherwise I would have to fallback to emscripten.
Question information
- Language:
- English Edit question
- Status:
- Answered
- For:
- Cheerp Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask Edward Bart for more information if necessary.