Live data from Hacker News

Ask HN: In 2016, will Rails & Django be competitive against newer technologies?

news.ycombinator.com

11–20 of 81 posts

Re: Ask HN: In 2016, will Rails & Django be competitive against newer technologies?

#11
Yes and no. I think:

1) Rails (I don't know Django) will continue to be the quickest way to have a quick full-stack demo/MVP. It is opinionated, and has tools like railsapps that let you customize it. So you can have a solution that includes bootstrap, authentication, stripe-payments, etc., almost completely out of the box.

2) Rails will continue to be plagued with the problems (security, slow dynamic language) etc. but it will always have workarounds like jruby, celluloid, rails-api, in-memory-models (I wish this was more common). The community is vibrant enough to keep plugging along and fixing the gaps.

3) I don't think it's a coincidence that the two most influential frameworks (Rails and Sinatra) were written in Ruby.

4) Eventually people's MVP will move to something like Scala, following the example of Twitter and LinkedIn. Static languages that encourage functional behavior improve speed and safety.

5) Play is interesting. I am checking it out now, and seeing how I can move a rails app to it.

6) Node serves the lowest-common-denominator in my opinion (it caters to non-polyglots). I use it for certain things (a workflow for prototyping phonegap apps, and client-side tooling) but I personally think it is way overhyped. However it definitely has a place, and will continue to have one.

7) If Rails does someday "die" that's okay for dhh's legacy. His framework is spiritually part of whatever comes next and raised the bar as much as Seinfeld did for television.

Re: Ask HN: In 2016, will Rails & Django be competitive against newer technologies?

#12
It's worth noting that Rails has adapted to compete with alternative Ruby frameworks that arose to deal with Rails issues (both general and specific use cases), and has merged with one of the alternatives. Insofar as either Ruby the language or the main Ruby implementation are issues holding Rails back, both have evolved considerably and continue to, and several alternative implementations capable of hosting Rails have developed.

Rails has quite a bit of life left. Sure, with more choices of frameworks available, there'll be fewer cases where it's the only viable choice for a project, but it will be competitive for some time.

Re: Ask HN: In 2016, will Rails & Django be competitive against newer technologies?

#13

I enjoy the Indeed.com job trends for this sort of thing: http://www.indeed.com/jobtrends?q=ruby%2C+python%2C+php%2C+n... I'm a Ruby/Rails developer (and I run MemphisRuby) and while I seriously enjoy working with Rails I don't expect it to be as popular ten years from now. Rails is still tremendously good at what it does and I don't think it's likely that another framework or language is going to beat it at its own…

I think that's the key. I can't imagine much being better at Request/Response MVC-style CRUD apps than Rails (can't speak for Django).

But the question how much demand will there be for that style of app in the future?

In a similar manner, I was asked the other day if I still did any Delphi development - for the first time in about eight years. Delphi was a best-of-class tool in its day, but there just isn't the same demand for database-driven desktop Windows apps any more.

Re: Ask HN: In 2016, will Rails & Django be competitive against newer technologies?

#14
What is the perspective of longtime PHP/Wordpress/Drupal developers on this? I've done WP and Drupal briefly before doing Rails, basically all the time. But since then I've also built things in Sinatra and JS frameworks, too.

For awhile, I didn't touch Rails but went back to it and was pleasantly surprised that even though I enjoyed using Sinatra and Padrino, the weight that Rails's magic adds is counter-balanced by convenience that is most welcome to developers.

I contrast this with Drupal/Wordpress, in which the version upgrades make the platforms easier to build out for clients, but not much easier to develop for, in terms of either developing plugins or customizing the install (not sure with Drupal, I quit at around v5).

To me, it seems like Rails is adding some things I may never use, but those things seem to be optional...And from 3 to 4, they did cut back on some magic-hacks, such as the magic-finders that were too susceptible to security flaws.

I think a big part of why Rails may have better longevity than previous uber-platforms is because of its focus on testing. So it's quite feasible that Rails can always adapt (by being more modular) without causing unmitigated chaos in the developer ecosystem.

Re: Ask HN: In 2016, will Rails & Django be competitive against newer technologies?

#15

I think one notable thing to observe with any of these frameworks is that backends as REST APIs with a javascript heavy front end are becoming more common. Many of these frameworks won't disappear but I think adapt to the newer trends. Whether we like it or not java is still here and used, I don't see why rails and django won't be. The whole point of software is it evolves. These projects both have enough of a follow…

I worked on a project not long ago that used Rails to serve up purely JSON via a REST API and the front-end was all Ember and Coffeescript. (Coffeescript because an intern started prototyping part of the UI in it, and we all figured it'd be fun to learn. I'm not sold on it though.)

We designed our JSON model differently than Ember Data expected, though, so we basically had to make our own Ruby GEMs and EmberData adapter. But with those in place it's fairly easy to use Ruby as just a back end.

Re: Ask HN: In 2016, will Rails & Django be competitive against newer technologies?

#16
Frameworks evolve and adapt to changing needs. But they try to stick to their core design philosophies. Django's philosophy is quite general[1] and might stand the test of time.

Some of the reasons Rails and Django might fall into legacy could be the due to the underlying language itself. If Python continues to be affected by GIL related multiprogramming issues or lack of stronger types, then the associated web frameworks like Django would also be affected. Then there are always non-technical factors like hype and community interest.

Currently, Rails and Django have crossed a certain critical mass in adoption, they are effective for a majority of web programming usecases and have a thriving third party developer community. So my guess is that it would be pretty much a solid choice in 2016 as well.

[1]: https://docs.djangoproject.com/en/dev/misc/design-philosophi...

Re: Ask HN: In 2016, will Rails & Django be competitive against newer technologies?

#18
post #7

Play doesn't belong in that list (it's really just a Java-version of the basic request/response cycle design that plagues Django and Rails, Scala or not). Django is sadly hampered by two fairly complex problems. The first, is their insistence on backwards compatibility and stability. While it's becoming obvious that the basic design of Django creates serious problems when moving away from the request/response cycle,…

Do you have any perspective on how Flask fits into this?

Re: Ask HN: In 2016, will Rails & Django be competitive against newer technologies?

#19
Play is not "beyond" Rails, it is merely an other community (Java/Scala) that catches up with Rails.

Node.js is a joke, I see more and more people "get it". It sure serves a purpose, but the language not being for general purpose, the syntactical problems of JS and the single-trick concurrency model don't make it fit for true disruption.

Meteor might be a contender for "next level" (currently it is build on Node i think, but that might change one day), I also consider Yesod (Haskell) and some of the web stuff on Clojure to be good contenders.

I think it will not be merely a new FW that changes the scene, I expect it to be a new language along with that.

Re: Ask HN: In 2016, will Rails & Django be competitive against newer technologies?

#20
post #7

Play doesn't belong in that list (it's really just a Java-version of the basic request/response cycle design that plagues Django and Rails, Scala or not). Django is sadly hampered by two fairly complex problems. The first, is their insistence on backwards compatibility and stability. While it's becoming obvious that the basic design of Django creates serious problems when moving away from the request/response cycle,…

How exactly do you write a web app that doesn't process requests and return a response?
Post reply on HN