First, the obvious alternative: Rails.

I would argue that many of the advantages RoR had are starting to go away.
The two obvious advantages were Heroku and schema migration. Heroku now
supports Python and Django... done. While Django has had South, the problem
is that not everyone used it. This should obviously be getting fixed with
Django 1.7. This is a bit of an issue as 1.7 isn't out and not every
reusable app has released support for it yet. That stated, unless people
are working quick, I assume that any reasonable sized site will not finish
before 1.7 releases, though this is obviously still an issue.

I'll agree with all the Python is good. I had a person that liked RoR
explain Ruby as a great language to build a Domain Specific Language on top
of. This means that I can learn Django and eventually reuse the stuff I
learned to build pretty much any other kind of app. Ruby, on the other
hand, may have a steeper learning curve as RoR tended to do more
monkey-patching of how things worked. Also, I like that I can pick up most
anyone's Python code and generally understand what it's doing. Perhaps I
don't do enough Ruby, but I think the Perl roots of it make that harder.

Both seem to be solve the problems of building a small-to-medium site and
helping with the common problems. They both have a decent collection of
reusable apps that one can use to help build up their site quickly. I'm
sure both have the ability to slowly whittle the framework away to handle
large sites. Large sites tend to have very specific problems that need very
specific solutions that the average person doesn't need. See Jacob's PyCon
2009 speech @ about 24 min in (
http://pyvideo.org/video/225/pycon-2009--designing-a-web-framework--django--39).
You also have the interesting ability to use a fair amount of the knowledge
you gained from Django and take it to Flask if you end up needing a system
that is quite different from the problems that Django tries to solve.

But in the end, Django and Rails are quite similar in the problem scope
they attempted to solve. They took many similar approaches and I'm sure
borrowed from each other heavily. They are both quite stable at this point,
and I don't expect either to just disappear.

Now completely different frameworks.

Java has some decent large scale frameworks and I remember hearing about
some ones for smaller sites (and reduce the XML needed). They also have the
.war file standard which I hear makes deployment standardized. The biggest
question in my mind is whether Oracle will either step-up or let someone
else take Java and innovate with it.

PHP has several frameworks that seem similar in scope to Django (CakePHP
and Symfony for example). I don't know these well. There's also Drupal.
Drupal is interesting in that it's not only components but also
integration. You can probably start out and get a site built with many
simple problems without writing so much as a line of code. This leads to
the problem of that "I need to go outside the framework" being quite the
learning curve, but you can build a site quite quickly. My bigger concern
has been the security issues that have plagued Drupal.

The other obvious language is Javascript and Node.js. This is one has a
distinct advantage when thinking of real-time async things, especially
websockets. I'm uncertain of the more "standard"/classical style things.
This is a definite "horses for courses" thing. I'll admit to not following
Node.js much, but I just don't think any framework has been around long
enough to not be concerned whether they'll still be around in 2 years.


On Sun, Aug 10, 2014 at 3:05 PM, Tim Chase <[email protected]>
wrote:

> On 2014-08-10 01:06, Josh Johnson wrote:
> > Django documentation is phenomenal,
>
> I second Josh's comment.  I'd naively assumed that all "big Python
> web-framework" documentation was as good as Django's.  However, when I
> had to do some work on a contract involving CherryPy and
> SQLObject...marcy was it a painful wake-up.  Bottle's documentation
> was better than CP/SQLObject, but still not up to the high bar set by
> Django's.
>
> -tkc
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/django-developers.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-developers/20140810150538.7097b91b%40bigbox.christie.dr
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Joe Tennies
[email protected]

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/CACiOJ6unL8oH_7cVRohcFCOiVrcLNUvO1MxjC8RPo_Q1Nc4-zA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to