
If you feel like you have outgrown your current text editor or are wanting to try out a new IDE, I’d like to recommend NetBeans.
After using TextPad for a few years, we realized that the codebase of our main project became too complicated and too extensive for it. We felt like our programmers were losing productivity because the main tool in their holster (the IDE) was not right for the job anymore.
After cutting down a few more trees with a pocket knife we decided that it was time for a change. In our quest to find the perfect IDE – fast, scalable and helpful we’ve tried out many products on the market.
Some of them were good while other left much to be wished for. The solution we found seemed to fit most (if not all) of our needs.
NetBeans actually refers to a platform for Java applications and an integrated development environment. The IDE comes in many flavors targeting different development environments from Java SE to Apache Tomcat.
The PHP bundle is free to use, around 25MB and has been dual licensed under the Common Development and Distribution License (CDDL) and the GNU General Public License version 2 with Classpath exception.
One of the best things about this IDE is its UI. All of the toolbars can be docked, closed or minimized depending on your display preferences. Minimized toolbars will helpfully spring open when you mouse over them and hide again once you click off of them.
The toolbars themselves are very helpful. Some of our favorites are the navigator which lists all variable and function definitions in one place so you can quickly jump (all it takes is one click) to that function with a generic name that would otherwise take forever to find using a regular search.
The projects toolbar helps you keep all of the different projects’ files in check by creating a separate file tree out of every project. The tasks toolbar will help you never again forget to finish that new function and replace the fateful “//TODO: finish this function” with actual logic that doesn’t bring the whole server as well as your boss’ wrath down upon you.
The IDE is fairly fast although after running it non-stop for a long period of time (5+ hours) it does seem to chew up a lot of memory. Make sure you turn on the memory toolbar so you can manually force the application to do memory garbage cleanup by clicking on the toolbar.
This is probably the only bad thing we found about NetBeans. The IDE did, however, process all types of files very fast. There’s no delay ever between opening a file and being able to edit it.
Some other solutions we’ve tried had no trouble opening our biggest PHP class files but choked when opening some of our medium sized PHP library files.
NetBeans is fully customizable. You can make it look exactly the way you want it by specifying every size, font, color and special effect for just about any text category you can think of (identifier, keyword, plain text etc.) and any file type you could use.
You can setup code templates which are basically phrase shortcuts that automatically expand into a block of text when you type them and hit a designated key. Let’s say you have a class skeleton you always use when setting up new classes. Now you can give it a name (i.e. newClassSkele) and save it into a code template.
The next time you’re making a new class, just create the file, type in newClassSkele, hit a special key (tab/space/enter/shift+space) and voila, the code is put into your file for you instantly. You can also easily setup and edit macros.
And the best part of it all is that you can then export everything you’ve setup including code templates, macros and fonts & colors and import them on a different computer so all of your work environments are synced.
The IDE also has all the cool features that are standard nowadays such as code folding, code completion, bracket matching etc. It can also be used as an FTP program to make working on remote files easy as cake.
Add all that to a slew of plugins available and you get a wonderful product that can make any programmer’s life much, much easier (and more efficient).
Even if you’re pretty happy with your current IDE, give NetBeans a try because as a good developer you should never stop trying out new things and looking for tools that make you better at what you do; and hey, let’s face it, at the incredible price of $0 it’s truly a crime to pass up such a great product that has pretty much everything you will ever need.
Have you tried Netbeans? What was your experience with it?
I fooled around with NetBeans before I had a better understanding of how PHP worked, so little was accomplished at that time. Now that I understand it more, I have found Eclipse to be a great IDE. I’m more than happy to give NetBeans another try if it has more to offer than Eclipse.
I’ve used both NetBeans and Eclipse but have found that the latter doesn’t handle large library files very well. I had lots of trouble with my computer freezing at random times when using Eclipse on our main codebase that still has some ancient lib files in it. I do use Vista x64 though, so it’s hard to say who the real culprit is.
After using both I also found that NetBeans had an easier learning curve. Eclipse’s UI just didn’t seem quiet as intuitive to me.
I am using daily both NetBeans 6.8 and Zend Studio 5.5 and i have to say that NetBeans is no where near Zend Studio in terms of performance. In my opinion this is the biggest NetBeans disadvantage (plus that it is written in Java).
It also crashes once in a while (Linux version), not only nightly builds but M1 as well.
As for the functionality it is probably the best PHP IDE out there, built-in support for: Continuous Integration, PHPUnit, symfony and awesome code completion.
The problem with Zend is that it’s not free.
AFAIK, Zend Studio is also a Java app.
Zend Studio is faster and more stable than Netbeans ? I didn´t use the 5.5 Zend Studio Version for a while but with Zend 6 or 7 i had lot of crashes and performance problems. However both IDE´s are no heroes in Performance and Stability.
For me Advantage in Netbeans is it´s free and i like the UI more.
Zend studio is Eclipse based app, works as Java app and is too bugy to use as primary IDE. Zend studio is no comparison to Netbeans. One thing Netbeans is lacking – remote files management via FTP/SFTP (Dreamweaver is the best here)
Netbeans does support FTP/SFTP though, including Upload/Download You can even create a new project from an FTP/SFTP source. But I agree it doesn’t have the syncing functionality or remote browsing features of Dreamweaver.
OTOH it doesn’t wreck your files like Dreamweaver. You don’t need to implement remote browsing at the app level – look at FUSE to make pretty much any remote service look like a local disk.
While NB may not have the performance of Zend Studio, it also costs £400 less…
Can it handle other formats like regular HTML and CSS well?
Yes it handles lots and lots of file formats other than PHP. CSS, HTML and JavaScript are the ones I most commonly deal with.
CSS files are nicely color coded and offer cool features like bracket matching, attribute name auto complete and attribute value auto suggestions.
HTML files are color coded as well. Matching elements are highlighted for you when you click on them which comes in very handy if you have a lot of nesting going on in your code.
JavaScript files offer syntax highlighting, bracket matching, local and global variable name auto completion and more.
The support for HTML and css is pretty good. Only the Smarty (.tpl) editor is not good – in the moment.
Checkout the new code formatting options in the dev builds for 6.9: Perfect!
Yes, a very good CSS handling: http://blogs.sun.com/netbeansphp/entry/css_code_completion
br, josh.
I haven’t tried it but I think I might give it a shot. I have been using Textpad the last few years and have been looking for something else.
I’d highly recommend it. I still use TextPad whenever I have to make a really quick tweak to a client’s site, but when I’m working on new features or making any kind of major changes I always go with NetBeans.
I’ve been using Netbeans as my main IDE for 3/4 years now. I find it a pretty decent IDE. Yes it can be a little slow at times, but it’s certainly faster than its main competitor, Eclipse, which is slow regardless of the OS it’s running on. I like the fact that Netbeans supports most of the other languages I code in, such as Python, Java, C etc. I also find the SVN plugin so much nicer to use than the eclipse equivalents
Good point about the repository integration. We use CVS for our development and NetBeans integrates with it seamlessly. You can do pretty much anything from adding new files to committing your changes to comparing changes of every version of a certain file ever committed all from one place.
The only problem I found with the SVN integration is that it is slow as heck. Seems to connect to the repository for everything instead of checking locally for changes. I still find myself using command line for a lot of things because of this.
I haven’t had the chance to use their SVN integration but our company is switching to SVN from CVS in the coming weeks so I guess I’ll get to check it out first hand pretty soon.
Our Subversion integration is pretty good, please take a look at this guided tour: http://netbeans.org/kb/docs/ide/subversion.html
Yes, the SVN query is slower than other solutions, but much faster than CVS.
If it does not fit your needs, give hg a try: http://wiki.netbeans.org/MercurialVersionControl
br, Josh – NBDT Member
I have also switched to netbeans about 6 months ago and find it excellent. Netbeans has some really nice features when using oop style of programming, suggest and autocomple from your libary path, very nice functions for finding e.g. usage of a method or a funtion. It also read you methods and functions documentaion, and if a code base grows big, then this is a good thing. When writing new code you can read your phpdoc notes and easy remember what you did some months ago. It also is good at highlighting syntax even when you mix html and php a lot. I don’t remember it has crashed yet (ubuntu / gnome desktop), and it is the main tool I’ve been using the last six month. So far no problems at all
NetBeans has a lot of features that really help you deal with really large code bases. One of my favorites is the ability to CTRL+Click on a function name pretty much anywhere in the code and instantly jump to that function’s definition in the appropriate class file.
I have been using Netbeans for years now, it closely compairs with Eclipse, but has some extra garnish that puts it above the rest. PHP + Netbeans = golden. So many features that I have not even tapped into yet, and so many ones I have newly found, IE: Version Control w/ Mercurial, Automatic FTP on save, and better syntax highlighting.
Try Netbeans. She’s heavy, but worth it.
I was using Komodo IDE for my websites even it’s slow as hell, and crashes all the time, I had to use it because of the CakePHP addon, but when I read this article http://bakery.cakephp.org/articles/view/model-based-code-insight-and-completion-in-netbeans I switched back to Netbeans which is a lot faster, and has a much more beautiful code completion with the integration help display, the only thing that it lacks is the support for smarty
I haven’t worked much with smarty templates so I’m not sure how well they work with NetBeans. The IDE doesn’t have native support for them.
There is a plugin for smarty templates at http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=15679 although I don’t know how good it is.
And as Mike Küster mentioned above, you can checkout the 6.9 dev builds to see how smarty templates will be handled in the near future.
I have been using Aptana for about 2 years. Recently they announced that they were dropping development support for their PHP plugin and were going to use pdt instead. The sudden nature of this decision, along with some of the ‘Aptana Cloud’ marketing integration into the interface, left me feeling far less love for Aptana. After increasingly regular program freezes I decided to give Netbeans a try.
I was not expecting that much, but I have really been blown away by the ease of setup and use. There are sensible plug-ins installed, and installing new ones is not the mad maze of repositories and seemingly senseless options that Aptana (and Eclipse, as Aptana is based upon Eclipse) force you to navigate.
I do miss the subversive plug-in with its repository browser (haven’t found an easy way to just browse an external SVN repository in Netbeans), and it is missing some options like SVN cleanup. But perhaps I just haven’t found them yet.
They even map Eclipse shortcuts to Netbeans in one of their pre-configured profiles.
Overall, I love the speed and efficiency of this IDE. Just concerned for its future with Oracle taking over Sun…
You can’t be sure of the future of NetBeans, but Oracle did say that “…NetBeans is expected to provide an additional open source option and complement to the two free tools Oracle already offers for enterprise Java development…”. If they stick with what they’ve said so far, there shouldn’t be any need to worry.
We have big commitments from Oracle (Ted Farrell) to the NetBeans IDE and Platform. And NetBeans is free and Open Source(under GPLv2 w/ classpath exception and CDDL).
Please have no fears about using NetBeans on this thoughts
br, Josh.
NetBeans PHP plugin will be pretty cool if it has a php/html visual design interface like dreamweaver. Just the way it has for java. one can design and code php in it. But it dosnt. you only write codes with.
However its coool
Why would you want a WYSIWYG? You should never need a visual editor with your code…
I’ve played with ASP before and the IDE I was using had a visual editor built in.
At first it seemed unnecessary but after using it for a little bit I got used to it.
WYSIWYGs like that would be useful for very quick, small scale projects that don’t have much logic to them. Once you start getting into more advanced stuff that involves combination of HTML, PHP, JavaScript, AJAX, jQuery, etc. I find that hand writing code is the way to go. When you get to that point, visual editors tend to hold you back because they are unable to deal with the complex relationships between many different technologies.
Hi Paul!
For small projects and prototyping WYSIWYG should fit your needs. But if the project is growing you get problems about the limitations of any visual guided tool. A visual editor allows only the features that had made the programmers. Not more.
A text editor allows whatever skills you have.
And this is the problem about WYSIWYG editors. The NetBeans developers doesn’t know enough about the skills and wishes from any developer around the world. Any user want more an more features and the editor is growing into a big monster of invisible features and bugs (like our visible editor for Java Server Faces)
Currently we have not enough people to develop a visual editor or bring a visual editor into a stable state. And the QA team wont have broken things in NetBeans. That is why NetBeans is also so nice stable.
I hope the other textual tools and wizards are fit your needs. And take a look into this new blog entry: http://blogs.sun.com/netbeansphp/entry/code_completion_for_colors_in
The PHP part is in very active development.
br, Josh – NBDT Member.
I have used Netbeans since 2002 (when it was in version 3.0) and I have to say it is the best multi-language IDE out there, free or not. When it comes to finding the perfect IDE to manage all your Java, C++, PHP/HTML/CSS work then there is no comparison.
Eclipse does not have the wealth of support features and in my view is slower and not designed as well, also the code completion is pre-historic compared to what is available in Netbeans.
Zend is a great IDE, but it is super expensive when you consider Netbeans has more functionality (ever so slightly slower, but unnoticeable on a 4GB Dual Core Windows Vista Laptop), and arguably still better code completion(as you can write custom rules, to personalise the code-completion responds).
I’d advise everyone to give it a go at least, I’m sure you will reap the benefit of a very well designed and laid out IDE with oodles of support functionality. I don’t think I would be lying when I say it will improve your efficiency at writing an application as the code-completion is so good!
And the point about HTML/CSS wysiwyg, they have a CSS previewer, that shows the format of the current CSS block you cursor is over. Not sure if they’ll ever offer HTML wysiwyg, but really who needs it? The only real way to validate design is by a full browser check, and you should know your CSS/HTML well enough not to know how its going to look!
I’ve been using Netbeans since about 6.2 after I moved over from Aptana. As I run 64bit Linux as a desktop, I am precluded from using some IDE’s, and having tried Eclipse (another Java based IDE) was a little worried about slow performance. But it has to be said I’ve never looked back. Code handling is excellent, both in PHP, Javascript (and jQuery specifically), XHTML, XML and XSLT (via a plugin).
The FTP client is getting better, though still slow compared to Filezilla, and SVN support is good, though where is the native Git support?
The team seem to respond well to feedback, have a positive roadmap for future development, seem very pro-PHP (Python support is supposed to be good too, though I’ve not tried it yet – every year same thing, must make time to learn Python properly!)
Unless your in the fortunate position to have a generous boss who will shell out for Zend Studio, I’d totally recommend this as the IDE of choice for PHP developers.
For big projects Netbeans has been my choice over Eclipse, exception made with BPEL and BPMN related stuffed.
Upgraded with the jvi plugin, is almost a golden hammer.
I made the switch from Aptana and I’m pretty impressed.
Not sure about git integration. There is a plugin under development: http://nbgit.org/ but I haven’t found a good programming workflow integrating with source management yet.
It seems that mercurial integration is nice and also the integration with kenai.com. But I haven’t found out how to best use any version control system from within Netbeans.
There is a blog from one of the developers, especially for Netbeans and php: http://blogs.sun.com/netbeansphp/
TextPad??! I wonder do you use it!, I think emcas or any DOS-like tools is better.
,
You should’ve used Aptana, PDT before, Geany, or another better soln.
But now no choice other than NetBeans, It rocks in 6.8
I switched to it since 6.7.1 as a PHP/CSS/XHTML/JavaScript+jQuery developer.
When I used netbeans, the biggest issue was it always crashing. It’s a great IDE though, and free!
I am now using Komodo (not free) which IMO is the best IDE I have used. There is a free version of Komodo for Mac if that’s your thing.
I’ve used BBEdit for a long time, and it’s still my favourite editor, but I wanted an IDE for OS X. I tried out Eclipse/PDT, and that was just a disaster, horribly slow, terrible cryptic UI – you seemed to need to know Java to write PHP! Its jack-of-all-trades language independence means that it never seems to ‘speak’ a language natively – it’s like reading output from google translate!
I then tried NetBeans and found it much better, however, I found I always needed to be running nightly builds to get away from annoying bugs. Smarty support was pretty bad ( I don’t know if it’s improved since). The PHPUnit and coverage support in NB is truly excellent. I never managed to make the debugger work properly. The editor not supporting line wrap is a bit silly.
I tried out Komodo’s free editor, but that’s not really a full IDE.
Since then I’ve moved on to JetBrains’ WebIDE/PHPStorm and I’m finding that much better, and improving rapidly. PHPUnit is supported, Smarty works well, and it has Zend framework support, PHP 5.3, CSS editor and lots more. It’s still not perfect, but it’s it’s definitely my IDE of choice on OS X now.
I use NetBeans for about a year now (v.6.8) and all work well so far. Few comments, though:
1. It is slow with multiple large projects (I use Drupal and add it as a project for every job I do)
2. It doesn’t allow me to use local SVN or CVS installed and configured in my Windows PC (TortoiseSVN and CVS). No way to set it up – it doesn’t understand local path.
Becides, I like code completion features and other PHP editor shortcuts – works very well.
Hi!
But with svnserve (and it’s possible to install svnserve as a windows service) svn://localhost/ … should work.
And please note: a local path access under windows needs this pattern: file:///X|/path/to/repos (not file:///X:/path…) – But I’ve never tested local path access with NetBeans. I use svnserve.
br, josh.