Project 2 - Analyzing a Web Toolkit, Library, or Framework Edit
In the second project for CS349W you will pick an existing toolkit, framework, or library for Web application development, learn how it works, and present the basic ideas to the class along with a critique of its strengths and weaknesses. The list below contain some possible candidates for the project; feel free to add your own ideas to the list. Once you have picked a system for your project, add your name next to it in the list to claim it.
Project Deliverables Edit
At the end of this project you'll make a short presentation to the class about the package that you have analyzed, and also produce a 2-3-page write-up attached to this Wiki just like the previous project. Your presentation and write-up should include the following information:
- What does the package do? Give a brief overview describing the general facilities in the package.
- Give a specific example illustrating how the package might be used and how it makes it easier to develop Web applications.
- What is most unique about this package? How is it different from other things you have seen or that we have discussed in class?
- Critique: what do you think are the best things about this package? What are its greatest weaknesses? Are there particular kinds of applications for which this package is particularly well-suited?
Class Presentations Edit
For this project you will have 10 minutes to present your package to the class. This is enough time for about 3-6 PowerPoint slides.
Here is the tentative schedule for the project:
Mon. Oct. 27, 5:00 P.M. - Team and topic selected Fri. Nov. 7, 5:00 P.M. - Project finished: writeup on Wiki Mon. Nov. 10 - Fri. Nov. 14 - Presentations in class
Possible Topics Edit
The list below contains some possible candidate systems to analyze in this project; please add on to the list with any systems you are aware of that help people build Web applications. If names are present next to a topic it means the topic has been "claimed" by that team.
- Django URLs, Views, and Templates (Liz Li, Okai Addy)
- Pylons: A Flexible Python Framework (Garrett Eastham, Bahman Bahmani)
- Google App Engine (David Underhill, James Chen)
- Microsoft ASP.NET -- Nopparut Abhinoraseth (Big), Zheren Zhang
- Lift, the Scala Web framework (Julien Wetterwald, James Mao)
- The Cappuccino framework (Jing Chen - one person team)
- Swift, Secure Web Applications via Automatic Partitioning (Daniel Sanchez, Tayo Oguntebi)
- Django models (Harry Robertson, Naren)
- Yahoo BOSS API (Nipun, Tejaswi)
- YouTube - API (Matt Martin, Pratyus Patnaik)
- CakePHP (most popular PHP framework) (Michael Fischer)
- CodeIgniter (another PHP framework)
- Symfony (another PHP framework)
- Seaside - Smalltalk Web Framework
- TurboGears (another Python framework)
- Yahoo User Interface Library
- The Wicket framework for Java
- Microsoft AJAX support
Presentation Order Edit
The project presentations in class will be in the following order, from top to bottom.
Monday, November 10:
Wednesday, November 12th:
Friday, November 14: