Report: Django and Dojo (Mike)
Contents
Django
Django is a free open source web framework that is written in python. The framework uses the model view controller techniques. The Model view controller seems complex but is basic. It is used for developing user interfaces easily. For example, web pages use the model view controller pattern. HTML is the model and is the structure of the content. The view is whatever is taking the HTML and sprucing it up. An example of this would be using CSS to make your web page look nicer. Finally, the controller is simply the browser because it takes all the HTML and CSS and transforms the code to what you intended it to be. Django uses an object-relational mapper for databases that is written in python code. The Django framework is very big on minimizing repeated code. They have a DRY principle which stands for Don't Repeat Yourself. This principle states: Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.
Requirements:
- Python 2.7 or 3.2 and above
- Database engine if used with a database
- Text editor
- Django
Pros:
- Using the model view controller pattern because these pieces are more independent which makes it easy to change something without affecting other parts of the code.
- Built to make sites quickly
- Simple so that not much programming experience is needed
- Python is an easy language to learn
Cons:
- People have complained about documentation
- Everything depends on the Django ORM
- Difficult to set up enviornment
Similar to Django:
- TurboGears
- Pyramid
- Pylons
- Rails
In conclusion, I would definitely be eager to use Django. From what I've read, it seems like a very easy framework to use as long as setting up the environment goes smoothly. The framework is also said to stay out of your way when programming which avoids annoyances and appeals to me. Also, the list of websites that use Django is very impressive. This simplicity of Django also appeals to me because I am still fairly new to web programming and should probably start off with a basic framework that is proven.
(Back to top)Dojo
Dojo is also open source and is a JavaScript framework made for developing Javascript applications on multiple platforms. The framework creates abstractions for the different types of platforms that can be used so that doesn't have to be worried about while coding. For example rather than having to worry about what is going to work on which browser, the framework has already taken care of this for the programmer and made it an abstraction. Dojo is a great example of modularity because it has the ability to pull in the resources required by the page dynamically. This modularity makes your code much more manageable. Dojo also introduces classes, constructors, and inheritance in Javascript which will allow for object-oriented programming.
Requirements:
- Dojo toolkit
Pros:
- Modularity
- Object oriented
- Dijit UI framework
- Versatility with mobile devices and cross browsers
- HTML5
- GFX Graphic tool
- Great performance
Cons:
- Can be complex
- Can be too large of a toolkit
- Requires high network bandwith
- Not well documented