Hacker News new | ask | show | jobs
by Ronsenshi 4226 days ago
> I suspect that both Node and Django will be obsolete in roughly a year or two.

Quite a bold statement about Django, which I can't agree with.

Django has bee around since 2005 - for 9 years. Longer than node.js lifespan. I don't really see any large competitors in the web framework field that would push Django from its current position.

Check careers.stackoverflow.com for jobs tagged with Django - quite a lot. That shows rather strong position of the framework on the jobs market. Those jobs may not be hip or not in startups, but nevertheless - they are there.

Anyway. Certainly framework fading away is not something new, but I would be surprised if that would happen to Django in the next two years. Five - possible. Two - doubt it.

1 comments

By obsolete, he probably meant that new companies wouldn't be adopting it anymore, and that the only jobs left would involve maintaining legacy code.
I seriously doubt that.

There are new sites added to this index every day - https://www.djangosites.org/

Chess.com also relaunched using Django in their webstack.

I'd say that things are going to pick up for Django - they've got a solid plan moving forward and they can nip at rails devs by introducing websockets, SSE and WebRTC features which rails doesn't have (out of the box).

The main weakness for Django in my opinion is the community isn't as vibrant and energetic as it is with node or rails.

My own startup is using Django, so I'm certainly aware that there are new sites being launched with it every day. I was one of them last week. :-)

What I mean by obsolete is that it is no longer the hot new thing on the bleeding edge of technology. I chose Django because it wasn't the hot new thing; I'm already familiar with it, I've written a half dozen sites using it, and a general rule when founding a startup is that you shouldn't compound market risk with technical risk. Right now, my biggest problem is building a product that users want; I want the shortest path toward getting the big things right, not the sexiest little things.

But Django is definitely showing its age, and the environment has changed in ways that make you work around the framework instead of with the framework. Users are getting accustomed to logging in with Facebook or Google instead of having a separate registration system for each site; this is available with django-allauth, but then what's the point of having a built-in authentication system? Users are increasingly getting accustomed to direct-manipulation user interfaces instead of forms; Django has no support for that, and newer alternatives like Meteor beat the pants off it in that regards. Users are shifting to mobile; Django mobile support is spotty, largely provided by a set of sparsely-maintained third-party addons.

And then there are new technologies that promise to throw a huge monkey wrench into the web development ecosystem. Polymer & webcomponents are coming down the pipe, quickly; they introduce the idea of an application as a client-side set of individual downloadable components, which means that a lot of Django's routing, form, and templating infrastructure is no longer relevant. The increasing use of storage options other than RDBMS (Redis, Mongo, RethinkDB, protobufs or JSON on disk) makes the ORM less useful. JS-heavy apps shift the focus from building HTML quickly to building bundles of related JS functionality quickly, and Django has no built-in features for that. The most common solution, Bower, is pretty heavily tied to the Node.js ecosystem.