Our current 开发者_如何学Pythonweb has been a rails application for 4+ years now. It is current in version 2.3.8. Our MySQL database and data manipulation for presentation is extensive. We are about to undertake development of a companion site and are evaluating whether we should do that in rails, java, .net or php. Here are some of the factors we are considering.
RAILS
Development Environment: Our machines are pcs with Windows os. We have run into Windows-centric difficulties (too numerous to detail here), most of which we solved. We want to spend more time on code, less on windows/rails compatibility issues. We could switch to Linux or PearPC. Would that cut down on some of those issues, or just result in a new set? Long term... we could replace our pcs with macs.
Development Process: It seems like keeping up with rails architecture is like chasing a swiftly moving target. I'm sure that there are many of you out there that are perhaps a little more nimble :=] but we could use a tad more stability. Anyway, the more you fall behind the most current versions the more difficult it is to find help. One advantage is that we could copy and paste some of our existing code to the new site.
End Users: Attractive and easy to use application for pc or mac.
PHP
Development Environment: Works well on PC with Windows
Development Process: I don't know enough to evaluate here. One advantage is that the consultant who advises us regarding our training and education processes recommended Moodle which is written in php. A disadvantage is the need to learn php.
End Users: I don't know enough to evaluate here although i have seen numerous php sites that are attractive and seem easy to use.
JAVA
Development Environment: Great in pc/windows
Development Process: A disadvantage is the need to learn java.
End Users: Don't know enough yet.
.NET
Development Environment: great in pc/windows :=] Resource downloads were a little problematic.
Development Process: A disadvantage is the need to learn .net. We would probably go with MVC or C#.
End Users: obstacles for mac users?
Thank you Stackoverflow community!
EDIT: on one of our machines i did an ubuntu install. On configuring rails i ran into the same show stopper that plagued us with windows. one of our pc/windows machines is running fine for development. i have picked and picked apart that install versus the other machines and cannot find the source of the problem. i believe that rails is great... for some other team. we need a development environment that might not have all the advantages of rails, but is stable. i am not interested in "language war" banter... just plain, solid advice on which i can make a business decision that will lay a foundation for the next 3 to 4 years of our development initiatives. Thanks!
Another EDIT: My team and i reviewed opinions expressed here and elsewhere. After the disappointment with Linux, we have come to the conclusion that it is likely that moving to Mac from PC would eliminate the windows bugaboos and free us up to keep up with the changes in rails. So... we will be purchasing our first Mac... next week. Thanks all for your help.
Let's see. You have a working Rails site. A pain to maintain, perhaps, but it is working and has been for several years. You have in-depth Rails expertise. You want to build a companion site that is similar enough to the original site that you could share some of the code. You presumably have a business case for this new site and presumably you want it to be working Sooner rather than Later.
Stay with Rails.
While learning a new language will be interesting from an intellectual point of view, it will also be a huge time-waster with no clear benefit unless there is something so fundamentally wrong with your existing Rails infrastructure that it warrants a complete rewrite. Which is what using a new language really means.
Listen to Joel and don't rewrite your code from scratch.
To me, the question is more about moving your Rails platform to a Linux environment or staying with the Windows environment. Someone more expert in Rails will have to answer that.
Whatever your developers already know, use that. Unless you plan to migrate your technology to another platform, don't waste your time. As far as end users, it's a web site so thats where you'll hit your restrictions. Follow proper design and css and you'll be just fine no matter what you use
First of all, you'll not be able to learn .net or java in several months on a good level. If the new site is a small one (like pet project) - choose any technology you want (I recommend ASP.NET MVC 3 :). If the site has some business value then use the tools you know better - RoR.
As for development environment, you don't need Macs to develop using RoR. Simple PC with Ubuntu or Debian linux will be enough.
As a Mac infrastructure and you already have one functioning site in Rails. Rails should be the only choice. Integration will be a lot harder with the other options. Stick with what is working, unless Rails isn't working for your current web app.
精彩评论