Live data from Hacker News

Choosing a Web Framework/Language Combo for the Next Decade

jacquesmattheij.com

51–60 of 228 posts

Re: Choosing a Web Framework/Language Combo for the Next Decade

#51
post #17

I (naturally) think that the article's summarily dismissing Haskell is unfortunate. It's probably just the result of poor PR on Haskell's part. Haskell is not only for surpassingly intelligent people, or even optimized for them. If anything, it's the opposite: one of its core tenants is that we're not smart enough to reason about our programs in most languages. Much of the design work focuses on unloading complexity…

I have little to add, but I'd make a similar case for Scala. If you're tied to the JVM or existing code, or don't want to make the leap to laziness/purity/immutability for everything from day 1, Scala can be a smoother way to learn these new concepts (which will ultimately make you more productive whichever language you use).

(And if you're going to use Play, Scala is very much the best way to do so)

Re: Choosing a Web Framework/Language Combo for the Next Decade

#52
My colleagues and I went through more or less this exercise in 2005 and ended up with Python/Django. I know everybody tends to become a crusader for their development stack, but I think this was a fantastic decision, either by luck or judgement.

To be honest I still don't see any compelling reason to switch to anything else in 2014, but if I was looking I'd be strongly favouring Go as the language, as it seems like the preeminent forward-looking, popular-ish, well-supported language. Rust and Erlang would also get a look in.

Re: Choosing a Web Framework/Language Combo for the Next Decade

#53
post #28

Earlier quoted context omitted.

>Dropwizard can do web views but it really positions itself as a REST service framework. That would eliminate it for me. Not everyone is coding APIs and fat client web apps. I'd prefer a framework geared up to do standard web apps as well.

That may be what you want right now but the article is about something that will last 10 years. And what constitutes a "standard web app" is definitely shifting and will likely solidify over that time. "Fat client" isn't really the best term for it, because the client code is usually pretty lightweight. I'd say "modern web app". I'd be including a consideration of AngularJS, Backbone, Ember etc. + a service-oriented…

The "cutting-edge" web frameworks that already exist today are the fat client frameworks you describe (client-side rendering). The web frameworks of the future will have robust server-side and client-side rendering, in my opinion. We're already seeing a little bit of this with Airbnb and Rendr for Backbone, React, and Twitter's web app, but it's not quite there.

Re: Choosing a Web Framework/Language Combo for the Next Decade

#54
Might as well go with the one which sparked the wave which inspired most of these.

Rails is pretty much the premier MVC framework. If you are going to go MVC, go with Rails. If we are looking for an alternative to Rails, then we are probably looking for an alternative to MVC, and none of these mentioned choices fit the bill.

I wonder when the day will come that we finally get sick of recreating all the libraries that typically go into an MVC framework. That day, Rails will still be going strong and we will probably give up and just go with Rails.

Of all the choices mentioned, not many have been around as long as Rails. For every day that Rails survives, the stronger it becomes. The more likely it will continue while the alternatives shrivel.

One day MVC may become obsolete, but some people might still want to use an MVC framework for whatever reason. That day, Rails will be there waiting for you.

Years ago, I watched the video on how to build a blog in 10(?) minutes. Today, I can still somewhat follow that video. With many of the MVC frameworks in this list, you couldn't do that. ZF1 is not ZF2 for example. The framework was completely changed. They might as well call ZF2 by a different name. If it were called anything more interesting than "Zend Framework" then maybe it would have a different name.

Go is interesting, but the MVC web framework ecosystem has to be created, just like we did for Node. I don't even know if that will happen anytime, or ever. Maybe people are getting sick of doing that. And then you need to wait X years to see if something actually has any lasting power.

Screw it, just go with Rails.

Or Django. ;)

Re: Choosing a Web Framework/Language Combo for the Next Decade

#55

