On Jan 30, 2008 2:01 PM, Greg Donald <[EMAIL PROTECTED]> wrote:
> On Jan 30, 2008 12:15 PM, Zoltán Németh <[EMAIL PROTECTED]> wrote:
> > > It's opinionated software and is certainly not for everyone.
> >
> > ok it's not for everyone, certainly not for me. but what is it from your
> > point of view that makes it a 'more interesting advance'?
>
> 1) Test driven development is built-in, and not just unit tests, but
> functional tests and integration tests too.  In addition there's
> several plugins that extend your tests into realms you may not have
> thought of.  There's Rcov which will tell you what code you haven't
> written test for.  I know, you don't write tests.  It's perfectly
> natural to not write tests when your framework doesn't support them
> out of the box.
>
> 2) Prototype and script.aculo.us are built-in.  Not just included in
> the download but fully integrated into the models.
>
> Symphony tried to pull off the same thing with it's framework but it's
> fairly messy in my opinion.
>
> update_element_function('foo', array(
>   'content'  => "New HTML",
> ));
>
> Compared to the Rails equivalent:
>
> page.replace_html 'foo', :html => 'New HTML'
>
> The other Javascript helpers like observers for example are similarly
> very small.
>
> 3) Database migrations that allow for versioned SQL.  I can roll out
> new sql or roll back my broken sql with a single command.
>
> rake db:migrate VERISON=42
>
> I can rebuild my entire database from scratch:
>
> rake db:migrate VERISON=0; rake db:migrate
>
> The migrations are Ruby code that are very tight in syntax:
>
> class CreateSessions < ActiveRecord::Migration
>
>   def self.up
>     create_table :sessions do |t|
>       t.string :session_id, :null => false
>       t.datetime :updated_at, :null => false
>       t.text :data
>     end
>     add_index :sessions, :session_id
>     add_index :sessions, :updated_at
>   end
>
>   def self.down
>     drop_table :sessions
>   end
>
> end
>
> 4) Capistrano which is fully integrated with Subversion (and soon Git
> I heard) allows me to roll out a versioned copy of my application with
> a single command:
>
> cap deploy
>
> And then I can also rollback just as easily in case of an error:
>
> cap rollback
>
> 5) Ruby on Rails has a built-in plugin architecture for adding vendor
> code.  I can add new functionality to my app as easy as
>
> gem install acts_as_taggable
>
> or
>
> gem install pagination
>
> It's a bit like Perl's CPAN if you're familiar.
>
> There are also plugins, engines, and components depending on the level
> of integration you want the vendor code to have.
>
> 6) Model validations extend into the view.  No re-mapping of variables
> like with Smarty or some others I've tried.
>
> 7) The REST architecture is built-in to Rails.  No more SOAP, unless
> you want it of course.  No one's using it but it's there.
>
>
>
>
> --
> Greg Donald
> http://destiney.com/
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

Thanks for your post.  Competition is a good thing.

Have you looked at the PHPUnit code coverage reports?  Of course it
isn't built in like you say, which sounds pretty nice.
http://sebastian-bergmann.de/archives/578-Code-Coverage-Reports-with-PHPUnit-3.html

Making applications spit out Js just seems like a bad idea.  I haven't
seen the way it works, but it seems like you'd have a lack of
flexibility.  If I want to use JS I just symlink whatever copy of YUI
I want into a directory on my server and start using it.

What is the advantage of having integrated subversion/git?  Using
stand-alone svn I can manage any files I want within projects using an
IDE or command line.  Sometimes I don't want to commit directories or
new features yet and I can pick and choose my way.

Reply via email to