Are you thinking about Web Development or learning a web framework? Then Django is the way to go!
For those of you who are not aware, a Framework is a layer of abstraction over a language. In case of Web Development (which I am currently doing), you may build the server backend without any framework, while coding in your favourite language. But chances are that you may forget to take care of some petty issues, such as implementing proper security measures against attacks like CSRF, Injections etc.
While learning a framework can be quite painful in the beginning, I can assure you: In the long run you won't regret it.
Here I present to you the top 10 reasons why I think you must learn Django, the Web Framework for Perfectionists with Deadlines:
10 Reasons to Start Learning Django
1. It's Python!
Most of the programmers will agree: Python is fairly easy to understand, even from a beginner's point of view. Though I had basic knowledge of Java,JS,Php,C++, I started building more meaningful programs after learning python. Python gets the things done. Just write a script and run it: No compilation required!
2. Well organised code
Django is a MVC(Model-View-Controller) framework, meaning that your code is well organised into Models (that interact with the database), Views (the web pages of your website) and Controllers (that decide which page to render and when to render it). So, each part of your project is designed to do a specific task, which comes in handy when you want to make changes in your Project or while debugginih. Django follows a simple philosophy: DRY (Don't Repeat Yourself) :)
3. Lots of batteries included
Django package itself is pretty awesome and a lot of features work out of the box. One of the coolest things is that you get a completely working Admin Panel with just a couple of lines of code. Don't know how to make queries in a certain database backend? Django will handle it for you. Want to migrate to another backend? Just change the database configuration in settings and you are done! The migrations system has improved quiete a bit in the last two versions, and it is quite amazing now.
4. A lot of plugins available
Need more power? More Features? Just head on to http://www.djangopackages.com and get the application you want.
5. Works well with other languages
I've developed Dynamic web applications with Django at the backend. Dynamic pages meant that I had to use javascript, json and ajax. Integrating these into the project were fairly easy, and once you get the hold of it, the end result comes out to be pretty amazing!
6. More secure
The developers have created this framework keeping common security blunders in mind. Django takes security very seriously. Tests are designed so that you can ensure that it's more secure, before you deploy the Web App. While the security is ultimately in the hands of the programmer, it still provides effective ways to test the security of your project.
7. Awesome and growing community
Out of the most popular Python web frameworks Django,Flask and PYramid, Django comes out at the top in terms of the number of users. The number of questions on StackOverflow is also the highest for Django compared to the other two. The official documentation itself is pretty complete and organized.
8. Free and Open Source
Being an Open Source advocate, I had to include this point. Django works under BSD License and is maintained by the open source community itself. This means that you do not have to pay anything to use, learn or redistribute Django; and you can even contribute to it by reporting or creating patches for bugs. Learn it,use it, improve it!
9. Scalable
Scalability becomes an issue at one point or the other. As the user base increases, you need more robust ways to handle traffic. Fortunately, Django is pretty scalable. What do Instagram, Pinterest and Bitbucket have in common? They are all built on Django! That should give you a fair idea of how powerful and scalable it can be.
10. Can be deployed alongside other platforms
Deployment is a major issue that all the Web developers face. So you have a Php project and you want to host it alongside a Django project. Is it possible? Why not! I recently hosted php and django on the same machine using nginx, and it works pretty well!
Convinced already? Head on to the official Django tutorial here to learn more.
Do share this post and comment below for suggestions and improvements.
No comments:
Post a Comment