[Nitro] Questions to help me evaluate Nitro

Ashley Moran work at ashleymoran.me.uk
Sun Sep 2 18:15:37 EDT 2007


I have a few n00b questions regarding Nitro that I thought might be  
answered quicker by people who know the framework than me playing  

Basically my situation is I have been employed for the last 3 years  
doing sysadmin, DBA and Rails work, but I've recently handed my  
notice in, and by December I will need some real work.  That give me  
3 months (clock already ticking!) to create a little side-project,  
either as a money-spinner or just something for my CV to help me get  
some contract or permanent work.  I was about to dive in with Rails  
but I thought I'd take another look at Nitro because it's a while  
since I read anything about it.  I'm drawn to it because from what  
I've seen, it seems to have a sense of beauty that Rails lacks.   
(Rails is very clever, but it sure can be ugly at times.)

However I have a few concerns I was hoping someone could address.   
(Ok actually quite a lot, now I've written them all out.)

- Og -

I have a very database-centric view of web apps: I see the data as  
the core of any project and the application just a means to do  
something useful with it.  This seem at odds with the Og philosophy  
that the object model is key, and the database is used to support it.

With Rails, I am constantly doing database-level changes, like  
renaming columns, moving columns from one table to another, inserting  
or deleting static data, setting arbitrary constraints (eg CHECK).   
The blog example makes it look like everything must be done with Og  
black magic.

Will I need to build my own migration system to get the level of  
database control I'm used to?  (Or I could hijack ActiveRecord  
Migrations for this, I guess.)

- Testing -

I see Nitro uses RSpec for it's own unit tests now.  This I like :)   
RSpec is possibly my favourite piece of software ever.  The  
rspec_on_rails plugin is pretty cool too, and by and large, the only  
problems I run into are due to Rails ugliness.  Neither of the  
example apps have any testing.  How easy is it to do unit tests with  
RSpec for each of the MVC layers?  How about integration tests - are  
there any best practices for integrating, say Watir into a Nitro  
app's development cycle?

- Plugins / Third-party code -

One nice thing about Rails due to its popularity relative maturity is  
that if you've thought about it, at least three other people have  
too, and one has certainly written a plugin for it.  What's the  
situation in Nitro?  Is there a lot of wheel-reinvention needed for  
things Rails people take for granted?  I'm sure this is very much  
dependent on the exact problem you are trying to solve.

- Documentation -

Ok, so Rails hardly gets 5* here, seeing as learning Rails involves  
scouring the web for answers.  But it does have an excellent printed  
book and a pretty helpful wiki.  The Nitro site has a lot of dangling  
links (also true of most of the sub-projects and related projects)  
and I can't find much in the way of tutorial/how-to stuff.  If I  
start building a Nitro app tomorrow, will I find myself spending the  
first month just trying to figure out basic things?

- JavaScript -

I've been a bit spoilt by RJS.  Will I be forced to (finally,  
grudgingly) learn JavaScript?  Does Nitro have an equivalent means of  
sending multiple updates to a page?  With RJS, I can pretty much  
reconfigure a whole page with a few lines of Ruby. It's often not  
perfect, but it's a real time saver.

- Real World Use -

Are there any lists of Nitro-powered sites so I can see what people  
have achieved?  I don't doubt you can build large, robust apps with  
Nitro (I still work with people who question if you can do that with  
Rails), I'd just like to know what they are.

I hope I'm not rehashing any old subjects here, but I can't seem my  
questions answered in the last few months on this list (admittedly,  
I've only skimmed the subjects).  Also please don't take any of this  
as criticism, I am just curious about the Nitro world.

Finally, is there any really cool stuff about Nitro will make me say  
"I wish Rails could do that/did it that way"?  I'm much more  
impressed by elegant solutions to problems than I am put off by  
things not working out of the box.

Thanks in advance for any advice

More information about the Nitro-general mailing list