web代写-Implementing an HTML5 Web App

Implementing an HTML5 Web App
Code review form
In this lab you will implement a web application using HTML5 and cloud services. You will implement an interactive application in using HTML5 running in browser and communicating to services in the cloud. For web services you may use any cloud service. For the client side you will be using HTML5.  
You will work in teams of three people. You may have a team of two people or work individually, but it is not recommended.
Types of Projects
The types of projects you can write are:
• Educational
• Productivity
• Social Networks
• Communication
• Games
• Any application you think it is useful.
You may take ideas from existing web and phone applications.
You have to make sure your HTML5  application works fine in a web browser in laptop/desktop computers and phones.
Your application should include:
• Use of the Internet for Communication
• Use of a Database
• Multiple Users
• Need to be online available to anyone in the Internet
Hosting your Application
You may use any hosting service such  as AWS, Google, or Azure. All of them offer free hosting for applications during development. Remember that some of them may charge you after a trial period. You just need the hosting of the application for the time you develop the project. It may be a good idea to do a quick search for free credits for students. The GitHub Student Pack gives credits for DigitalOcean and AWS.
GIT Repository
You will need to make a GIT repository for your project and give the GIT user cs252-git read/write access to your repository. Anything you write for this project will be considered Open Source with a BSD like licence.
You will be graded only by the code you write during the weeks this project lasts. If you use a package or pre-existing code in your project, write that very clearly in the commit message and separate that from your contributions.
During your demo we will be asking questions about how your code works and we will expect an answer. Commit your code often so we can verify your progress. Any code without a GIT repository or without a commit history will not be graded.
Sources of Inspiration
Modern Web Browsers such as Chrome, Firefox, Edge, and Safari are now the new “Platform Independent Operating System”. They are fully programmable platforms that provide a very efficient Javascript interpreter often including JIT compilation.  They also offer real time graphics, sound, and video that make the browser a great platform for  developing applications that can run in PCs as well as portable devices.
It is true that a picture is worth a thousand words (actually much more than that). If you add also the real time interactivity that a browser running a local HTML5/Javascript program provides and you have a program that the user will be happy to use. Here we list some technologies that may inspire your application.
WebGL and threejs.org
One of these technologies is WebGL that provides access to high performance graphics from your browser. WebGL may be difficult to program  since you need to know shader programming. However, there are technologies such as http://threejs.org/  that are wrappers around WebGL to program high performance 3D applications in your browser. See the examples section http://threejs.org/examples/ , and also see the geometry/minecraft example.
Another wrapper around WebGL and HTML5 Canvas is http://d3js.org/. This library also provides high performance 2D and 3D displaying of data. An application build with this technology  will be very appealing to the user. Browse some of the examples in this http://d3js.org website.
It is likely that you have heard of this game. Some schools have blocked this website since students spent many hours playing. It is difficult to ignore the simplicity and elegancy of this multi user game. This game is written in HTML5 using Canvas communicating to a Web Server fetching the position, color and size of the other players. You can come up with your own variation of Agar.io using HTML5 and some services in Bluemix. also see http://webglsamples.org/aquarium/aquarium.html and http://cabbi.bo/DRAGONFISH/
Angular JS is a new Web Framework that allows writing “One page applications” where the interactivity of the application is mostly done locally instead of doing expensive http requests to the server.  There are some videos
Grading Criteria
We will evaluate your project with a final presentation. The grading criteria used to evaluate your application will be:
• Creativity – How innovative is your application.
• Potential of Success – In terms of usability for solving a specific problem for a few people , or potential for having a large number of people using the application.
• Presentation- How nice the application looks.
• Technology – Features you use in your application.
• Robustness – Application works well and it does not crash.
• You should use HTML5. You may use frameworks such as WebGL, Threejs.org, d3js.org , Angular JS, Bootstrap, Dojo, Kendo etc (See https://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks).
• You may write your server side application in PHP, Java, Python, Node,Js, etc  host your server application in one of the Bluemix servers.
• You are required to use Github for source control.
Extra Credit
If your project is good to show to the class before Wednesday November 29th, see me before lecture and you will have 5 minutes to show your project. You will get up to 5pts extra on top of the grade of your project.
Your project is due before your presentation. The final presentations will take place the week of Monday  December 4th, 2017. Instructions will be given later to sign up for a presentation time. Before your presentation you will have to make sure that your latest updates are in GITHUB, that you have given the github user cs252-git read/write access and that your application is accessible from anywhere in the Internet.


电子邮件地址不会被公开。 必填项已用*标注