The Big JavaScript problem

So … just imagine you want to create a web game purely written in JavaScript. If this game is simple, or even more complicated but user is not sharing results or competing with others, then there is no reason from him to change anything in that, how game is working. He has the fun, and that’s enough.

On the other hand, let assume the user is sharing the game. The competing part of the game is appearing, so it is not only the fun but the willingness to be higher than others. So if you don’t have enough skills to beat them, then you could try to help yourself in another way. With JavaScript, Google Chrome will be enough with its powerful features to change how ‘client’ JavaScript code behave…

Problems like:

  • users ranking, points
  • game resources
  • anything which is used to compare players …

… we cannot address them running code on local machine, if we want to be sure that no one is breaking rules.

That’s the game case, but the same we could have with banking web site, shopping site or whatever similar.

What that’s meaning? It simply means JavaScript needs a friend, friend which will be a trusty resource in web world, which could be use to resolve any of above problems.

JavaScript is simple language, it can be widely used, but it is not designed to be a friend of JavaScript … the tooling, server-side and all other things (but maybe things are changing?). So if we are looking for the close to JavaScript language, which is knowing well the culture propagated by today JavaScript then … just take a look: JS & R comparison.

Still, that’s the lean solution (start-ups?). Enterprise still likes the OraMic’s solutions (Java, .Net). So JavaScripts needs to like all, Ruby, C#, Java and others …

Advertisements

One thought on “The Big JavaScript problem

  1. Just like you said, trusted party is required in every serious operations. In most cases it’s remote server, one can control and monitor.

    Hypothesis about immaturity of server side JS capabilities should be verified very strictly. I would agree that JS is not enterprise ready (yet), but it doesn’t need to. There are arguments like scalability, performance, which speaks for themselves. New ECMAScript 6 (http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts) will provide more native extensions to language which will straighten JS stack a bit (removing need for few libraries). There are business critical applications out there. I think that nature of application dictate language choice. JS can be superior in some/many cases.

    There is a bunch of articles which address problems you mentioned, especially in gaming, from general perspective:
    http://www.altdevblogaday.com/2011/07/09/synchronous-rts-engines-and-a-tale-of-desyncs/
    https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
    http://buildnewgames.com/real-time-multiplayer/
    – more and more.

    PS. In my opinion, replacing JS function is only a bit easier that recompiling DLL with game logic… And network gaming always was challenging.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s