Zend Studio vs PHP Development Tools

zend-studio-vs-pdt.jpg

zend-studio-vs-pdt.jpg

I’ve been using Zend Studio (ZS) for the last two years. It is developed by Zend, the company behind PHP. The very first time I used it and it was able to auto-complete my custom PHP classes I was sold. With version 6 of Zend Studio, they integrated Zend Studio with Eclipse, a popular IDE framework. I’ve been mostly happy with the new version, where as in some areas I felt that things were took a step back.

PHP Development Tools, also know as PDT, is an extension to Eclipse. It is open source and free to use for anyone. Zend Studio 6 is basically an additional layer on top of PDT offering additional features. The differences between Zend Studio 6 and Eclipse PDT vary from between areas of development. The question is what’s the difference? Which IDE is better for who?

After using both PDT and Zend Studio, I thought I would shed some light on the subject. There is a list of the differences on Zend’s website that is well detailed. The list in my opinion over exaggerates the differences due to listing many “minor” features. Here are the biggest differences in my opinion:

Ease of Installation

Zend Studio is easier to install and setup than PDT. ZS has a simple installer and can install Zend Platform, Zend Encoder, etc along with it. PDT on the other hand requires a little more work to set it up. Its not that difficult, just a little more time consuming. Also, it won’t install any other Zend products for you if you need them.

Refactoring

This is can be a huge breakthrough for PHP IDEs. Strongly-Typed environments, such as Java and C#, are easier to refractor due to how their IDEs and Language work. PHP really hasn’t and any type of refactoring options in IDEs until Zend Studio. For those who don’t know what refactoring is, lets say you need to rename a class’s function. Before you would just do a really big find and replace. However, what if you had this in hundreds of places? What if there was another class with the same function name? Find and Replace would screw up all of those scenarios unless you did each replace manually checking the context. That could take hours and hours. It also is very bug prone if you make a mistake.

Refactoring allows you to change function names, variable names, class names, using the logic of the editor. That means it will detect when it is appropriate to rename or change something. Now with ZS it isn’t 100% unless you use PHPDoc tags and are very clear with includes, etc. However, for large professional projects it can save hours of time. This is a very advanced feature that some developers can’t live without. This is probably the biggest difference I think between PDT and ZS.

PHPUnit Testing

Zend Studio has PHPUnit support built in. For serious developers who use PHPUnit testing every day will find this feature very useful. ZS helps the creation of tests, running and managing test, etc. PDT doesn’t have any built-in support for PHPUnit tests. You can use the editor to write tests, and there are some tutorials on using PHPUnit with Eclipse, so with a little work you can make Eclipse help with PHPUnit tests.

Debugging

Both Zend Studio and PDT allow for debugging. Zend Studio makes it easier to setup and manage. PDT requires a little more work and research to get debugging to work. Zend Studio has a few features, like the Debug toolbar for FireFox & Internet Explorer, that make Debugging a little more convenient. ZS also supports some more advanced features like SSL, Tunneling Support, Web Server Profiling, etc. Basic summary is that ZS makes debugging more convenient, where as PDT requires a little more work.

PHP Editor

This is where most developers will use ZS or Eclipse. It is also where ZS and PDT are practically the same. The only difference is Zend Studio has handful of helpers, such a code generation for classes, getters and setters, interface implementations, etc. They both has the same code completion (a.k.a. intellisense) features which I personally find the most useful. This is where the meat of Zend Studio and PDT are at, and both do a great job.

Zend Platform & Zend Framework

This is where Zend Studio has a lot of support over PDT. ZS helps make using Zend Framework and Zend Platform easier for developers. If you check the comparison list, you can see this is where Zend Studio has all the features PDT doesn’t.

Conclusion

Zend Studio and PDT are both great products, both built on the Eclipse framework. PDT is a great extension of Eclipse, and Zend Studio is a great extension of PDT. How can you tell if you should use PDT for free, or pay the $400 for Zend Studio 6. The answer is this: PDT is great for regular developers. However, if you are a professional developer who can save time from Zend Studio, the saving time will be worth the $400 dollars. One great thing is if you start off with PDT, and decide you would like some of the features of Zend Studio, you won’t have to re-learn anything. Zend Studio has all the same features as PDT.

I highly recommend both products. You can try out Zend Studio 6 for 30 days for free. There are also people who might prefer other PHP IDEs and not like the interface of ZS/PDT. That is why I suggest trying the trial.

Hopefully this article will be helpful for those wondering.

Tagged with: , , , , , ,
Posted in Articles, Programming

