Now that you know what the differences are and can design the code for various operating platforms, you will use your experience to evaluate the characteristics, advantages, and weaknesses of each to present to your client. Consider the requirements outlined below and articulate your findings in the table under Evaluation in the software design template. As you complete the table, keep in mind your client’s requirements and look at the situation holistically, as it all has to work together. Specifically, you must address the following requirements in your evaluation of each traditional operating platform (Linux, Mac, and Windows), as well as mobile platforms.
Server Side: The client has asked you to create a web-based application. This implies a server-style configuration for hosting the website and allowing it to scale up to thousands of players. What does this mean for your ability to host the software application on each operating platform listed above?
- Evaluate various platforms for their characteristics, advantages, and weaknesses for hosting a web-based software application. Consider the following in your evaluation and articulate your findings in the software design template:
- Does each of the operating platforms offer a server-based deployment method where the website will be hosted?
- What are the potential licensing costs to the client, The Gaming Room, for the server operating system?
Client Side: The client wishes to move beyond their current Android-only application to supporting players on iOS and Android mobile platforms, as well as traditional desktop-based operating systems. The application must be delivered as a modern, responsive HTML interface running inside the web browser for desktop clients (Linux, Mac, Windows), as well as on mobile platforms. Each will be capable of communicating with the back-end web application running on the server.
- Determine the software development considerations (cost, time, expertise) that are necessary for supporting multiple types of clients. Consider the following in your evaluation and articulate your findings in the software design template:
- What is required of the application development process to ensure the application is compatible with all web browser platforms and mobile devices?
Development Tools
- Identify the relevant programming languages and tools (IDEs and other tools) that are used to build this type of software for deploying on each operating platform. Consider the following and articulate your findings in the software design template:
- What impact do these technical requirements have on a development team? Consider whether multiple development teams may be needed.
- Are there licensing costs related to the development tools?