Any comments from ex-PHP developers?
Hi, I'm currently looking at PHP + templating engines and Zope, and would like to know if there are any developers in this list who used to work with PHP, and decided to switch to Zope to develop web apps, and, if yes, the reasons you switched. Thx Fred.
Frederic Faure wrote:
I'm currently looking at PHP + templating engines and Zope, and would like to know if there are any developers in this list who used to work with PHP, and decided to switch to Zope to develop web apps, and, if yes, the reasons you switched.
I used a lot of PHP in my earlier life... I switched because: With ZOPE you need an hour for a prototype, with PHP you need a week or more [and you have only half of the features implemented in this time...;-)]. And the other reason is: ZOPE is REAL FUN!!! be zoped, -mj
Hi, I don't consider myself an *ex*-PHP developer, but just wanted to share my thoughts. I developed and still develop all those serious applications in PHP and even wrote a couple of books on the language with Wrox. PHP has a lot to offer in various aspects, and does have its own set of advantages over Python and Zope. However, when it comes to that old theme of web developers, separating presentation and logic, I cannot but admit that Zope beats PHP hands down (of course, unless you DTMLify all of your Zope applications and gave them 'welcome-to-my-jungle' looks^^) In a way, PHP encourages mixing presentaion and logic. I fell for that 'immediate convenience' for a number of occasions and came up with applications that do all kinds of presentaion and logic mix-ups. One good example is PHP NeoBoard vs. Zope NeoBoard. PHP NeoBoard has been in heavy use since 1999. I stopped developing it in PHP once I realized I could do it in less than two days in Zope. And I did. Ported (not even ported, just borrowed concepts from) PHP NeoBoard to Zope in less than a few hours. My jaw just dropped at that moment I saw a 'better' NeoBoard work after a few hours of coding in Zope. It took me more than a few moths to get there in PHP. Just compare the length of the code: Zope NeoBoard 1.1b has tons of more features than PHP NB 3.0 does with far fewer lines of code. Guss it's not entirey fair to compare Zope and PHP in all aspects since we should see Zope as a developing platform/application server not a langauage. But as a web development platform, yes, I came to choose Zope over PHP. All I developed for basic foundation on which to develop other applications in PHP: Zope already got it. One good example: you don't have to seek a template engine. Zope already has it. I have yet to find a better template engine than ZPT. I still marvel at the elegance in its design. Just spend a couple of hours with ZPT, you'll know what I mean. Another strong point of Zope is... It's based on Python: complete OOP langauge. Rumor has it that even PHP5 wouldn't be 100% oop-ish. What's missing in PHP in terms of object-orientedness, you get more than you need with Python and Zope. Personally, I'd go for Python over even Java for OO-ness. Python simply helps you (even forces you to) code in far cleaner and more extensible way. In terms of OOP-ishness, two more points for Python and Zope. For the sake of fairness, however, Zope has a few drawbacks (and ZPT for that matter). 1. 'THE' PHP community is hundreds of times bigger than that of Zope. (Hundreds? Guess some Zopistas wouldn't agree.... that's sad but true. For instance, in Korea, I can even count everyone that can do any serious stuff in Zope with my two sets of fingers. PHP? Everywhere you look.) You'd know what I mean by this. I had a real hard time figuring out how I go about doing the same stuff in Zope as I did in PHP. Documentation/community support/etc, ammunitions that you desperately need in this somtimes-very-very-cold opensource world, is far weaker than those of PHP. (It might be a blessing in disguise since from the opposite end, that means you'd be rarity with Zope expertise: huge demand and little supply^^ To extend that Korean market anology, we have so many PHP developers that we even hear 'PHP developer' jokes as American people do lawyer jokes;-) 2. It comes with its own object database, which is something really new to PHP developers. I have yet to find a good and Zope-friendly way out of it, as a matter of fact. I have tons and tons and tons of data that I'm still wary of putting into ZODB. (Okay some Zopistas, here, would say, hey that' not true! But yes it's true in my case. Suppose you have 100 giga bytes of data. More than 50% of it should be dynamically loaded into and unloaded from memory. All I got, as of now, is a single-file ZODB storage. Having a single 100-giga byte file... I just can't take take. I do want a version-less file-based ZODB storage, which, again, as of now, is non-existent. I'm looking towards Directory storage, but it's still in beta. ZEO? Well, I don't have the hardware to go with that option. I've been doing this; no problem with LAMP - Linux, Apache, MySQL, PHP combo. But with Zope, it IS a problem now. What I really, desparately want from ZOPE is a bit more leeway in selecting strorage options. Maybe... ZOPE3/ZODB4 combo? ) 3. Elegance (separating presentaton and logic: MVC model) sacrifices performance: I found ZPT is way slower than DTML and mixed-up PHP code (but you'd get into similar dilemma if you opt for any template engine in PHP since that would take a whole lot more time to render, anyway.) I used to choose performance over anything else, thus the mix-up of presentation and logic. I changed that attitude. I got sick and tired of re-doing all the applications I developed years ago, months ago, weeks ago, and even days ago: I can't immediately figure out what I was doing in that block of code in PHP NeoBoard 3.0, for example. I tried my own template engine with PHP NeoBoard 3.0, an attempt that miserably failed. I did a message board, community club application, e-commercing application, web-base mail application, etc: the works in PHP. I'm RE-doing them all in Zope. Why? Thought it'd be better to redo them all from scratch than extending or even modifying the mess. Zope and PHP are good tools in their own rights. One might be preferred in some areas and the other in the others. Simply put, one can't beat the other in all aspects. What comes on top of your priority list, that's what counts, IMHO. Hope this helps. Best Regards, Wankyu Choi --------------------------------------------------------------- To the dedicated staff at NeoQuest, language is not a problem to be dealt with, but an art waiting to be performed. --------------------------------------------------------------- Wankyou Choi CEO/President NeoQuest Communications, Inc. 3rd Floor, HMC Bldg., 730-14, Yoksam-dong, Kangnam-gu Seoul, Korea Tel: 82-2 - 501 - 7124 Fax: 82-2-501-7058 Corporate Home: http://www.neoqst.com Personal Home: http://www.zoper.net, http://www.neoboard.net e-mail: wankyu@neoqst.com --------------------------------------------------------------- -----Original Message----- From: zope-admin@zope.org [mailto:zope-admin@zope.org] On Behalf Of Frederic Faure Sent: Tuesday, December 17, 2002 10:01 PM To: zope@zope.org Subject: [Zope] Any comments from ex-PHP developers? Hi, I'm currently looking at PHP + templating engines and Zope, and would like to know if there are any developers in this list who used to work with PHP, and decided to switch to Zope to develop web apps, and, if yes, the reasons you switched. Thx Fred. _______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
participants (3)
-
Frederic Faure -
Maik Jablonski -
Wankyu Choi