Adobe Creative Suite 4: I’m Excited!

adobe-cs4-preview.jpg

All I can say is I’m excited. I was skeptical about Adobe acquiring Macromedia at first, wishing it was the other way around. The only real Adobe product I was using was Photoshop, where was Macromedia has Flash, Dreamweaver, and Fireworks. However, I have to say, I’ve been impressed with Adobe’s efforts to improving Macromedia’s products. I was worried they would cannibalize the different programs and just merge a few features into the Adobe products. However, they had done opposite with Creative Suite 3, they kept all the products and basically focused on making integration between all the products better.

It looks like with Creative Suite 4, the theme is still integration. Adobe seems to be taking the approach of “let each program do what it does best, and let them integrate seamlessly.” It looks like each program has received a new features, and Adobe has standardized the UIs across each program to help with consistency. I’m really excited about Smart Objects across Photoshop and Dreamweaver. It allows for smart objects to be shared across the two programs, so if you update the image in Photoshop, it will show up in Dreamweaver. Very, very cool!

The one thing I think the Creative Suite is missing is a solid program for advanced programming and scripting. I wish Adobe would make something like a Zend Studio for Adobe. While I can see why there really isn’t a program like that for Adobe, I still can wish.

Here are a few links to reviews and websites on Adobe CS4:

Tagged with: , , ,
Posted in General

PHP 6 Books – Did I Miss Something?

Update 01-21-12: since I was contacted by the Author of one of these books, and a few years have gone by and I’m more familiar with the publishing industry, I was unfair to place blame on the author for the decision to market these books as PHP6. Authors have almost no say in how their books are marketed. Thus, the blame for these types of tactics, rest solely on the publisher.

On a side note, it is now 3 1/2 years later, and we’re only on PHP 5.3 with 5.4 coming out. Still no PHP 6 on the horizon.

php-6-books.jpg

The other day I was walking down an isle at Barnes & Nobel and I a two books caught my attention. PHP 6? Did I miss something? I opened each book looking for something that said “PHP 6 is still in development” or “future technology.” No such luck. They each just looked like PHP 5 books with PHP 6 slapped on their cover. Looking at PHP’s wikipedia page, I verified that PHP 6 doesn’t even have a release date.

After looking at what version 6 will do for PHP, I guess these authors can get away with it. PHP 6 is really just cleaning up some of the legacy problem The only reason I can see for labeling a book now as “PHP 6″ is to sell copies to unknowledgeable consumers. People who think 6 is better than 5, which it is, but they don’t state PHP 6 hasn’t been released yet. I’m sure these “fast and easy” web development books are pretty basic and not very good. It just makes frustrated with some authors who sell books just to sell, instead of making really good books. I think this is very misleading.

Anyways, back to watching Heroes…..

Tagged with: , , ,
Posted in Programming, Technology

WordPress & OOP

wordpress-oop.jpg

I’ve been hacking around with WordPress these last few weeks, and I’ve loved using it so far. My only concern has been that WP seems to be coded with the desire to be compatible with PHP 4.3. I just wonder when WordPress will take a OOP approach to it’s design. It would make things more simple for new developers.

I would love for WordPress 3.0 to have an OOP approach. I would love for one of the goals of WP 3.0 would be for it’s OOP core would be taken and used in another other website. A great example would be with a Dating Website I’m working on. It would be great to be able to have members have their own blogs and we could have it 100% integrated with our system. Right now I feel like it would take a lot “hacking” methods to get it to work, and when upgrades to WordPress would come it would be hard to upgrade. I really think WP needs to bite the bullet and make the change to OOP.

My wish list for WordPress 3.0 would be:

  • OOP Based System – When making a plugins and themes, I think this would make it a lot cleaner and more straight forward.
  • WP Core API for custom blog system (i.e. site integration)
  • Graphical Stats System – I would love to watch my stats live on my blog.
  • Browse & Install Plugins/Themes from WP Control Panel – this would be awesome if from my WP control panel I could browse plugins, etc, and then click an “install” button and have it download it via FTP and install it. This would just be cool.

How would you make WordPress more OOP like?

Tagged with: , ,
Posted in Programming

I’m a PC – Take That Apple

It is about time that Microsoft answers back to Apple’s “I’m a PC, I’m a Mac” commercials. The ironic thing is I am writing this from my MacBook Pro. Apple for so long started to take little jabs at Microsoft’s Windows. Their first commercials we’re pretty straight forward, but lately they’ve been getting more misleading. Here is an example:

