So, Here I am. The first thing I would like to talk about is what I think is the "big idea" behind Django, related probelms and so to hear about your opinion on this.
(If you're in hurry just skip to the conclusions reading the last paragraph ;)) I think that the most important feature of Django framework is the idea of creating websites aggregating multiple reusable applications. The idea of reusing components is obviously one of the main principles of software engineering and it is also widely used in many environments, but before using Django I have never seen this simple but brilliant idea in any other *web* framework. Other frameworks may have plugins, helpers, and various libraries, but no one shares the concept of build web sites building separate and reusable applications. In my opinion, there are two problems about this: - this innovative difference and its consequences for the developers are not well advertised. I mean that when someone comes to the Django website to get an overview of the framework he usually don't get this crucial idea. - even when a django beginner user realizes that he could and should develop different *reusable* applications in order to use them in the current and future projects and so saving a lot of time, it is difficult to understand how this can be achieved in practice. So, the key benefit of using django is not well advertised in the web site and, the worst, when someone discovers it, it is difficult to find information about HOW to build reusable applications. I mean that patterns such as how to organize configuration, how to organize application files, how to allow easy subclassing of the application it self, etc.. are not easy to be found and this maybe because there are not yet standard and established ways to do so. Instead a user is required to participate, search or listen to technical Django talks to know about patterns on how to create reusable applications, about how to organize files, about when to add a feature to an existing app and when to avoid it, etc... The result of this is that actually a lot (I think the great part) of the contributed django applications available online on various web sites (eg: github, googlecode, etc..) are in fact not easily *reusable*, *configurable* or *extendable* and, if they were, the advantage of using Django would also be more evident because building websites with it would require more and easy integration of existing applications then actual developing new apps. Maybe advertising more about the benefits of django and, more important, making available into the documentation it self patterns about how to build reusable applications would reduce these problems. I would like to highlight that I'm not criticizing anyone, I just have this opinion and I think that it would be useful to share it with you to improve the future versions of Django or maybe to realize that I'm wrong. So, I would like to know if you agree or disagree with me on the points I've talked about, which are: - the idea of reusable app is one of the biggest advantages of using django - no other famous and widely used *web* frameworks (es: cakephp, ror, etc...) shares the same idea - this idea is not well advertised (how many of us started developing a website in a single and heavy application and only then realized the "big idea" of reusable apps?) - patterns to build actual reusable applications are not established yet or they are not easily available to users to follow, resulting (with some exceptions) in a lot of not reusable apps or apps implementing their modularity in very different ways (not following a patter or a standard method) I'm really interested in your opinions :) Andrea On Jun 12, 12:56 pm, Russell Keith-Magee <russ...@keith-magee.com> wrote: > On Sat, Jun 12, 2010 at 6:10 PM, Andrea Zilio <m.ep...@gmail.com> wrote: > > Hello, > > > I'm a graduate Computer Science student and in my Open Source > > Technologies class I've chosen Django as the project to write about in > > my final exam paper. > > So I'll write a short document (7-15 pages) about the vision, target, > > innovative features, possible business models, development process and > > community status of this project. > > > I'm not new to Django: I've already used it for more than a year in a > > bunch of projects and I liked it (I came from PHP and used some PHP > > frameworks in the past), so I already have some ideas about what to > > write in this paper. > > > I'm writing here and opening this thread just because I would like to > > know your opinions as django developers or contributors about some > > ideas I have and that I'll cover in this document. > > This explains why I've sent this message to django-developers and not > > to django-users. > > > If this is not the appropriate place to write I'm sorry and in this > > case I'll be glad to know if someone want to share his opinions > > anyway, maybe contacting me directly via email. > > Otherwise I'll soon post my first question for you in this thread (so > > without creating separate discussions) waiting for your feedback. > > This is as good a place as any if you're looking to solicit opinions > from the development community around Django. I'm happy to answer a > few quick questions (and even a couple of detailed questions) to help > out. > > Yours, > Russ Magee %-) -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-develop...@googlegroups.com. To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.