Spiga

Netbeans review

by Gabi Solomon

There seems to be quite a few talks about netbeans these days. A lot of people blogged about it and sayd its the next big thing or something. I personally tested it a while ago, like 4-5 months i think, i dont remember exaclly what made me drop it so i said i must try this new version to see what all the fuss is about.

Now before i start, i want to give you a heads up :) . I am a big fan of zend studio, (am using 5.5, hate the 6 series) and all its features, so when i test a new editor i tend to compare it to zend. I know its not free and it really inst the cheapest editor, but i was lucky enough (or good enough, if i wasn’t this modest) to win it as a prize at the Innovation Award on phpclasses.com.

Now back to NetBeans.

The first thing u should know is that its free. And this always counts as a big plus for any software.

As far as the interface is concerned, i like very much. Its very intuitive and simple to use. You have the general layout with projects on the left, content editor with all the basic features: tabs, sintax highlight, php code assist.
The first plus for netbeans would be the support for html, css, javascript and all the major javascript frameworks. Wich for some people count very much. This is something i admit i miss in Zend. There is a small support for html but that is it.

Another cool feature are the snippets (they caled them templates), this is when you tipe in class and it can automplete a basic class code for you. This templates can be edited so you can add any code snippet that u use very often here for faster writing.

I found that it has the functionality i didnt find in other editor except zend before. Things like :
- code assist for you own functions and classes
- really good code folding (some IDEs tend to get confused and have bad code folding)
- opening the file that contains the function/method on CTRL+click on the name (or any mouse + keyboard combination)

via http://codeutopia.net/

via http://codeutopia.net/

Altough some might disagree about the importance of these functions, i think they are crucial when working on big projects. I tend to forget where a function is on my projects after a while of not working on it, much more when it comes to projects running a script that is not coded by me. So the persons that don’t think that is necessary … try modifying lets say a magento powered store. Lets see how you find where a function is declared, and how much time you loose on this task.

So all these put together really made me think of switching to netbeans.
So i really gave it a try and started to use it to code a project.

I found that it is really great to work with, and personally it seemed a little faster then zend on loading times (sometimes zend would freeze a little on ALT+TAB).

Also found new features that i didn’t find in Zend, that really were nice to have:
- Refactoring ( you can rename a variable or a method in your class and it gets renamed whereever its used in your project )
- ToDo list ( it has a small tab where it parses the files for TODO comment lines and shows them in that tab)
- phpdoc comments code assist
- a really nice debuger that integrates with Xdebug
- code assist offers a link to php website for the php functions
- support for CVS, Subversion and Mercurial

The bad side

At this point i was 95% convinced of switching to netbeans. But then it let me down. The Ftp support really sucked. This is another must have feature for me.
I am used of working on remote servers, dont really enjoy working localy. So i want a verry good FTP client in my IDE. I enjoy the way Zend has done it. You just add a ftp server and your done … you can edit the files at will as if they were localy, you dont care how he downloads them makes the a temporary file etc. As soon as you hit Save the files gets uploaded to the server.

The way that netbeans does it is by downloading all the files localy at first, work on them locally and when you hit RUN in the IDE the ones modified gets transferred to the server. Wich might work when your developing a project on your own … but when you develop with a team its just not going to work. Or even if your alone, but you just want to do some quick modification to a website that is online, its going to take a while to setup the project in netbeans.

I found a workaround to this problem, you could use an automatic syncronization tool like Fling to do the synk between the files online and the ones locally. But you must be carefull how you setup it so you don’t overwrite others coworkers modification on the project.

Another smaller issue in netbeans is the file path. If your working on a file it doesnt show you the path of that file. So you dont know on wich file your actualy working since many times files have the same names either in diferent components of the same project or you can mistakenly edit the same file from a diferent project. It does display it as a tool tip on the tabs name but the best way i see this done is in the application title bar.

Conclusion

I agree that Netbeans is a great IDE and it has a lot of features, even ones i cant find in Zend, and if your a javascript developer thant this would be right for you. But until they redo the FTP client or someone writes a better FTP plugin, i cant use it. So i am stuck with Zend again :D
Altough i will be following the evolution of netbeans and maybe switch when they will have a better ftp support.

Cheers

Related Posts

  • @Farzad Ghanei
    Thank you. That is an option, you can also see it as a tooltip if you hover the mouse over the tab, but i think the zend aproach with the path in tile is a much more better as far as usability.
  • Farzad Ghanei
    "Another smaller issue in netbeans is the file path. If your working on a file it doesnt show you the path of that file. So you dont know on wich file your actualy working since many times files have the same names either in diferent components of the same project or you can mistakenly edit the same ..."

    you can right click on the editor pane (in the middle of your code) and then click on "select in" on click on "projects". or you could use the shortcut ctrl + shift + 1. and netbeans shows which file your are editing now. ;)

    nice post by the way.
  • hello,
    as for remote editing i can tell you that if you work on it for a while, zend will index the files and you will get the same code assist.

    I know working with FTP is really ice-age, we are curently working on setuping our SVN Server. I must admit that i havent worked with SVN before, just started using it like 2 months ago.
  • Thanks for the link =)

    I'd just like to mention that I had horribly bad experience with Zend Studio and remote editing... It didn't give me any kind of code assist at all - it was basically like editing in notepad with syntax highlight... So for remote stuff I really prefer just logging in on the server and firing up Vim ;)

    What scares me is that you use FTP to synchronize your work with other people in your team. I've done that like years back and it was pretty tricky at times. Nowadays I use SVN for even my own stuff. Also, with SVN it's often pretty simple to update things on a server too - you just commit on your own working copy, and then svn up on the server.
blog comments powered by Disqus