Give me a break. Windows can come bundled with everything Mac does. The only real program I’ve been impressed with has been Apple’s Mail.app. Other then that, there isn’t anything super fantastic about their other programs. iTunes is terrible as it keeps crashing my iPhone and Laptop. Here is another one that it super misleading:

Okay… this one made me kinda upset. Yes, currently Apple’s Laptops might be out-selling other companies laptops. Thats comparing Apple individually to Compaq, HP, Sony, etc. However, if you counted the number of Apple OS X based laptops to Windows based laptops, windows would win. Lets not forget the reasons they sight? iSight? Almost any new Laptop comes with a built in web cam. Leopard? I know tons of people who don’t like it because its a different experience using it. Microsoft Office? I absolutely loath, let me repeat, loath Microsoft Office 2007 on the Mac. The interface is so much more complex and doesn’t benefit from the Windows Office’s face lift it got this last version. Bottom line, Apple confuses the viewer into being mislead by their statements.

I think Microsoft’s approach is much better than their original approach to their campaign. They’re calling Apple out saying their stereotyping Microsoft. I want to see if Apple produces another “I’m a Mac, I’m a PC” ad after these new ads.

Tagged with: , , , ,
Posted in General

Crisis on Wall St & Web Technologies

I ran across this video from Tim O’Reilly’s Twitter account on the Crisis on Wall St & Web 2.0 companies. While I hate media madness about the stock market and the economy, I liked the insight that these interviewees gave into their perspective. While many people are calling this a “Crisis on Wall St” I like to call it a “Crunch on Wall St.” Times are getting tough and its time for more sound investments. Those who have been investing cavalierly might get shot in the foot when all the hype surrounding several markets start to come crashing down.

Here are the major points I think stand out:

#1 – Recessions Weed Out the Good from the Bad

Several times the idea was said that this is a time where good companies with a good business model will survive and those without it won’t. I can see many weird, fluffy, odd web companies just dying out because their idea might be cool, but their business model doesn’t work. So many companies strive to get that investment money that they don’t know what they’ll do afterward with it. When money is tight, those companies that just don’t make sense will be left in the dust, and those companies with a sound business model will stand and benefit.

Lets look back at the “first” .com boom or “dot-com-bubble”. Hundreds, if not thousands of companies were created or joined in with Internet technologies. A hype was created around the “dot-com” companies and everyone was going to go big and get rich. Millions of dollars were invested and spent. The problem was all these companies were formed around an idea instead of a model. When things got tight, all the comanies who had nothing to show but the hype died off. The companies with a real business model like eBay, Amazon, etc. stuck around and are thriving today.

“Web 2.0″ is like dot-com-bubble 2.0. There is a lot of hype, a lot of investors, and ideas. Now things are tight and we’ll see which companies have a real model, and which can adapt, and which are fluff.

#2 – Lean Companies Will Do Well, Fat Companies Will Struggle

If a Web 2.0 company has grown it’s expenses along with it’s revenue, and are scaling appropriately, they are less likely to be affected, or at least not a severe. Companies with huge investors that have gotten “fat” with investor money could find themselves starving when those investors start to be more cautious. People are going to be more careful how they invest. It will be harder for a company that is shady to get money.

#3 – Survival of the those who Adapt

Some companies who are servicing large enterprises need to adapt to fit their needs. Web 2.0 technologies have the potential to be very affordable. Companies who adapt to their customers changing needs in this time of “crisis” or “crunch.” If a company isn’t able to adapt, they will likely face severe consequences.

#4 – Smart Companies will face Challenges, But Overcome

The overtone of each interviewed person was optimistic. They said there will be challenges, many and difficult. However, if a company is smart they will overcome these challenges. The real question is: is your company based on the bubble? Or is it a sound business model?

Posted in General

Palin’s Yahoo Account Gets Hacked

Today I opened my email and found a story about how Sarah Palin, the Republican VP Nominee, had her email account hacked. Here are some quotes:

On the heels of media reports that Republican vice presidential candidate Sarah Palin was using a private Yahoo e-mail account (gov.palin@yahoo.com) to conduct Alaska state business, hackers have broken into the account and posted evidence of the hijack on Wikileaks.

An activist group calling itself ‘anonymous’ claimed responsibility for the compromise and released screenshots, photographs and the e-mail addresses of several people close to Palin, including her husband Todd and assistant Ivy Frye.

Following the release of this story, both Sarah Palin’s better known account gov.sarah@yahoo.com and the gov.palin@yahoo.com account have been suspended or deleted as revealed by a test email sent to these addresses by Wikileaks. Although the reasons for the deletion of both accounts can not not yet be established, one interpretation is that Palin is trying to destroy her email records.

