Click here to close now.

Welcome!

Linux Authors: AppDynamics Blog, Roger Strukhoff, Carmen Gonzalez, Blue Box Blog, Pat Romanski

Related Topics: Eclipse, Linux, Open Source

Eclipse: Article

Product Review: Zend Studio for Eclipse

The professional version is currently in beta being test run by over 800 users and PHP developers all around the world

In my many years of programming, almost 20 years now, I have used countless Integrated Development Environments (IDEs). I have used them from a simple text editor all the way up to the high end IDEs that Sybase, IBM, and Oracle use.  In more recent years I have come to embrace the Open Source movement and more specifically development in web environments. My programming language of choice for web development these days is PHP, so it stands to reason that I would be looking for a decent or great IDE for its development.  Like so many other developers I too followed a path of looking for the Pinnacle of IDEs for PHP.  I started with basic text editors, then moved into text editors with code colorizations, and then into project based development environments, and finally to a fully robust IDE.  The one that I most recently was using was Zend’s Studio Professional and I have been using it for a few years now.
 
Zend has decided, and I think this is a great idea, to join in with the Eclipse community that was founded in large part by IBM a number of years ago. The values that can be added by joining with the Eclipse community are many and varied. Since Eclipse was primarily established as a Java development environment it has certainly grown in leaps and bounds by way of add-on libraries just to name one popular area.  Zend saw that this was a great place to cozy up to and has been developing a professional version of its PDT environment (released earlier this year) for over a year now.  The PDT version is its open source free-ware version of an editor IDE that is based on the Eclipse foundation materials.
 
This article will attempt to introduce you to the Professional version that will be released soon.  It is currently in beta being test run by over 800 users and PHP developers all around the world.
 
First Looks - Overview
 
The first thing that you will have to do after obtaining the software, naturally, is to install it.  Zend has ensured that Studio for Eclipse will work on all major operating systems, and this review will be covering its operation on the Windows platform.  The installation process is very straightforward and employs an install wizard approach. 
 
  

Figure 1 - One of Studio's Installation wizard screens [click on this link for the larger version]

Figure 1 shows one of the initial installation screens where you are to select some of the additional tool options that are also included. Once the installation is completed and you start up the application you will be presented with the default PHP perspective, shown here as figure 2.

 


Figure 2 - Studio's default PHP Perspective [click on this link for the larger version]

Take some time to look at Figure 2 to get yourself familiarized with the layout.  Those who are seasoned users of Eclipse should not be seeing too many surprises here just the content and the context will be different.  There are a few “views” here that are used in the initial perspective that are meant to aid the developer with PHP code development.
 
The first view to look at is in the top left corner of this figure. This is the PHP Project Explorer. Here you can manage all the files and associations that are related to a single project.  The great thing about this view is that you can manage more than one project at a time and therefore draw on code or techniques that you may have used in other projects. One other thing that I like a lot here is the “Link with Editor” toggle on the project view’s toolbar (  ) it allows the developer to connect the editor with any file in the project, so that once the file gains focus in the project explorer it is automatically opened in the code editor window on the left.  As I mentioned this is a toggle, so it can be turned on and off at the developer’s discretion.
 

The Code Editor

Also notice in Figure 2 that the main view in the figure is that of the code editor, briefly mentioned above.  This is where you will be doing most of your code development. The Code editor view has many little features that become very valuable over time. This is a tabbed interface, so you can effectively have as many open code files as you like.  Some of the valuable features that were alluded to are: code colorization, code folding, and syntax checking. You can see what the code colorization is doing in this figure, the HTML directives are in green, the PHP functions are in blue, PHP variables are in red, and so on. This certainly helps the developer to see if a variable is misnamed or a function misspelled. The next feature that I mentioned is code folding.  Notice that to the left of the function definitions and the major HTML directives like <Table> and <Body> there are little plus and minus icons.  When clicked they toggle between collapsing or expanding code. This lends itself to temporarily moving code out of view that you do not want to see in order to focus on other sections. This does not delete the code it just “folds” it out of the way for you. Lastly, syntax checking, this is the Studio’s ability to check your code as you write it and make sure that you have complete code “thoughts”.  It lets you know when you have mismatched braces, incorrect function calls, misnamed variables, and so on. Also, part of this syntax checking will be preformed within the collection of smaller views at the bottom of this perspective.  Another tabbed interface shows a collection of code issues, what type they are (warning or error), and what line in the code they are found in.  The tab can also be seen in Figure 2 labelled “Problems”
 
Those are just a few of the features that Studio for Eclipse has to offer. One of my favourites is that of code completion.  This is the editor’s ability to suggest the completion of the code that you are writing. It happens as you type and is quite intuitive. As shown in figure 3, I am typing the beginnings of a MySQL PHP function, but all I have typed so far was “mysql_” the popup box displays with the functions that studio knows about that would complete what has already been typed, and just pressing enter will choose the first item on the list of suggestions and insert it into the editor for you. You can select other offerings from the list with your mouse pointer and double-click on it to choose it for insertion.


