3 ms·
Ask YC: Is Zend Framework worth learning?
I started reading Practical Web 2.0 Applications with PHP a few days ago. The book relies heavily on the Zend Framework and Smarty templates to build a blogging website.
Does anyone else have experience with these? I'm willing to devote a lot of time learning modern web programming, but am not sure whether I'm headed in the right direction. Any advice?
Thanks in advance,
Matt
- arvernus 18y agohttp://www.pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition http://www.pragprog.com/titles/rails3/agile-web-development-...
- matt1 18y agoDo most people agree that Rails is better than PHP to master?
- noodle 18y agoi don't. its too situational and dependent upon time, i feel, to be able to make a generic, blanket statement like that.
- matt1 18y agofair enough. i typed up a lengthy post, but it boils down to this: Will Rails be around for a long time?
- noodle 18y agoi don't even necessarily think that it won't be around for a long time. look at java. it'll be here for a long time to come. and it was very hot for a few years. but now its the cool, safe, standard language CS people pick up. and ruby, for rails, is the new hot language (which was virtually unknown outside of japan for many years until rails hit). how long till rails cools down and something else picks up steam? how long until the answer to the question "i'm new, what language should i learn?" is something other than "ruby"? on the flip side of that coin, COBOL programmers get paid a pretty penny nowadays because there are so few of them, but so many COBOL programs are still alive. how long until java programmers become the COBOL programmers of today? whats "worth" learning depends on what you want to do and whats happening in the industry currently. imo.
- icey 18y agoAs an addendum, there will always be jobs out there for writing boilerplate code.
- wallflower 18y agoThrowing together UI screens isn't sexy but it pays the bills so we can do things like hack code (at home) for fun
- noodle 18y agozend is a good php framework. its used more in corporate environments, from what i've seen, with cake/symfony/codeigniter being used in smaller dev groups or by freelancers. i don't have enough experience using it to give you my thoughts on how it works and stuff, but i will tell you that for the most part, the php frameworks are all similar in how they work.
- rit 18y agoAs a general rule, if you have a choice, I would recommend learning Python (Pylons or Django, I prefer Pylons for it's looser coupling) or Ruby + Rails. While PHP is used all over the place, if you want to keep your sanity you're better off getting into more...structured systems. Apart from that, Zend is pretty good. At my last place of employment we went through a bunch of frameworks including Code Igniter, Symfony and Cake. The various members of development all had violent disagreements over all of them. For some reason that I am still unsure about Zend seemed to ... work for us. It was stable, and nobody got into religious arguments over it's implementation. Not sure that's a good sales pitch, but it certainly didn't suck from my view. It added to PHP where it needed to, but didn't require you to learn an entirely different way of doing things. e.g. Lower barrier to entry.
- matt1 18y agosolid answer, thank you. i hadn't even considered python. what are its selling points?
- rit 18y agoIt's incredibly easy to learn & use - what I've always liked about it is that I spend very little time thinking about how to accomplish a task in Python. In addition, Python has solid support for object oriented programming which I can't really say for PHP (PHP's object 'support' is slowly improving but it's still a crappy patch). This is represented at it's core by the fact that EVERYTHING is an object - if you say: foo = 5 foo is an object of type int. It's still loosely typed, in that you don't have to declare that foo is an int, but the contents being objects gives you a lot of power for dealing with them. There are a lot of great tools for Python as well - Pylons (which Reddit is based upon), Django and TurboGears are pretty well entrenched and established. They are easy to learn and work with (Django has an incredibly low barrier to entry/learning curve) and powerful. Mark Pilgrim wrote a great book called "Dive into Python" which is available for free on his website: http://diveintopython.org/ http://diveintopython.org/ It gets things moving pretty quickly if you're looking to get a taste of what Python offers.
- 18y ago
- gexla 18y agoConsidering the book that you are reading, I assume that you are not yet strong in PHP. If I am correct, then I would say go ahead and consider the other suggestions to learn another scripting language. Telling you to check out another programming language is not really answering your question though. If you need to build a web app RIGHT NOW and PHP is your trade language then you build it in PHP. Learn another language in your spare time, but use your known tools today. To answer your question, the Zend Framework is very much worth learning. There is not much to learn if you are solid in PHP though. Though I have not been keeping track of the ZF, it started out as a collection of libraries rather than a traditional framework. If CodeIgniter or Rails is a framework, then the ZF is more like a framework parts store. You grab the components off the shelf and you build your own "framework." Further, you can easily use ZF components with another framework such as CodeIgniter. Zend intended for the ZF to complement rather than displace the other available options in the PHP community. All that may be different today though. Good luck!
- kamme 18y agoI have been using PHP for webdevelopment for 7years now and I recently started using Zend professionally and I must say it works ok from my point of view. It should be easy to learn php with it. But it has some downsides too. Like skinnging of forms for example, is not as easy as it looks! There are also still problems with the form validations. Overall it's not bad, especially because it gives you much freedom of where to put your files and things like that. But to be honest, like I mentioned before, after those 7 years of php, I suggest looking at python (django for example) too. I don't say you shouldn't learn php, it's really great, but django just seems to have it al. Don't know about scaling though...