I remember the days back in 1998 when I used to code java in notepad. But these days, I found Eclipse IDE suggested by some. I returned to java after ages and I feel that lot of things have been changed as far as development is concerned.
I want to have some basics from you guys. What is the strength of Eclipse IDE and what it can basically do? For example in some mid-scale J2EE project, things like web components, database connections, EJBs etc. Suppose today i am using jboss for deployment and tomorrow want to switch to something else, how difficult it is in Eclipse?
How about latest trends in development of HTML pages where static and dynamic contents are mixed? This is really frustrating when you are doing it in notepad. For example, If I have a team of 3 people and want to assign task of front-end development propertionly so that everybody can work altogether, How could i do that? Do Eclipse work on network with shared resources?
How you guys usually ship your J2EE applications to client? Do you go to client side and install or do it remotely?
Java itself has changed a lot since 1998. It's more complex and more mature as a language.
Eclipse is one of the more extensible free IDEs out there. Many things can be done with it's free and commercial plugins. It handles database development well. For web and ejb development, you will want a plugin (search this forum for details.) Eclipse doesn't care where you deploy to. If you think you might switch from JBoss, just make sure not to use anything JBoss specific.
Eclipse integrates with CVS for sharing files across a team. The CVS integration is built in when you download Eclipse. You have to install CVS somewhere separately.
Distributing code depends on what kind of application you have. For example, websites don't need to be shipped anywhere. Just deploy them to the server.
Dilip, I work for a big company, so we use WSAD (the commercial version of Eclipse.) We also use Ant for builds.
In terms of practices, we use JUnit and Continuous Integration. While some processes are better than others, the most important thing is to have a process and know what it is - and evolving processes count.
Dilip, I'm very pleased with Eclipse. Been developing web apps with it and all is well. Some apps are small and some are large yet Eclipse copes well with both. I use MyEclipse (www.myeclipseide.com) as my major plugin to handle web apps.
To answer your question:
Eclipse supports multiple projects and CVS (you can add Subversion control as a free plugin if you use Subversion instead of CVS). Projects can depend on one another (include source code). That way your team members can work on the same project or different projects and exchange updates through CVS.
So for example if your team has three projects that depend on each other. Typical of web apps were you might have a front end and a backend or backoffice. You might want to share your Model code between projects so you creat a top project from which all other depend. One programmer can develop the backoffice while the other works on the frontend. Eclipse allows you to do all this and even limit the scope and visibility of exports-imports.
The usage of MyEclipse plugin really saves me time in developing and deploying by accelerating setup through wizards and validating XML config files. It also has a deployment manager that lets me configure test platforms. For example I can have Tomcat 4, 5 and JBoss installed and MyEclipse will let me choose which server to deploy and test the application on. I can also setup if I want to deploy in war or exploded and configure how to handle dependencies on other projects. It also supports jsp preview and code expansion for Struts and JSFs.
There is also the JUnit which integrates well and supports all types of testing and you also have a set of UML plugins if you like to see graphical representations of your code. Oh and Eclipse also generates JavaDoc and tracks a To Do list of pending stuff.
Our company standard for development is Eclipse and WSAD. Eclipse primarily. The main plug-ins we have are Clear Case (for CVS) and MyEclipse.
In my opinion, Eclipse with the MyEclipse plug-in are awesome. I even have them at home on my personal PC. The MyEclipse plug is only 29 bucks a year and you get access to all the upgrades and a pretty nice resource collection.
For JSP/Servlets it totally rocks to have MyEclipse. We also do all of our hibernate and struts work with Eclipse as well as Ant. Hope that helps.
P.S. We deploy our code to local Weblogic instances for testing and use MS and Oracle DB's. At home, I'm deploying to a Apache/Tomcat configuration with MySQL.
Oh sure, it's a tiny ad, but under the right circumstances, it gets bigger.
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop