I have to create a web application, preferably I would host that on Google App E
ID: 646711 • Letter: I
Question
I have to create a web application, preferably I would host that on Google App Engine. it is a multiplayer game, So it needs to be interactive. I am only familiar with C/C++ coding, and have started learning python. I have made multiplayer games before too(multi-player and single player) but with no GUI.
Someone told me that the webapp interface would have to be written in JavaScript. And the back end could be in python or any other language. Please note, I have no issues in coding up the back-end, the game engine, of thew web app. Just that I do not know what are and how to, etc about web apps. And basically how to integrate the back end code into the web application (which I have to build from scratch) (I would also be writing the back end, so there is complete flexibility as of now)
So please show me the light! I have absolutely no clue about where to start! Please tell me where to begin, and what all to read up which can quickly give me some insight into development work! How to go about the GUI.
And what all possible language combinations can I use? The easier to use, the better.
Explanation / Answer
When you're talking web apps there are always two parts of it (at least). The front end (analogous to a GUI), and the backend.
Front end:
You are limited here to whatever is supported by web browsers. By far, the most prevalent choice is to use a combination of HTML, CSS and JavaScript, so you will have to learn those. HTML and CSS are used as display mechanisms that are mostly static. JavaScript, however, is used to give them more dynamism and introduce programming logic there. HTML5 is starting to gain ground, so investing in learning it would be a plus. Other front end technologies include Flash (losing popularity to HTML5), Java Applets (lost it a long time ago), and Silverlight (never that popular in the first place).
Back end:
Here the choice is almost limitless. There are hundreds of technologies that can run on back end (the server). But since you are planning on hosting it on GAE your choice becomes limited to Python and Java, both of which are mature and strong technologies. Since you've already started with Python, I would just continue that way. You'll need to pick a web framework to work with. Django seems very popular when it comes to GAE, so go with that, at least until you become more proficient and have better defined expectations.
The main thing to know when you are designing your app is properly differentiate which functionality goes where. Most of the web frameworks that you'll work with will enforce some kind of design pattern that will help with this. For instance, Django uses a pattern known as MVC (Model-View-Controller).