I hope to provide a means by which to develop web AND cross-platform desktop apps using TypeScript semantics.
This project is currently a work in progress
(code may or may nor compile), so click "Follow" (top right) and stay in touch!
Update: A special thanks to Scirra
(makers of Construct 2) for helping this project provide networking support for game development. I will be focusing on that platform going forward. If you are interested in creating games in
HTML5 (no coding required), I recommend checking it out!
Update: I've implemented CEF into DreamSpace Studio to allow creating desktop apps using TypeScript. I'm still creating some plugins for Bootstrap to extend the basic HTML-based UI. I'm also using the ICE system (see related projects) to implement
a plugin based system to the Studio (desktop client) and server (V8.NET) sides.
Update: Putting in some final touches to the core framework. Will be starting the networking portion very soon. The system is starting to look like .Net namespaces. ;) Care is being put in to reuse disposed objects so the GC isn't taxed (mainly for game
development). The JS framework (built on TypeScript) even as a virtual AppDomain for apps. ;)
Why not just use NodeJS/NodeIIS?
NodeJS is a wonderful platform, but there's no easy
side to handle as much work as possible, such as validation, in which the same
The DreamSpace.NET Server uses the V8.NET
engine wrapper (made with cross-platform focus).
Who should use the framework?
The framework is designed to be used for INTERNET based development - NOT just websites or services. The initial goal of the system is to support web-based development; however, we plan to include extensions to support massively multi-user applications as well,
such as multiplayer games.
Since the server is extensible, the limitations are solely developer imposed.
Doesn't .NET mean only Windows supported?
No, we are planning to support the Mono
cross-platform framework as well. To this end, we are trying to keep the code as non-Windows specific as possible. The .NET server portion is designed to be "pluggable".
is 3rd-party extensions, which can be Windows specific. To mitigate this issue, it is recommended to stick to DreamSpace supported extensions only, or take care to only use 3rd party extensions that provide source without Windows dependencies.
The license is LGPL. In a nutshell, this means that you can link to the libraries from proprietary code, and/or create proprietary extensions for the server. If you modify the source files for anything in this project, the modified source and executables from
it must also be made freely available (and you must clearly state you modified the code). If you create extensions and/or modules (aka plugins to the framework), they must be completely free for non-commercial use, without limitations, and with full source.
It is permitted to require commercial licensing for commercial usage of proprietary extensions and/or modules that you make yourself. You are free to link to the source or compiled libraries in commercial works; however, DreamSpace Studio (the development
IDE) is only available for non-commercial works - for commercial usage, a license is required.
Regarding server extensions and modules, I will categorize contributions in this manner:
1. Extensions which are free AND officially included with the project.
2. Extensions which are free, but NOT officially included with the project.
2. A server backed by the fast Google V8 engine, which runs the server portion of DreamSpaceJS (other engines supported via the IScriptEngine interface if desired).
4. Full support for development with Visual Studio and MonoDevelop (MonoDevelop support is only planned at this stage).
fast prototyping and checking).
8. Extremely simplified (for ease of use) load balancing framework for massive users, which supports scaling both vertically and horizontally.
9. Integration with fast MSSQL/MySQL database servers for state persisting (a plugin system will help integrate others if desired).
10. Plugin support to integrate multiple game engine frameworks (including support for WebGL, physics tools
also supporting server side physics processing
... and so much more in time. Please help me spread the word on this (it's free, so I need all the help I can get), thanks! :)