This story is a classic example of people not knowing the dangers of the Internet. People can be clueless as to how they have their stuff compromised. However, in this case, it is extremely dangerous for politicians. People “armed” with access to private materials, and I don’t care which politician it is, can be manipulated. There could be hundreds of emails that are fine, and just one email taken out of context could skew opinions.

The comment that irks me is “Although the reasons for the deletion of both accounts can not not yet be established, one interpretation is that Palin is trying to destroy her email records.” If you’ve know that your email accounts have been compromised, accounts that contain very personal and work related information, wouldn’t you want to prevent people from using it? This “one interpretation” makes it sound like Palin is covering her tracks, where as she might just not want the whole world prying into her life? Give me a break with all this alluding to cover up and conspiracy.

If Barack Obama had his email compromised, I’m sure there would be enough ammunition to attack him and make up stories of corruption. Only time will tell what will be posted about what was contained in her email account. Honestly, I doubt they found anything incriminating or they would have posted it already.

Tagged with: , ,
Posted in Technology

Web Design & The Cookie Jar: When Dealing with Clients

I saw this YouTube video and I couldn’t help but post about it. Here is the video, and I’ll add my thoughts at the end:

I’ve seen this happen so many times it isn’t even funny. You have a company with dozens of individuals giving their input on how something should be designed. As in the video, the end result is usually the same: a product that doesn’t accomplish it’s goal. This is what I call the “Cookie Jar” effect, when you have too many “hands” in the cookie jar.

The Problem

Each person involved in the situation has their own goals, ideas, and motives. When designing a company website, each person could easily say “I want to make sure my department’s product is on the front page!” The front page is also a huge breeding ground for debate, seeing as how each person wants a piece. However, if you try to cram each goal in, you’re going to get a very confusion result.

One example I like to use is ESPN. Now I don’t think ESPN’s web team is bad, I actually think with all the content they must serve and cover, they do a good job. However, if a regular company’s website looks like this, I don’t care who you are, your website needs help.

Where are my eyes suppose to look? Where am I suppose to go? ESPN’s entire front page is designed around the idea that visitors come very often, and they learn once how to get to their content. Once you “drill down” into the website, its navigation and content doesn’t because as over-bearing.

The Solution

The video hit the problem on the head without, even though most people would miss the concept. The #1 solution to preventing an over complex and useless product is: testing. Notice at the end of the video the people had came back and said after testing they wanted a few more changes? Why were they not testing from the very beginning? The entire message of “STOP” was lost due to conflicting goals and unclear direction. If they had make their original sign, tested, then made some alterations, tested, and continued on that cycle this whole problem would have been avoided.

I can’t stress this enough: if you find yourself or your project caught in continuous cycles of debating about how to do things, start user testing.

A book that I highly recommend is “Don’t Make Me Think! A Common Sense Approach to Web Usability” by Steve Krug. It talks about these principles and gives great examples. Hopefully next time you get in this situation it won’t be as big of a headache.

Tagged with: , ,
Posted in Programming, Web Design

Blog WordPress Theme Experiment – Grunge Style

So I if you looked at my website within the last few hours or so you might have seen a very different theme. It was a grunge like style. My goal was to try and use PNGs for different layering and styles. Evenually I wanted the background to dynamically change depending on a post’s categories and tags. However, I ran into some obvious drawbacks.

Here is a screenshot of the design:

It was a refreshing change to play around with from my previous web design work. However, I soon found my pages approaching 2-4 MB in size due too the large PNG files used to gain the transparent look. The problem is basically that a image with large dimensions is going to be a great deal larger than a GIF or JPEG. Of course you get the great alpha transparencies with PNGs, but to be sligly glutonous with dimensions can be extremely costly in file size.

I didn’t finish the layout, just the general parts, when I realized I had designed it all wrong. When I sliced up my images, I should have designed and planned to use jpegs or gifs for 99% of the design. That way I could just use PNGs for the very few times it was absolutely necessary. Seeing how I didn’t want to keep this design permanately I decided not to go back and fix it. I just reverted to my old theme.

If anyone is interested in how I did some of the styles, I’ve zipped up the PSD and Theme files for download. Feel free to use them as you see fit. I also relyed on this article for textures, fonts, photoshop brushes, etc. to use on this design.

Files

Tagged with: , , , , ,
Posted in Technology, Web Design

Dear Mr. Obama

I wonder how Obama would respond to this video:

Posted in General