[Nitro] Questions to help me evaluate Nitro
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
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?
I've been a bit spoilt by RJS. Will I be forced to (finally,
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