A newbie Java question
I am new to java programming and I want to ask for any help that you can provide for the relief of my confusion.
Anyway, here's my question:
1. If i want to learn Java EE, should i Include Java SE in my learning trail?
2. Things like swing, awt, etc, must be learnt for creating java webpage?
3. What are the things that you can only do in Java EE and not in Java SE?
Thanks in advance.
I dont know much about ee, so hopefully others will help you out on that. But I absolutely recommend you learn the regular core trail as well, understanding the core will help you understand EE topics.
Thanks for your prompt reply. Yes, hopefully someone else can provide additional advise.
By the way, if its not too much to ask, can you recommend a good learning trail for me to follow?
The oracle tutorials are good, I provide a link to them in my "book recommendations" signature link. If you can't access the link google "java tutorial really big index". The blog pos in my signals recommends books on java core and some other languages.
Sorry I can't give more answers about EE, figured I'd pop in however since it may be a while before others are on.
I was wondering, since your not much in the Java EE, what wonderful things are you doing with Java?
Nothing too exceptional, I am still really learning, I've got like 9 months of self study and I've done some toy projects and lots of reading. Some of the projects I have done: simple notepad, more advanced text editor, GUI calculator, address book with serialization, terminal based blackjack, and I've been working on making an rpg type game as of late.
I've also spent a lot of time reading books, some include: java concurrency in practice, effective java, how to design programs, head first java, thinking in java, and some more. Currently I've been reading: k&r c, Godel, Escher, Bach: an eternal golden braid, hacking: the art of exploitation, and programming from the ground up.
Sadly I don't have an amazing imagination so I haven't done as many projects as I'd like, hopefully school will give me some more stuff to practice with.
I've been meaning to move into EE, but I still want to do some networking projects, as well as using some other libraries and practicing more graphics, plus I've got a lot of books I'm trying to get through before school starts up.
wow those are tons of programs you make.
Are they all GUI based? Swing I guess?
All except blackjack were swing(and only because I was lazy, probably will add it in the near future), planning on using the rpg to get into graphics and such.
Most of those programs taught me a good amount and may be worth building up to and doing. A good intro book will get you prepared well enough to complete most of them. Having the API and tutorials available also help.
I actually work on Java EE apps at work. In order to do any JSE or EE applications, you need a solid understanding of the basics. I suggest as previously mentioned, do the online JSE tutorials. Once you are familiar with the main concepts, then you may want to start looking into some EE oriented tutorials.
I mainly work on Java Webapps. So in order to understand how this stuff works, you'll need to read up on HTTP and HTTPS protocols, how GET and POST work. You'll probably also need to learn about servlets as well. There are also a ton of EE frameworks that are useful.
For example we use the following:
Presentation Layer: Java Server Faces (JSF)
Object Relational Mapping (database access etc...): Hibernate
Dependency Injection: Spring (Along with Spring Web-flow, Spring-Security etc)
So, start with Java Standard Edition until you understand the basics, once you have the basics down pat (which should take a long time), then start looking at how some of the mentioned frameworks are used.
By the way, I too am a beginner (Well, I consider myself beginnter->intermediate) with java. There are some basics that I still dont have a total handle on, but I've found there are plenty of people who will help you if you dont understand a concept, and therefore it hasnt hindered me too much at work.
Sunde sounds like he has written more than I have. Most of my projects at home are just "proof of concept" apps, and as such I havent really finished them. They were just made to teach me how to do something a certain way.
I'd like to actually do some web based games, and applets/standalone games down the track, but dont feel that I know enough yet to write anything very decent. And I havent had much exposure to Swing/AWT since we really dont use that at work.
So what's your IDE of choice? I am still weighing myself whether to use Eclipse or netbeans. But I am more in favor of netbeans for now since it supports drag and drop of swing objects/components. I find it difficult to use Eclipse because I came from a programming language that supports drag and drop of component (VB and Delphi).
Thanks for the additional info. Does that mean that Java EE is purely for Webapps? If I need to do some desktop application running of client PC then Java SE is just right?
If you are learning Swing you should prefer writing the components 'by hand' at first until you understand the basics.
You'll probably find out that after understanding those basics you'd still prefer writing your components by hand still.
Thanks also to your reply. I'm gonna take your advice. Although I am still concern on how to do it, i think this will take a lot of time. But that's just ok, I think the learning curve of java is something really big. Do you do your swing 'by hand' on eclipse or on other IDE?
I use eclipse but that's just to make my manager's blood boil.
What is important for you at this stage is to get the Oracle tutorials and read them, first the Java basics section and then later the Swing trail ( Trail: Graphical User Interfaces (The Java™ Tutorials) ).
You can download the whole thing to your computer. Also make sure to have the API documentation to read up on all the classes you will be using.
90% of questions asked here could be avoided by people reading either those tutorials or the API documentation.
The NetBeans visual designer aka Matisse is not a beginners' tool. Without an understanding of the Swing API, it's next to impossible to create a fully functional UI by drag'n'drop. That's because it doesn't help you to learn what can be done, so you never progress to learning how to do it.
Originally Posted by jeftphph
The real power of Matisse is when it is in the hands of a knowledgeable Swing developer, who can use the tool to greatly increase productivity.
Here's where many of us learned Swing programming: Trail: Creating a GUI With JFC/Swing (The Java™ Tutorials)
Yep, I could'nt agree more.
I am still planning the learning paths that I should take to learn Java that's why i have asked you guys for your advise.
and also I don't have anyone here who is knows java by heart to ask questions. I was previously worried that my learning sessions would be hell if i have a wrong learning path. (e.g. starting swing w/o java basics.)
I guess I could start now.
Thanks also to your advice.
How about you, what IDE do you generally use for your programming session with Java?
We have a separate thread for that discussion.
Originally Posted by jeftphph