Hello,<br><br>I come from a Rails background, been working with Rails for about 1 year and a half, it has been a great experience but my last project required me to use Plone as a base framework for the portal/application.<br>
<br>I then started deeply studying Plone 3. Bought and read Martin&#39;s excellent book Professional Plone Development from cover to cover. Struggled with Zope concepts but almost always could grasp them by reading the other books from the Zope/Plone bookshelf or online articles/tutorials.<br>
<br>It has been 3 months already. The project is almost done and I&#39;ve learned to like Plone and Zope 2. However, what attracted me the most was Zope 3 and its elegant concepts and OOP patterns and this led me to question some things:<br>
<br>&nbsp;* The differences in the approaches taken by Rails and Zope 3 to provide developer productivity, scalability and application maintability.<br>Rails is productive, no doubt regarding this. However, I feel that it restricts me in the OOP side of things, hiding much of the OOP patterns from the developer. The &quot;put there it will just work&quot; philosophy often makes it hard (at least harder than if it were being implemented on Zope 3) to make more advanced, complex and specific things.<br>
<br>I do believe in the agile methodology and I always follow it whatever I am working with Java, python, C or Rails. Rails just happens to be an out-of-the-box solution that has attract millions of developers becouse of its magic promises and easy learning-curve. <br>
<br>I feel however, that Zope 3 with its Component Architecture is much more elegant and can be as productive as Rails AND provide better application scalability and maintability than Rails if you know what you are doing. <br>
<br>I can&#39;t speak for Zope 2 though :) <br><br>What do you think? Would you mind sharing your experiences and ideas regarding this subject?<br><br>Cheers,<br><br>Marcelo.<br>