views:

204

answers:

4

I am about to start on a college project (a web application) and I have never used a full-fledged IDE such as Eclipse.

Turbo C/C++, Visual Basic 6,Java Basic, a bit of SQL, ASP, etc is the sort of exposure I have.

What things should I keep in mind before starting my project using Eclipse? Are the tools mentioned appropriate for the project?(If not please give a detailed answer)

  • Designing - UML (Rational Rose)
  • Language - Google Web Toolkit
  • Server - Google App Engine
  • IDE - Eclipse
  • Version Control - Subversion or Mercurial?
+1  A: 

I would definitely recommend Googling first. There are a number of tutorials regarding Eclipse as it is a very popular IDE. A quick Google search of my own brought up all these results: developing web applications in eclipse

As for other things to consider, if you are developing a web application, you'll need:

  • web server (Tomcat is a popular one)
  • possibly a database (MySQL is an open source, easy to use DB)
  • language (I'm assuming you're going with Java since you are using Eclipse)

Of course, you'll also need to consider how you hook everything together and what technologies you want to use to do that. (Hibernate, Spring, etc) Eclipse itself has a ton of plugins to help bring together all these various aspects.

That list from Wikipedia is a good and comprehensive list, but if you are learning or developing on your own machine, you may not necessarily need all of that.

Hope that helps.

JasCav
Rishi
+1  A: 

Since it is a web application, then start with the looks of it.

First, layout a template of how your pages should look, that is what users see. If it does not look good, the users will think the application (in its entirety) is also not good (it does not matter if the code behind the view is perfect; it will just make a first bad impression).

Start with that and be consistent with the design in all your pages. SiteMesh is a nice tool to dissociate the looks of the page from the functionality you put in it.

Then think what the application will do and what it will use:

  • you have a database? (use something like MySQL). With what are you going to access it? (IBatis is nice; Hibernate I think is a bit heavy weight for a first project)
  • you need a server: Tomcat is easy to use;
  • are you going for a simple Servlet/JSP approach or you want to use a framework (look at Spring or Struts);
  • try to find the good ways of writing the application, look at service layers, DAO pattern, DTO, MVC. Also, you must understand how HTTP works.

A lot more could be said.

Ah.. and also use a source repository. It’s a must (even if you work alone on this project).

dpb
Rishi
Had your question bookmarked but failed to read it again after your edit. Sorry about that.
dpb
A: 

Don't mean to be harping on you, but is Eclipse a must? For myself, in the beginning NetBeans turned out to be a really painless introduction to getting a web project up a running fast. I believe in the beginning one will spend a lot less time fighting the IDE with NetBeans.

A lot of the items from your bullet list NB makes super easy to ramp up as well. Just my $0.2

vector
+1  A: 

Eclipse can handle all of these tools, but then so can Netbeans.

For your first project with GWT you should read through this tutorial: http://code.google.com/webtoolkit/tutorials/1.6/gettingstarted.html

If you don't know Java then you will have some learning to do, and unlike Visual Studio your UI won't be just drag and drop, so it will be a bit harder than you are used to.

Subversion is fine, it is a nice source control, and any IDE will work with it.

Depending on your project would determine if GWT is the best choice though.

I expect UML may be overkill, and if you were following an agile methodology you wouldn't use it.

Your best bet is to get the UI done first, just have it appear as you want, and have some fake results, until you are happy with the look and feel.

Then, start to do the wiring to whatever you need on the backend.

James Black
Yeah the UML seems to be too much, but i have never coded on a big project (2 semesters), it might help me think about the overall design. Also incompetent professors in charge want me to use that kind of tools
Rishi
What about a Specification? , i am trying to use Co-pilot spec written by Joel Spolsky (joelonsoftware)
Rishi
Try a user story. Basically, sit down with a pencil and write out how a user would use the application, going through the various features. That will be your specification. You can then write tests, if using test-driven development, as you know what the input is and what the expected output it. But, then just create the UI, following the first story. Implement one story at a time, once that story is complete, then start on the next story. I have used this on large projects, a grading tool, for a university of 50k students.
James Black
Actually when i am trying to design the UI on paper, i am not sure what the user will like(user intuitive), and whether i can code it(or its possible to code it). Also quality of the code is an issue, will it work at the scale or not.
Rishi
This is where agile methodologies come into play. You make the UI, and then ask some people to try it out and then make changes.Don't worry about it scaling, until you have it working, then, you can test scalability and see what changes need to be made.
James Black