Figure 3 - Code Completion in Studio [click on this link for the larger version]

 
Debugger
Another big aspect to Zend’s Studio for Eclipse is its full-featured debugger.  This is one of the best debuggers that I have seen in a long time. Figure 4 shows a sample program in debug mode in the PHP Debug Perspective.  There are many views here that are supporting the debug process. In the middle of the top pane you can track your variables, breakpoints, and parameter stack. To the right of that is a view that holds the outputs of the debugger in both HTML and browser-rendered format. Then showing in the middle pane is the code that is being traversed with the debugger, so you can see the code as it is being executed. 
 



Figure 4 - Debug session in Studio [click on this link for the larger version]

If you can see the mouse-pointer in figure 4 it is pointing to the toolbar items in the debugger that help you navigate through a debugging session. Here you can step into, over, or through (to the cursor) your code as you are looking for the problems in your application. Having the ability to stop you code at certain stages of execution and inspecting values can be very valuable indeed.
 

Preferences
The plethora of options that control how the Studio works is huge!  If you select the preferences option under the window menu you will be presented with the dialog that appears in figure 5. Here you can change the default behaviour of almost every aspect of this IDE.  From the editor to the SQL connections to the Internet settings it’s all here. Specifically shown in figure 5 are the options that you have for altering the syntax colorization for the PHP code. Since there are so many options for you to choose from be sure to only change one or two features at a time so that you can see what the alteration really does, and so that you don’t have so many changes to roll back that you forget which option enacted the change that you really wanted.

 
 

Figure 5 - Zend Studio for Eclipse Preferences Dialogue  [click on this link for the larger version]


SQL Connections

Studio for Eclipse also has a very nice SQL Perspective where you can interact with any local or remote data source.  As exampled in figure 6, I have a local MySQL data source selected in the left pane, the Data Source Explorer, with some executed SQL select statements run in the lower central portion of the screen. On the lower right is the display of the results of the most recently executed SQL command, and at the top is a SQL editor file where you can write your own more complex SQL commands to be executed.
 
This SQL interface has many features and options as well.  In the Data Source Explorer there are a number of options presented to you when you click the right-mouse button. You can even edit the data in a table directly within this perspective.
 


Figure 6 - SQL Perspective for database manipulation [click on this link for the larger version]

Code Gallery

One other feature that is great from the team development point of view is the code gallery that Zend has implemented into Studio for Eclipse.  This is a two-pronged repository of tried and tested code snippets that can be used repeatedly in multiple projects. The idea is that you can come up with some great code segments and then save them into this gallery for others to use. Figure 7 has a screen shot of an entry being made into the gallery.  Once you have a library of code to draw from you can open its defined view and simply click on the ‘insert’ button on its tool bar to insert the code at the current location of your cursor within code that you are developing. 
 
The second prong of this code gallery is that Zend has a global gallery where they have collected some of the best code ideas from the PHP community.  With your Zend username and password you can access this repository and use the code in your own projects. As well, if you come up with a great segment of code on your own, you can also ‘suggest’ it to the Zend gallery, and upon review it may be included into Zend’s gallery for all the world to peruse.
 


Figure 7 - Studio's Code Gallery list and interface [click on this link for the larger version]

Summary

Zend’s Studio for Eclipse has many more features that I have not mentioned here.  Following is a brief list just to mention what else is in store for you.  
  • Zend Framework Integration
  • CVS file management
  • FTP/ SFTP connection
  • WYSIWYG editor
  • Zend Platform Integration
  • Code Refactoring
As I mentioned in the opening paragraphs I have been looking for the perfect IDE for many years and have experienced many different stages of their incantations.  Zend Studio for Eclipse is young and un-seasoned as of yet, but I think it will definitely be in the running for a top icon spot on my desktop and will be used on a regular basis as I continue my development journey with PHP.  As Studio for Eclipse matures and versions 2 and 3 show up over time I am sure that Zend will be continually adding features to it, so it can only get better.
 
Footnote: Zend has just announced a public beta for this product at: http://www.zend.com/products/zend_studio/eclipse so if you are interested in getting this IDE and trying it out, this is the best opportunity to do so right now.
 

More Stories By Peter MacIntyre

Peter MacIntyre lives and works in Prince Edward Island, Canada where he has been in the IT business for over 18 years. Peter and co-author Ian Morse are nearing the completion of a guidebook for Zend Studio for Eclipse soon to be published by Pearson Publishers. Peter’s website is: http://www.paladin-bs.com

Comments (2) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Dan Chase 10/24/07 05:36:31 AM EDT

