I mean, even right now, do you choose django or rails?
Flex was pretty compelling when it came out, it was before the iPhone had obviously killed off flash. I seriously thought about doing it myself until it became really obvious that Apple would never support flash.
Balsamiq showed what you could do, online or offline years before HTML5.
It's not that much luck. I've decided to go with Django in 2006. Still going strong, five years later. You'll do fine going with Django or Rails, but the time when this decision would be more rewarding was 5 years ago.
I've done mostly flash for a living since 2001, in 2007 I decided to move on. It was obvious it wasn't going anywhere.
Balsamic is probably the only application written in Flash that I use regularly. A platform that has so few applications after so many years in development is clearly struggling.
I mean, even right now, do you choose django or rails?
Not the right analogy. A more relevant comparison would be with:
Do you choose Linux, with Nginx and Django/Rails
or Windows / IIS / ASP.NET ?
Well, let me see. Windows / IIS / ASP.NET can simply vanish tomorrow, while Rails (including 1.0) will still be there, still running fine on the latest Linux distribution, with the latest Nginx and the whole stack will still be free as in freedom.
And if they'd have stopped developing nginx 6 months after release? Or in a parallel universe where Basecamp flopped and DHH moved onto something else? Would there still be a rails?
Yes they're open source but some projects transition, some don't, it's luck. The world is littered with abandoned open source projects.
And even now I get the feeling that Django is steadily being edged out by Rails.
My analogy wasn't great I admit, better would be looking at all the PHP MVC frameworks that never took off.
Mootools & Prototype are another two excellent examples. 3 or 4 years ago you wouldn't have looked a bit crazy for picking either over jQuery.
What about coffeescript? Is it here to stay? No-one knows yet. In a years time all the browsers could suddenly be supporting in browser Python or in browser Ruby and it'd be dead in the water.
And even now I get the feeling that Django is
steadily being edged out by Rails.
As someone who is pretty familiar with Django's internals I can say that I don't really care -- because I can always modify Django to suit my own needs and indeed have done so to work around certain problems it has.
3 or 4 years ago you wouldn't have looked a bit crazy
for picking either over jQuery.
Making choices is also a matter of taste. I picked jQuery because it was lighter / easier to use ... but right now, honestly I'm searching for something else, because jQuery is starting to look like those alternatives I avoided (too big). Also, you pick something based on real constraints, not popularity - does the framework do what you want? Is it too light? Is it too heavy? Does it have third-party contributions for doing X or Y? And so on.
What about coffeescript? Is it here to stay?
Does it really matter? All that matters to me is that with CoffeeScript I can avoid cross-browser syntax differences (dealing with IExplorer syntax issues is a pain in the ass). It also makes my code prettier. It makes me happy. When CoffeeScript will be gone, in the worst case scenario I'll write a script to convert from it to the latest fad du-jour.
This highlights an important point however - because Javascript is a standard that is here to stay, with CoffeeScript I'll have a clear migration path. With anything on top of Flash however, you don't.
Twitter heavily uses rails, as I'm sure many other big sites do.
The best bet is to pick something that is used by enough large organizations that there is a good bet that if a major contributor disappeared there will be others able to take their place.
Also with open source systems there are generally more discrete parts that can in theory be interchanged with others.
If microsoft did something drastic like announce the end of the Windows Server line (or even just IIS) for example then your entire MVC.Net/SQL Server stack for your app is now defunct.
If Linux was to become no more if would be significantly easier to move your app and it's supporting ecosystem to BSD.