Comments (5)
@gedw99 I've been tracking what it could look like to support a WASM runtime and allow game teams to write their server code in whichever language supports WASM as a compiler target.
What's unclear at the moment is how to maintain the set of necessary interfaces/headers/typedefs for each of the languages that compile to WASM? How do others maintain these stubs?
from nakama-common.
This would be a game changer, hope to see this implemented in nakama soon.
from nakama-common.
What's unclear at the moment is how to maintain the set of necessary interfaces/headers/typedefs for each of the languages that compile to WASM? How do others maintain these stubs?
I would argue that maintaining the stubs can be easily given to the community. If somebody wants to use rust they search for rust bindings or make them themselves. The only thing thats needed is a clear documentation on the exported functions and types. Maybe this can even be automatized if the format is easily parseable, though not sure if its actually worth it or if handcrafting and maintaining the binding would be easier and quicker.
Of course an official rust binding would still be appreciated, as rust and wasm seem to be the most common combination.
from nakama-common.
Another random idea, could you just expose the functions of Nakama as an API? WASM would be amazing as it would enable any number of languages, but implementing an interface to allow Nakama to just call out to a container in the same cluster and/or on the same network. You could let them communicate and that way remove any limitations to people using your services.
from nakama-common.
You could recreate that quite easily by making some custom rpcs in lua or typescript and calling them, of course thats a lot of overhead you will likely want to avoid :)
from nakama-common.
Related Issues (20)
- HttpMethod no "DELETE" HOT 3
- Version 1.28.0 in package.json for v1.28.1 release
- Typescript type mismatch for nkruntime.Context.vars HOT 1
- index.d.ts: MatchInitFunction params wrong type + documentation update required HOT 2
- [TS] Nakama-Project-Template Typescript compile npx tsc fails On MatchSignal is missing in type... HOT 5
- Typescript: Error create tournament? HOT 5
- [TS] Feature request: allow the user to specify the state type for the Authoritative Multiplayer matches HOT 1
- Add missing function declarations to Typescript HOT 1
- [TS] Fix wrong binary array data declaration HOT 2
- [BUG] registerAfterDeleteNotifications HOT 3
- TypeScript: wrong field name in ValidatedPurchase HOT 1
- [GO] fix the response result for the WalletUpdate function HOT 3
- [GO] fix some error messages HOT 1
- Typo in authenticateGameCenter method
- [TS] hmacSha256Hash base64Url encoding issue HOT 3
- [TS] `recorded` Parameter not exposed in `accountDeleteId`
- [TS] base64UrlEncode vs base64Encode HOT 1
- nkruntime.accountExportId returns a Uint8Array instead of a string HOT 1
- [TS] Problem with base64UrlDecode (wrong length) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nakama-common.