Peter, thanks for the overview. As I too have been a long time user of Zend Studio, and have recently switched to using PDT I was hoping for some more comparison between the three products. The one item in your review that I was reminded of that was Zend-specific was the Code Snippets. Have you done a feature-to-feature comparison of them? I was thinking of writing an article for php|a with that focus, but I think you've beat me to the punch with the core information! I've download Neon and have worked with it some over the past week, but found one inconvenience that is holding me back. All my current projects are in PDT and I have been using the Subclipse plug-in and I find that Neon uses Subversive. I have to create *new* repository connections to use it with the same checked-out code. A minor issue, but from my reading of Subclipse vs. Subversion comparisons, I'm leaning toward staying with Subclipse. On a related note, have you experimented with adding other Eclipse plug-ins with Neon?

Thanks for the article, and any feedback you can provide would be great! Maybe content for a follow-up article...

Endzoner 10/16/07 08:47:55 AM EDT

Great review Thanks peter!!

@ThingsExpo Stories
SYS-CON Events announced today that Cloudian, Inc., the leading provider of hybrid cloud storage solutions, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. Cloudian, Inc., is a Foster City, California - based software company specializing in cloud storage software. The main product is Cloudian, an Amazon S3-compliant cloud object storage platform, the bedrock of cloud computing systems, that enables cloud service providers and enterprises to build reliable, affordable and scalable cloud storage solu...
SYS-CON Events announced today that Gridstore™, the leader in hyper-converged infrastructure purpose-built to optimize Microsoft workloads, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. Gridstore™ is the leader in hyper-converged infrastructure purpose-built for Microsoft workloads and designed to accelerate applications in virtualized environments. Gridstore’s hyper-converged infrastructure is the industry’s first all flash version of HyperConverged Appliances that include both compute and storag...
Temasys has announced senior management additions to its team. Joining are David Holloway as Vice President of Commercial and Nadine Yap as Vice President of Product. Over the past 12 months Temasys has doubled in size as it adds new customers and expands the development of its Skylink platform. Skylink leads the charge to move WebRTC, traditionally seen as a desktop, browser based technology, to become a ubiquitous web communications technology on web and mobile, as well as Internet of Things compatible devices.
SYS-CON Events announced today that IDenticard will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. IDenticard™ is the security division of Brady Corp (NYSE: BRC), a $1.5 billion manufacturer of identification products. We have small-company values with the strength and stability of a major corporation. IDenticard offers local sales, support and service to our customers across the United States and Canada. Our partner network encompasses some 300 of the world's leading systems integrators and security s...
“With easy-to-use SDKs for Atmel’s platforms, IoT developers can now reap the benefits of realtime communication, and bypass the security pitfalls and configuration complexities that put IoT deployments at risk,” said Todd Greene, founder & CEO of PubNub. PubNub will team with Atmel at CES 2015 to launch full SDK support for Atmel’s MCU, MPU, and Wireless SoC platforms. Atmel developers now have access to PubNub’s secure Publish/Subscribe messaging with guaranteed ¼ second latencies across PubNub’s 14 global points-of-presence. PubNub delivers secure communication through firewalls, proxy ser...
SYS-CON Events announced today that On the Avenue Marketing Group, a sales and marketing firm that utilizes events to market and sell products to consumers, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. On the Avenue Marketing Group (OTA) is a sales and marketing firm that utilizes events to market and sell products to consumers. On behalf of our clients, we attend thousands of fairs, festivals, expos, concerts, conferences, and sporting events annually, helping them reach millions of individuals ...
Containers and microservices have become topics of intense interest throughout the cloud developer and enterprise IT communities. Accordingly, attendees at the upcoming 16th Cloud Expo at the Javits Center in New York June 9-11 will find fresh new content in a new track called PaaS | Containers & Microservices Containers are not being considered for the first time by the cloud community, but a current era of re-consideration has pushed them to the top of the cloud agenda. With the launch of Docker's initial release in March of 2013, interest was revved up several notches. Then late last...
“In the past year we've seen a lot of stabilization of WebRTC. You can now use it in production with a far greater degree of certainty. A lot of the real developments in the past year have been in things like the data channel, which will enable a whole new type of application," explained Peter Dunkley, Technical Director at Acision, in this SYS-CON.tv interview at @ThingsExpo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
Health care systems across the globe are under enormous strain, as facilities reach capacity and costs continue to rise. M2M and the Internet of Things have the potential to transform the industry through connected health solutions that can make care more efficient while reducing costs. In fact, Vodafone's annual M2M Barometer Report forecasts M2M applications rising to 57 percent in health care and life sciences by 2016. Lively is one of Vodafone's health care partners, whose solutions enable older adults to live independent lives while staying connected to loved ones. M2M will continue to gr...
SYS-CON Media announced today that @WebRTCSummit Blog, the largest WebRTC resource in the world, has been launched. @WebRTCSummit Blog offers top articles, news stories, and blog posts from the world's well-known experts and guarantees better exposure for its authors than any other publication. @WebRTCSummit Blog can be bookmarked ▸ Here @WebRTCSummit conference site can be bookmarked ▸ Here
SYS-CON Events announced today that Ciqada will exhibit at SYS-CON's @ThingsExpo, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. Ciqada™ makes it easy to connect your products to the Internet. By integrating key components - hardware, servers, dashboards, and mobile apps - into an easy-to-use, configurable system, your products can quickly and securely join the internet of things. With remote monitoring, control, and alert messaging capability, you will meet your customers' needs of tomorrow - today! Ciqada. Let your products take flight. For more inform...
SYS-CON Events announced today that GENBAND, a leading developer of real time communications software solutions, has been named “Silver Sponsor” of SYS-CON's WebRTC Summit, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. The GENBAND team will be on hand to demonstrate their newest product, Kandy. Kandy is a communications Platform-as-a-Service (PaaS) that enables companies to seamlessly integrate more human communications into their Web and mobile applications - creating more engaging experiences for their customers and boosting collaboration and productiv...
Dave will share his insights on how Internet of Things for Enterprises are transforming and making more productive and efficient operations and maintenance (O&M) procedures in the cleantech industry and beyond. Speaker Bio: Dave Landa is chief operating officer of Cybozu Corp (kintone US). Based in the San Francisco Bay Area, Dave has been on the forefront of the Cloud revolution driving strategic business development on the executive teams of multiple leading Software as a Services (SaaS) application providers dating back to 2004. Cybozu's kintone.com is a leading global BYOA (Build Your O...
The best mobile applications are augmented by dedicated servers, the Internet and Cloud services. Mobile developers should focus on one thing: writing the next socially disruptive viral app. Thanks to the cloud, they can focus on the overall solution, not the underlying plumbing. From iOS to Android and Windows, developers can leverage cloud services to create a common cross-platform backend to persist user settings, app data, broadcast notifications, run jobs, etc. This session provides a high level technical overview of many cloud services available to mobile app developers, includi...
SYS-CON Events announced today that BroadSoft, the leading global provider of Unified Communications and Collaboration (UCC) services to operators worldwide, has been named “Gold Sponsor” of SYS-CON's WebRTC Summit, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. BroadSoft is the leading provider of software and services that enable mobile, fixed-line and cable service providers to offer Unified Communications over their Internet Protocol networks. The Company’s core communications platform enables the delivery of a range of enterprise and consumer calling...
While not quite mainstream yet, WebRTC is starting to gain ground with Carriers, Enterprises and Independent Software Vendors (ISV’s) alike. WebRTC makes it easy for developers to add audio and video communications into their applications by using Web browsers as their platform. But like any market, every customer engagement has unique requirements, as well as constraints. And of course, one size does not fit all. In her session at WebRTC Summit, Dr. Natasha Tamaskar, Vice President, Head of Cloud and Mobile Strategy at GENBAND, will explore what is needed to take a real time communications ...
The IoT Bootcamp is coming to Cloud Expo | @ThingsExpo on June 9-10 at the Javits Center in New York. Instructor. Registration is now available at http://iotbootcamp.sys-con.com/ Instructor Janakiram MSV previously taught the famously successful Multi-Cloud Bootcamp at Cloud Expo | @ThingsExpo in November in Santa Clara. Now he is expanding the focus to Janakiram is the founder and CTO of Get Cloud Ready Consulting, a niche Cloud Migration and Cloud Operations firm that recently got acquired by Aditi Technologies. He is a Microsoft Regional Director for Hyderabad, India, and one of the f...
The 17th International Cloud Expo has announced that its Call for Papers is open. 17th International Cloud Expo, to be held November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA, brings together Cloud Computing, APM, APIs, Microservices, Security, Big Data, Internet of Things, DevOps and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit your speaking proposal today!
WebRTC is an up-and-coming standard that enables real-time voice and video to be directly embedded into browsers making the browser a primary user interface for communications and collaboration. WebRTC runs in a number of browsers today and is currently supported in over a billion installed browsers globally, across a range of platform OS and devices. Today, organizations that choose to deploy WebRTC applications and use a host machine that supports audio through USB or Bluetooth can use Plantronics products to connect and transit or receive the audio associated with the WebRTC session.
What exactly is a cognitive application? In her session at 16th Cloud Expo, Ashley Hathaway, Product Manager at IBM Watson, will look at the services being offered by the IBM Watson Developer Cloud and what that means for developers and Big Data. She'll explore how IBM Watson and its partnerships will continue to grow and help define what it means to be a cognitive service, as well as take a look at the offerings on Bluemix. She will also check out how Watson and the Alchemy API team up to offer disruptive APIs to developers.