Ruby vs PHP: Ruby is a solid, pure OO language that’s fun to program in and has very few, if any, surprises. PHP is a hacked-together-over-many-years scripting language for web sites. You really need to spend some time with Ruby, read the books ( http://www.rubycentral.com/pickaxe/) to understand why PHP really is a terrible language.
Rails vs PHP: Well, now you’re comparing a web framework with a language, which really doesn’t make sense. If you’re sick of manually setting up database connections, building up SQL queries, hard-coding and hacking up how pages flow together and trying to find the “nice, neat, and proper” way of doing large sites in PHP, well then go look at Rails, because a majority of your problems are taken care of for you.
Do you have any specific questions? It’s hard to really compare the two without either a large dissertation or having a list of questions to answer about both.
Depends, and you should ask your host. If they don't, perhaps you can
suggest they get with the program.
I ended up changing hosts because 1&1 was not very receptive to
discussion on Rails. It was a small inconvenience when compared with
the days of my life that have been saved from using rails. There are
several good hosting companies available for rails. Check out http://www.railshosting.org/.
I chose HostGator because of their reputation for helpful customer
service. I have no complaints.
PHP and Ruby are serverside languages. Rails, Symphony, CakePHP, … are frameworks.
Flex is nothing more than a presentation layer, just as HTML is. You can use Flex with RoR (producing XML in your views that Flex can then take and visualize), just as you could use gulp CakePHP or Symphony or your own PHP framework to pass XML to Flex. You could also use HTML and JS to visualize your data, or you could use OpenLaszlo. Beautiful interfaces are possible with any of these, and it’s a matter of taste. I personally don’t think the default Flex interface elements are that great, just like raw unstyled HTML isn’t that great.
If you are insistent on a point-click-drag solution, Ruby on Rails may not be your ideal solution. My view of Rails is that it encourages putting the most thought and care into the areas of your Web application that are likely to be hardest to get right and most dangerous if you get wrong. Perhaps reversing the sense of that is better: Rails puts the most emphasis on doing right by the parts that will screw you the worst if you get them wrong. For example:
Baked in generators create models, controllers (and at the same time views)
Each code generator creates skeleton tests (!!!)
Pushing your business logic into the model and writing meaningful tests will reduce the risk of your app screwing up
This is probably all obvious stuff, but it’s not an integral part of the development methodology of most environments. That said, a generator is typically not a menu item in an IDE. It’s a command in a “black window” such as:
$ script/generate controller posts
I’ve found that because Rails is “opinionated” software it encourages good practices – ones that only the more disciplined developers keep up with using Java or ASP.NET. A relatively small number of PHP developers do formal testing, from my experience.
If you haven’t tried Rails, put Dreamweaver away for a bit, open up a terminal, and follow along with one of the tutorials. Only by using the “black window” will you discover that it’s not to be feared – rather, it will improve your productivity.