It seems a lot of the hype around RubyOnRails has dropped off, and there even seems to be a little bit of backlash regarding many of it's shortcomings. I've only been working with it for a couple days and already came across most of the points laid out here JOEL IS STERNLY DISAPPOINTED IN RAILS XXX PRON (even though it's 2 years old, many of the issues still seem to apply).
I was wanting to use it for a project I've been trying to get started, but I'm finding that it's not going to be as easy implementing my project as I had hoped. I'm planning on using a relational database and am finding it extremely difficult to modify the generated scaffold to my needs. I also want to use jQuery which could pose some issues once I get that far.
I'm on the edge of abandoning the rails approach and going with something more familiar (probably cakePHP), but wanted to get some opinions on the future of rails before I jump. I'm sure it's going to improve with time, and Ruby seems like it would be worth learning simply for the fun of it (and to gain a different aspect on approaching projects), but i want to get this project rolling now before I get to Portland so I can hit the ground running once I get there (first week of April).
So should I drop it, or should I go out and pick up a book on Rails 2.0 this weekend like I was planning to?
i built a couple of projects in rails and i found it pretty frustrating. i moved to django and i love it. i really can't say enough good things about it.
it does have a few of the same "problems" as rails though. the server restart is one of them. but you can't really blame either of them for that. it's really not a problem though as django (and i think rails too?) comes with a development server you can use to develop that doesn't require a restart.
the documentation is really good for django too. and the community is really helpful. here are the docs if you want to take a lookhttp://docs.djangoproject.com/en/dev/
when i have to go back and make a change to a rails site i kind of want to cry. i'm sure if i had stuck with it i may have come around more. some people really seem to love it. :shrug:
If your project has a firm deadline, probably sensible to stick to what you know - assuming it will do what you need.
Nothing stopping you playing with rails in your spare time or for some small/personal projects to get you up to speed. I got well into Rails a couple of years back and loved Ruby. It did force me into learn a lot more about server administration than I'd liked. Deployment and stability was alway stressful; went through the pain of wrangling FCGI then Lighty, Rails Runner, mongrel but mod rails is looking pretty sexy (although I haven't spent a lot of time with it).
I'm on Dreamhost, so I'm running the default Passenger install they provide. The project is personal, so there is no solid deadline, however I do want to have something around April-May, so I can start finding Portland area taphouses and bars to test out the service.
I've already got something like it built in straight php/mysql and jquery, but it's a bit rickety and was custom built for one website. I want to find a way to implement it in a more secure, robust, and scalable framework so it can be used by many clients instead of just one.
IMO, all these frameworks have basically the same problem -- scaffolding is fantastic for about the first hour because it seems like magic, but as soon as you try to do anything 'real' you hit a brick wall where you have to learn a whole bunch of new stuff just to explain your database joins to the ORM system.
I'd like to learn Ruby simply because I think it looks like a well-designed language. However I'm stuck with PHP for the moment, and for that reason I've been working with Kohana (recommended by someone here on 12s) which is a PHP5-based framework. It handles enough of the donkey work to be useful without putting obstacles in the way of productivity -- I was able to get up-and-running with it and complete a fairly complex project in five days (using jQuery as a JavaScript library).
i agree stickman. i was the one that recommended kohana to you too. django is different though, IMHO. it has no scaffolding and it's very decoupled. it comes with an automatic "admin app" which could be seen as a sort of scaffolding i guess but it's really just an app just like any other and if you want to use it you have to install it. you don't have to use the orm or you can use another orm. same with the templating system. you can use the default one or you can use your other favorite or nothing.
the orm is also pretty nice. you define your own models so it doesn't rely on any form of introspection. when you write your own model classes, if it has a relationship to another class you define it right there with a foreignkey or whatever. just like in a db.
it always felt to me that rails was designed to look great in a 10 minute intro video. beyond that it just got in the way.
i have really become attached to python too.
It did force me into learn a lot more about server administration than I'd liked. Deployment and stability was alway stressful
Amen. Rails in and of itself is fairly amazing, but getting it up and running correctly is also an amazing struggle. Having gone through a development cycle on a larger site using Rails and seen the pitfalls in deployment, I can't really recommend it going forward for any projects. Also, it essentially melts servers--if you want a site with a moderate amount of traffic look elsewhere or look to spending a mint on hosting.
That said the framework is really well designed and I absolutely love the convention over configuration approach. Hopefully things improve with performance or inspiration is pulled into other frameworks.
I think the thing with any framework is it's going to take some time to get to know it. Surely you'd have the same issues with any ORM regardless of what language it's in. You can always write sql if you like(I know I did when I first used Rails).
I've gotta say, I'm not such a huge fan of Rails being quite as opinionated as it is, but there is a move away from that, at the moment, rails is being re-written(well large parts of it are) to develop a little more ORM and Javascript agnotisim, which frankly would be great. Merb was/is a great framework for that, and the two core teams have recently become joined at the hip, and Rails 3 is due to be a Rails+Merb merger, so we'll see how that goes.
Also worth a look if you want to try Ruby is the Sinatra Framework(sinatrarb.com) It's a really small and simple api for Rack. Of course I wouldn't use it for huge projects, but for a prototype or something smallish it's great.
It's still pretty popular but I'm not sure it was ever cool.
zing

I've decided to try picking up Ruby again, I've gone through a few tutorials again and am really enjoying it. I also picked up Ruby for Rails, which is pretty nice so far. I have to say, I haven't had this much fun learning a language in a while, which is really steering me towards using Rails for my project.
Since it was recommended I'm also considering Django as well, though I'm really unfamiliar with Python, so it's a bit of a mystery to me currently. I think I'm pretty much done with PHP, except for the occasional quickie project.
I'm almost considering building something small in each to test it out and see which one I feel more comfortable with. But I guess it all depends on me finding the time to do so.