The Nitro/Og team recently released version 0.40.0 of their web development framework and ORM. Nitro and Og are a less well known alternative to Ruby on Rails (and its ORM, Active Record) that bear looking into.
I asked George Moschovitis what he thought Nitro and Ogs biggest strengths are and he said, "Totally transparent web/db development. Creating a web or db application is like creating a standard ruby application."
George also provided a couple of quick examples. For Nitro:
class HelloWorld
def index
print "hi"
end
def hello
"hello world"
end
def math(val1, val2)
print "The sum is #{val1} + #{val2}"
end
end
Nitro.start(HelloWorld)
And for Og:
class Article
is Timestamped
is Taggable
attr_accessor :title, String
attr_accessor :body, String
attr_accessor :hits, Fixnum
belongs_to :category
end
class Category
has_many :articles
end
Og.start
Og represents a pretty big departure from the ActiveRecord model that a lot of developers are used to. It maps Ruby objects to sql tables (non-sql too, if you'd rather go that way) instead of the other way round. In fact, Og will even create your DB tables for you transparently, if they don't already exist.
Nitro and Og have been around for about as long as Ruby on Rails, but they'e still not hit a 1.0 release. When I asked him about this, George explained:Please note that 0.40.0 is not 0.4.0. There were 40 revisions, after 0.9.0 we got to 0.10.0, not 1.0.0. Kind of like there is gnome 2.16.0 instead of 3.0.0
But, it is true that the community is much slower, and the fact that I as the main developer had to finish with my army service (Just finished 1 week ago, that is why you see this new release ;-))
But the community is getting stronger and I hope we will tackle Nitro's biggest problem, lack of documentation.
Nitro and Og represent a different way of doing web development with Ruby. Do yourself a favor and go check them out. Even if you don't become a convert it will help you think about how you use Ruby and Ruby on Rails.