On May 16, 4:04 pm, Victor Kryukov <[EMAIL PROTECTED]> wrote: > Hello list, > > our team is going to rewrite our existing web-site, which has a lot of > dynamic content and was quickly prototyped some time ago. See #3 below
> Our main requirement for tools we're going to use is rock-solid > stability. As one of our team-members puts it, "We want to use tools > that are stable, has many developer-years and thousands of user-years > behind them, and that we shouldn't worry about their _versions_." > TurboGears, Django and Pylons are all nice, and provides rich features > - probably too many for us - but, as far as we understand, they don't > satisfy the stability requirement - Pylons and Django hasn't even > reached 1.0 version yet. See #3 below > And their provide too thick layer - we want > something 'closer to metal', probably similar to web.py - See #1 below > Your suggestions and comments are highly welcome! Victor et al, I would propose that you ask some different questions. I propose these out of personal experience, much of it from making poor decisions and learning the hard way. Sorry if these sound gruff, I think its hard to avoid when using bullet points; in my mind, these are all being phrased as kindly and gently as I can. #1 Seek flexibility over being "closer to metal." I say this because whenever I've thought I wanted to be closer to metal, its because I didn't want to be constrained by a framework's assumptions. I guess another reason would be the need for raw performance with computations, but I think you would have said that if that was your goal. Still, "more flexible" is not always better. "flexible and well integrated" is slightly better than "flexible to the Nth degree." #2 Look for projects that deal with updates and security fixes in a way that is sensitive to users of critical applications. This is better than programs that change little. For example, does the "vendor" provide patches containing just critical updates? Do they have good, clear communication about changes that may break compatibility? How long are older versions maintained? Asking these questions will help you find a thriving project that is actively maintained and supported. (contrast to abandonware, which hasn't changed in ages) #3 Why haven't you mentioned maintainability or scalability? It sounds like you're coming from a platform that you have outgrown, either because your app can't keep up with it's load, or because you can't enhance it with the features you want. You're not simply refactoring it, you're starting over from the beginning. How often do you want to start from scratch? If the answer is, "this is the last time," then I'd worry *way* more about this and point #2 than anything else you mentioned. #4 (optional) Has your dev team built many python web-apps? I'm guessing no, or you'd already have picked a platform because of experience. If they have not, I'd personally also ask for a platform that is easy to learn, works well with the dev tools (IDE, debugger, version control) you're familiar with, and has good documentation (dead tree or online). The unfortunate news, I'm afraid to say, is that because of the python culture, you're still going to face tough decisions as there are several mature products who score high marks in the areas I've listed above. It seems the python community at large is insanely bent on doing things the "right" way, so there may just be too many good options to choose from. But its better to ask the right questions. -- Matthew Nuzum newz2000 on freenode -- http://mail.python.org/mailman/listinfo/python-list