Forgot your password?
typodupeerror
Programming IT Technology

Ruby On Rails 1.2 Released 97

Posted by CowboyNeal
from the new-and-improved dept.
Scooter[AMMO] writes "David Heinemeier Hansson sent a post to the Rails 1.2. This new version adds a slew of buff and polish to the rest of the system, as well several new features like RESTful interfaces, response formats, improved multi-byte support, and more. If you haven't checked out the web application framework that aims to renew joy within its users, give it a look. You may be amazed at how easy it makes things without sacrificing power or functionality."
This discussion has been archived. No new comments can be posted.

Ruby On Rails 1.2 Released

Comments Filter:
  • Renew joy? (Score:4, Interesting)

    by Dr. Photo (640363) on Friday January 19, 2007 @05:23AM (#17678258) Journal
    I code web apps in rails for work. I come home and play in Django. There is my renewed joy...
    • by dthable (163749) *
      Is it the python language that brings you joy or the framework? I've been looking into all these frameworks for a corporate research assignment and there are many things rooted in the languages that are making bigger differences and each language has it's problems.

      In all honesty, what framework you use doesn't matter. YouTube was developed in python, facebook in php, /. in perl, myspace in .net, on so on... If you can bend the framework, you can make wonderful websites.

      I, personally, will be lined up in the
      • by jallen02 (124384)
        MySpace is developed in ColdFusion. NewAtlanta communications developes software that MySpace uses, which allows it to run ColdFusion ontop of a .NET CLR.
        • by dthable (163749) *
          http://www.baselinemag.com/article2/0,1540,2082921 ,00.asp [baselinemag.com]

          According to the article, it started in Perl, then to ColdFusion and now it's using the .Net stack. I guess they pushed the limits of each platform to the breaking point. To me, it sounds like Tom needs to spend more time thinking about his code instead of worrying about being everyone's friend.
          • by jallen02 (124384)
            That is interesting. The article implies they still have some code running in CF using BD.NET (BlueDragon .NET). I wonder how much of it is C# vs. CF at this point.
      • by Dr. Photo (640363)
        Is it the python language that brings you joy or the framework?

        Both. Imagine a Venn diagram of (Joyful for Hackers ( ) Smart for Business). Python and Django (IMO) both hit that sweet spot, the rare, tiny sliver where both circles intersect.

        If it were just Python by itself, then I'd be using either TG or pylons, but both of those are attempting to be rails (in pylons' case, rails on steroids), which, after becoming much too familiar with rails, is not what I want.

        A lot of the things we've been doing in r
  • No Mongrel (Score:4, Insightful)

    by Gunark (227527) on Friday January 19, 2007 @05:36AM (#17678312)
    It's too bad Rails 1.2 wasn't released with mongrel (a very nice app server designed to run Rails apps, among other things). Currently deploying a production-ready server capable of running Rails is a uncomfortably unrails-like experience. Mongrel makes things a bit nicer, but even with that running under virtual hosts and/or with SSL requires some seriously heavy lifting (think Mongrel running behind Apache acting as a reverse proxy). [rubyforge.org]

    Until we get a quick and easy way of deploying Rails apps -- especially at the shared hosting level for ISPs (along the lines of PHP hosting, which is now standard), Rails will continue to have a difficult time finding a niche. The only place where Rails really belongs right now, and the only place where I'm using it (and loving it) is the corporate intranet, where putting up dedicated mongrel servers for internal web-based apps is not an issue.
    • Re: (Score:3, Informative)

      Maybe you can have a look at JRuby: http://jruby.codehaus.org/ [codehaus.org].

      They aim for 100% Rails compatibility (I think they are nearly there) and there are developments to allow deployment of your rails application using Java's war web archive system to a Java application server.
    • by dwerg (58450)
      Mongrel works fine with Rails. Just gem install mongrel and ./script/server will automatically use it.

      Capistrano is a great project to make deployment easy.
    • Re: (Score:3, Informative)

      by tcopeland (32225)
      > It's too bad Rails 1.2 wasn't released with mongrel

      Well... maybe. I agree, Mongrel rocks, we use it for indi [getindi.com] and it's quite solid.

      But does Rails really need to depend on it? I think the current solution - using Webrick for development and then deploying to a full-up Apache+mod_proxy_balancer_Mongrel - works pretty well.
      • Re: (Score:3, Interesting)

        by lewp (95638)
        That's the way I feel about it as well. We use Mongrel for our intranet and it rocks, but I don't need it at all to code on my laptop. I'm glad that Rails doesn't require me to install it, and equally glad that it's basically drop-in when I do want to use it.

        OT: I've been looking forward to 1.2 for a while now. I'm glad they got it out the door. Rails and Ruby really do make a lot of tasks much more enjoyable.
    • Check out Capistrano (Formerly switchtower) It's a very nice automatic deployment script built in Ruby... Pulls from SVN, multiple uploads, rollbacks, etc. Takes a bit of getting used to, but once the script is setup, it works great.
    • I have switched from Mongrel (behind Apache) to Litespeed. Mongrel was using too much memory and a mongrel process can only be used for one application. So if you want to set up a cluster of Mongrels for each application, it can quickly eat up a lot of memory. And if you are serious about deploying a Rails application, you should look at a VPS or a dedicated server to do it. For some good Rails hosting companies visit Railshostinginfo.com [railshostinginfo.com], which gives you the ability to compare Rails hosting companies.
  • Rails 1.2 & Engines (Score:2, Informative)

    by What the Frag (951841) *
    For all guys currently using engines, you might want a look at this:

    http://rails-engines.org/news/2007/01/03/engines-a re-dead-long-live-engines/ [rails-engines.org]
  • And after looking at some presentations on their site, I still don't.

    All it seems to do is offer a way to do very similar and simplistic web apps without any real-world functionality. I also wonder about the performance and memory profile; seems that the way it handles databases is exactly what DBA's hate to see. Sure, I understand Rails offers you the ability to create websites at high speed, but none of the websites it can create is worthwhile.
    • Re: (Score:3, Informative)

      by tcopeland (32225)
      > All it seems to do is offer a way to do very similar
      > and simplistic web apps without any real-world functionality.

      You may want to look closer; it offers ways to do very complex web apps with lots of real-world functionality.

      > I also wonder about the performance and memory profile; seems
      > that the way it handles databases is exactly what DBA's hate to see.

      In practice, ActiveRecord works out very well.

      > none of the websites it can create is worthwhile.

      To the contrary, the websites a programm
      • by tcopeland (32225)
        > To the contrary, the websites a programmer
        > can create with Rails are very worthwhile.

        I should add - it's working very well for us (getindi [getindi.com]!), and there's a lot more to our site than the glittery front end.
        • by Raenex (947668)
          and there's a lot more to our site than the glittery front end.

          Glittery front ends suck.

    • Re: (Score:3, Interesting)

      by BlackPignouf (1017012)
      I really didn't understand either before I decided to invest some time and try tutorials.
      It's already been 15 years I've been programming (Logo :), Basic, C++, Fortran, Caml, Java, Ruby ...) and I now have the impression that I never really understood programming before having known rails.
      So please, try it at least 2 hours, and you'll be amazed by how fun, efficient and beautiful it is.

      Everytime I heard someone talking about REST, migrations, rake, capistrano, scaffolding, ActiveRecord, AJAX, routes
    • by partenon (749418) * on Friday January 19, 2007 @07:32AM (#17678802) Homepage

      And after looking at some presentations on their site, I still don't.
      Some time ago, I was presented to Rails by a friend. I was skeptical at first, but after watching the video, I realize it is a powerful tool. Then, Rails was /.ed by the first time. And the second. And so on. And people still think Rails is only for "database input/output without customization". Can't they see the power behind it?? Something that was so clear to me at very first sight can't be that difficult for others to see. My only explanation to it is that people is afraid of change. And no technology can change that.

      While it is very simple to build applications via scaffold (automatic screens base on database schema), it is only *one* feature in Rails. Try it for a week. *Then* you'll see the real power of Rails. Sustainable development speed*, a very nice language (Ruby), nice documentation (it could be better, but it is ok) and so on.

      seems that the way it handles databases is exactly what DBA's hate to see
      DBA's may hate the way Rails uses databases. The framework isn't focused on "computer ease of computing", but on "developer ease of developing". So, it may not fit for a huge company, w/ hundreds of offshore developers, SA's and DBA's. It is specially useful for small companies/teams, where speed of innovation is their key to get into the market. Example: to start building Rails applications, one just needs to download the ruby interpreter (port install ruby), rubygems (port install rb-rubygems), install rails (gem install rails), and start the application (rails MyApplication). Try that :-)

      I also wonder about the performance and memory profile
      Its footprint on memory isn't any bigger than a similar application developed in Java. Have you ever looked how much memory the app itself + application server uses? And as for performance, it is ok. This is an old discussion, and rails folks usually says it is better to develop an app in 2 months than 12. And the money for the other 10 months can be used to buy more servers, if needed (but I can tell you that you can handle 4GB of transfer/day in a serverpronto.com entry level machine... warning: it is not a benchmark, just an idea).

      All it seems to do is offer a way to do very similar and simplistic web apps without any real-world functionality.
      I really hope you aren't serious or you just don't want to open your eyes... Should I send you some examples of sites built using Rails?

      So, instead of seeing the presentations, try to put your hands on it w/ rose-colored glasses** . If you don't like it, at least you'll learn new way to do things, which can help you in your next project ;-)

      * try to keep a sustainable development speed w/ one of the standards in the market: struts/spring + hibernate. It is almost impossible to achieve.
      ** sorry, I'm not a native english speaker... I hope it was used in the right context :-)
      • Re: (Score:3, Interesting)

        by VGPowerlord (621254)

        DBA's may hate the way Rails uses databases. The framework isn't focused on "computer ease of computing", but on "developer ease of developing". So, it may not fit for a huge company, w/ hundreds of offshore developers, SA's and DBA's. It is specially useful for small companies/teams, where speed of innovation is their key to get into the market. Example: to start building Rails applications, one just needs to download the ruby interpreter (port install ruby), rubygems (port install rb-rubygems), install ra

        • Re: (Score:3, Insightful)

          by Fweeky (41046)
          "The last time I used Rails (0.9ish), it wouldn't let you connect to more than one database per application. This is unacceptable in my environment, so I had to throw it out as a prospective tool."

          That's an ActiveRecord thing.. use a different ORM (Og looks quite nice), or no ORM; convention isn't a gun to your head, and it's not really a lot of effort to keep most of the benefits without actually using AR (my last Rails app used descript.ion files, heh). It's also not been true for a long, long time; each
        • > A second problem is the "more information than I asked for" problem. SELECT * should be used sparingly in favor of just grabbing the information that you need. ORMs have no idea of what information you want, so they just grab everything. The more information in your table (i.e. large text fields), the bigger problem that is.

          You've already been replied to, but don't forget that Rails "find by sql" lets you query the db using plain ol' database dependent (but optimized) and have the selected fields retur
      • So, instead of seeing the presentations, try to put your hands on it w/ rose-colored glasses** . If you don't like it, at least you'll learn new way to do things, which can help you in your next project ;-)

        ** sorry, I'm not a native english speaker... I hope it was used in the right context :-)

        You have a great command of the language, but since you offered that caveat, I thought I'd try to clarify this metaphor for you.

        The phrase "looking through rose-colored glasses" is usually used perjoratively, a

        • by arevos (659374)

          You have a great command of the language, but since you offered that caveat, I thought I'd try to clarify this metaphor for you.

          The phrase "looking through rose-colored glasses" is usually used perjoratively, and directed at an optimist by a realist.

          I suspect that the majority of native English speakers wouldn't know what the word "perjoratively" means, and since you have an extra "r" in there, looking up a definition for the word might be difficult (the correct spelling is "pejoratively").

          • I suspect that the majority of native English speakers wouldn't know...

            Perhaps, but I expect more from slashdot readers.

            (the correct spelling is "pejoratively").

            Thanks, I stand corrected.

      • by jadavis (473492) on Friday January 19, 2007 @01:18PM (#17683016)
        DBA's may hate the way Rails uses databases.

        This is true, but it's understandable also. Rails uses databases as persistent object storage, and nothing more.

        The benefits of relational databases are that they can enforce constraints with simple declarations, and abstract the logical from the physical storage. You can try to do some basic checking before you put something into a database, but it's very hard to do constraints on the application side.

        I understand why developers at smaller companies don't like using relational databases as relational databases. For a long time relational databases weren't really meeting the needs of smaller shops, and they have their own learning curve. But now with good databases like PostgreSQL that have proper constraints and can do powerful relational manipulations, it's a great time to get involved in relational databases. I encourage you to try them out, they can be a godsend when it comes to application development speed.

        It's a wonderful thing when you get an error from your database, and you know exactly which part of the application tried to do something wrong. The alternative is waiting until the bad data gets in, and finding out a week later when you try to do a report (try to find the bug now that you have no idea how the data got that way).
        • by Keichann (888574)
          There's no reason you can't enforce those kind of restraints in your database _and_ use rails, for instance this is from one of the (postgresql) ActiveRecord migrations I'm working on now:

          # Foreign key referencing Target
          execute SQL
          ALTER TABLE exclude_sets_targets
          ADD FOREIGN KEY (target_id)
          REFERENCES targets(id)
          ON DELETE CASCADE;
          SQL

          # Foreign key referencing ExcludeSet
      • by g1zmo (315166)

        try to put your hands on it w/ rose-colored glasses**

        ** sorry, I'm not a native english speaker... I hope it was used in the right context :-)

        Nope. You butchered it, but in an oddly pleasant-sounding way. I give you points for (unintentional) creativity.

    • Absolutely. Any website built on-top of a language that can't handle UTF-8 natively is destined for trouble somewhere down the line. OK, to they've mamanged to hack in support into the web framework. That's the beginning of a huge WTF right there. When the language gets the capability natively you're going to get a real mix and match and a whole world of pain. No thank you...

      Bob
    • by Stalyn (662)
      Sure, I understand Rails offers you the ability to create websites at high speed, but none of the websites it can create is worthwhile.

      Well penny-arcade.com and alistapart.com both run on Rails. Those are two sites I deem worthwhile. Then wtf do I know.
    • No worthwhile RoR web apps? Check out BackPack [backpackit.com], BaseCamp [basecamphq.com], or TaDa List [tadalist.com]. Finally, RoR can do anything that PHP can do from blog engines [mephistoblog.com] to a photo gallery [nubyonrails.com] to web stores [panic.com]. So to say that Ruby on Rails can't create any worthwhile websites shows a lack of knowledge of the abilities that Ruby on Rails has.
    • by meiao (846890)
      Then you should take a look at railsday.
      Nice apps there. Written in one day.
  • by Anonymous Coward on Friday January 19, 2007 @06:41AM (#17678612)
  • Whew (Score:4, Informative)

    by tcopeland (32225) <{moc.dnalepoceelsamoht} {ta} {mot}> on Friday January 19, 2007 @06:55AM (#17678662) Homepage
    It's getting installed at a furious rate... we're doing around a gem a second now [blogs.com].
  • Heaven help! (Score:2, Interesting)

    by Qbertino (265505)
    Now that we've just calmed down the Rails bunch they'll be all over us again with foam aroung their mouths. "RAILS! RUBY! RAAAAH!". ...

    Here's a list of very good/better alternatives:
    Zope - What Rails want's to be when it grows up. Ancient but still ahead of anything else with classic persistance. (www.zope.org)
    django - Drinking buddies of the rails people. And they have unicode support. (www.djangoproject.com)
    cakephp - YaWebframework. In PHP. Largest community out there. Impressive piece of code (www.cakeph
    • Re: (Score:2, Flamebait)

      by gimpimp (218741)
      You have to be kidding me? Zope is the Frankenstein's monster of frameworks. Developing TTW? Who was the idiot to come up with THAT? Zope is horrendous!

      Django? anything that uses SQLObject is doomed to failure on anything but the most basic of projects. It's about 100 times slower than active record.

      Cake php? You have to write php to use it. Game over.
      • Django doesn't use SQLObject. You can, as a programmer, use it of course, since everything in Django is nicely decoupled, but Django uses it's [djangoproject.com] own ORM [djangoproject.com]. The main advantage of using this ORM is of course the production ready administration interface that you get for free, but if you don't need that, there is nothing stoping you from using SQLObject or even better, SQLAlchemy [sqlalchemy.org]. In fact, there is even a branch [djangoproject.com] in Django to have SQLAlchemy support in the framework.

        Using a different ORM, template engine, etc in

    • by bockelboy (824282)

      Here's a list of very good/better alternatives: Zope - What Rails want's to be when it grows up. Ancient but still ahead of anything else with classic persistance. (www.zope.org)

      I program in python day in and day out. That said, Python can be a miserable choice for a large-scale framework. Why? It has a Global Interpreter Lock, meaning the interpreter can run on at most one processor at a time.

      So, the nice new multiprocessor server you bought will have similar performance to the one-processor serve

      • by Fweeky (41046)
        Ruby has similar problems; the standard interpreter only supports green threads, so doesn't scale beyond a single CPU. JRuby supports native Java threads, but then Rails isn't thread safe, doh!

        YARV has pthreads support, but they seem to be targeting a Big Giant Lock style design to avoid breaking lots of extensions, which is similar to what you get with PHP; the interpreter's thread safe, but use more than the most basic extensions and it all comes tumbling down.

        It's not such a big deal for many deployment
    • by arevos (659374)

      Here's a list of very good/better alternatives

      I'd hesitate to imply that PHP frameworks like CakePHP are better than Ruby on Rails. PHP's syntax is extremely limited compared to Ruby's, and these limitations are visible in any PHP web framework.

      Compared to Django, Rails has more functionality directed toward maintaining AJAX sites (such as RJS templates). Ruby also has a few advantages over Python in terms of the flexibility of the language. On the other hand, Ruby lacks Unicode support and is significantly slower than Python.

      I haven't really playe

      • Re: (Score:3, Insightful)

        by Lysol (11150)
        Yah, Unicode support is a biggie in Ruby. It's there, but still a pain. Rails has added support for it in 1.2 in ActiveSupport::Multibyte. So there's stuff like this now:

        '€2.99'.first # => '€'
        truncate('2.99', 2) # => '€2'

        Even tho this isn't totally like Java's i18n support, it's getting there..

        As for Ajax support, yah, it's a first class citizen in Rails. While a lot of people are sick of the term, I think it's for real and here to stay. It is the next step in web appli

        • Re: (Score:3, Insightful)

          by arevos (659374)

          I agree with you in general that AJAX is only going to become more common, and done right, AJAX has many benefits. However, stop saying things like this:

          the net and browser really are becoming the operating system

          Because it's akin to suggesting that we replace the engine of a car with a GPS receiver or an iPod.

    • According to the release notes, Rails 1.2 works with Unicode.
  • I'm only sort of kidding here - I think frameworks are great for people who don't have strong OO design background and/or don't fully understand the MVC pattern, or for people who work on a team where some people meet these criteria. A framework forces everyone to "stay in bounds." But if you (and everyone on your team) do understand these things, then I'm personally an advocate for just using an OO language (PHP, Java, whatever) and making sure your class design follows the MVC pattern. ActiveRecord (an
    • Re: (Score:3, Insightful)

      by mortonda (5175)
      Rails provides so much more than just MVC. It *is* built on solid OO design, and the ActiveRecord framework is pretty solid, and would take a lot of time to recreate by hand. Why reinvent the wheel? The point of rails is to free you from having to do that stuff all over again. "Don't Repeat Yourself" is the motto, and I find that to be the biggest reason to use rails. As I have grown in my own programming abilities, I've discovered the greatest frustration is when I repeat code (or worse, copy and past
    • A framework forces everyone to "stay in bounds."

      I've worked on several different webapps, from small and personal to large and corporate, using several different frameworks (J2EE, Django [djangoproject.com], Rails) as well as just straight PHP/ASP/static HTML. Frameworks don't really force anyone to stay in-bounds.

      All of frameworks I've used allow you to drop down to straight SQL for database work, ignore their models and templating (or substitute others), and completely mess up the MVC pattern, if you want. Django goes the

  • One of the great things with Rails is that it is so easy to update. There's three easy steps: Step 1: gem update rails --include-dependencies Step 2: Press return Step 3: There's no step 3
    • by crayz (1056)
      And then update your app to freeze to the new version. You are freezing your app, aren't you?
  • by MarkWatson (189759) on Friday January 19, 2007 @02:24PM (#17684088) Homepage
    Thanks to the Rails developers!

    Ruby on Rails is certainly a giant step forward in increasing programmer productivity. The new REST support is great, but I must say that the web based SOAP debugging interface made using SOAP with Rails painless.

    A little off topic, but for my customer I integrate Rails with back end Common Lisp code - so far just using home grown REST support at both ends. Eventually, I would like to get the time to generate compiled Lisp libraries directly linked to Ruby when everything is runnng on a single server.

    BTW, I created a simply Ruby and Ruby Rails news clipping web site, mostly for my own use, but it might be useful for you: http://rubyplanet.net/ [rubyplanet.net]
  • by tentac1e (62936)

    Let's round up the common excuses.

    There is no silver bullet. Shortcuts like scaffolding only work for simple applications: Rails isn't about taking over everything. It's about maximizing your productivity, which means removing monotonous stuff so you can focus on the real problems. Nearly all the "magic" can be ignored or overridden, as you see fit.

    While the bells and whistles get all the press, the most popular components of Rails are derived from best practices of software engineering, such as Unit

In 1869 the waffle iron was invented for people who had wrinkled waffles.

Working...