Interesting views on Python - I decided to start using it for personal projects after trying Go for a bit. Initially I hated the significant whitespace, and indeed many other things, but I stuck with it and I find it all rather elegant - I certainly haven't noticed any huge problems with dependencies but I've probably stuck with pretty mainstream ones (e.g. Requests). I now rather like significant whitespace and ofte…

I had enough syntax errors appearing after a copy and paste that ended up with difficult to spot unaligned code that I decided to use Python only for little scripts and when I'm forced to use it and nothing else would do. The problem with Python is that editors don't have hints to autoalign the code for us. Same problem with templating languages like HAML and Slim which, oh the irony, were born for Rails. Nevertheless many people like Python and it's growing strong (maybe stronger as system/desktop language than for the web) so those problems of mine are not as big as I feel they are. But how do you survive to them or make them not happen? I'm sincerely interested.

Re: Choosing a Web Framework/Language Combo for the Next Decade

#56
post #7

This is an exciting read, kind of like Game of Thrones for web frameworks. Re: why there were so many "PLAY!" results in Google, that would likely depend on the query you use. Something like "play framework" would probably match for any page where someone said "I will play with this framework". ...which is another reason why "Go" was such a bad idea for a language name, BTW.

When googling for Go the language, always google "Golang". This vastly improves the accuracy of the results.

Re: Choosing a Web Framework/Language Combo for the Next Decade

#58
post #40

Earlier quoted context omitted.

>Dropwizard can do web views but it really positions itself as a REST service framework. That would eliminate it for me. Not everyone is coding APIs and fat client web apps. I'd prefer a framework geared up to do standard web apps as well.

It does standard good old fashioned web apps as well: https://dropwizard.github.io/dropwizard/manual/views.html Don't forget that old style web apps are basically REST frameworks that render content with a content type of text/html...

> Don't forget that old style web apps are basically REST frameworks that render content with a content type of text/html...

They really aren't. A REST API wants to be simple and orthogonal; if you want two different pieces of data you make two different calls, so they're well suited to the "one controller per URL" paradigm. A traditional web app needs to combine and reuse components on every page (e.g. you might have a "messages" widget or a "user info" widget, which you would want to be encapsulated with their own logic), so you need better support for composing together different pieces of logic, and a single controller no longer makes sense.

Re: Choosing a Web Framework/Language Combo for the Next Decade

#59
Rather than sloppily relying on hearsay, popularity and Googling, the suitability of web frameworks could be tested in competitions like https://www.plat-forms.org ... I wish more people would participate there, the results are somewhat surprising (and of course take into account the skill of the developers).

Re: Choosing a Web Framework/Language Combo for the Next Decade

#60
post #43

Earlier quoted context omitted.

Well, I guess the question then becomes: what does MVC mean to that Wikipedia editor? And what is it you want to be able to do that you're trying to figure out by reading that column? Once again, Wicket's approach is head and shoulders above every other web framework I've ever used. It's good enough to make me not mind using Java (I dearly wish I could find a framework with the same level of encapsulation in other la…

Ok, point taken, I'll add Wicket back in. This thread is a goldmine of good information so far, I spent a full 2 days researching all this and it would have been absolutely impossible to evaluate all framework/language combos by writing a test app so I had to take some shortcuts. Apparently that caused a good framework to be thrown under the bus for all the wrong reasons so I'll revive it and we'll see how it does in…

Haven't used Wicket, but this is what a good web framework comparison had to say about it[1]:

With its clear MVC model, clean HTML and a wicked component module, you can create new applications with reusable components quick and easy. Wicket does use a model inheritance for it’s components, which isn’t great due to a bit steeper learning curve.

The existence of markup files for every component gives you a clear separation of concerns between the controller deciding what to display and the view that specifies how to display. This not only reduces development time but also gives your web designers the confidence to modify the HTML code without worrying about crashing and destroying everything.

[1]: http://zeroturnaround.com/rebellabs/the-curious-coders-java-...

Post reply on HN