Re: J2ME or network programming or...what do you recommend?
I know I've already taken lots of your time, but I would greatly
appreciate it if you could help me once more, since I got a bit
I think a mention of 'networking' led to the suggestion
of J2EE. It was more 'J2EE' I was thinking of in my
Does word web programming mean programming network apps in general, or
something more specific?
No. To me J2EE (or JEE as Sun might call it at this FAD),
is 'server side'. Obviously a server has no point unless it
offers network connections to other places, but networking
itself is something built into the J2SE. AFAIU, two machines
might connect using netwotking, without any 'server' being
Only now I realized how out of the loop I really am. All I know is
that I'd like to do some network programming ( not so much graphic
user interfaces, since I don't think I'm very good at making things
visually appealing to end users.
OK - J2ME apps. all have a GUI, so stear clear of that.
..I'm much more interested doing
interesting things "behind the curtain" and then some chap of mine or
coworker would make pretty user interface, so that people could use my
Yep. I'm the kind of chap that will throw together a GUI
with a few buttons for that type of API, likes as in 'The Giffer'.
Kevin Weiner wrote the API (to decode/encode GIFs),
and I threw together a few buttons and things to make
it easier for the user to encode GIFs.
...but it seems some technologies are in while some are
already out of date. So my fear is that I will be spending lots of
time learning technology that will turn out to be obsolete. For this
reason answering the following question would be of great help to me:
a) So what are the technologies I should learn regardless of the kind
of network apps I want to create ( should I learn servlets
No. (Not only is that J2EE, but ultimately, servlets
make for an HTML based, thin client GUI - so there is
still 'GUI coding' involved).
Avoid them like the plague.
A plain deskop application, or one launched using Java Web
Start *the same way 'The Giffer' is launched) is far easier
to deploy and maintain.
Only relevant if you want the (D)HTML GUI.
XML is handy for data storage & transmission,
but not essantial.
[quoted text clipped - 6 lines]
I think you should steer clear of
J2ME - it is not widely used.
But I thought that since everyone owns a mobile phone, that J2ME would
be the most popular thing happening at the moment, but it seems that
is not the case. Why is that? Since mobile devices are so popular,
one would assume that there would be huge market in making apps for
I can only comment on the amount of J2ME related
questions we seem to get. Very few.
OTOH - it pays to have a good grounding in J2SE
'desktop' before proceeding to J2EE 'server'.
I assumed J2EE simply extends J2SE with additional APIs.
a) But from your reply it seems as J2SE is not generally used for
server side apps?
Well, yes it is. A lot of the actual code written for
servlets relates to classes that come straight out
of the J2SE - things like Files and IO, networking,
image or sound processing..
b) So after I read books Java Complete reference, Network programming
with Java , then I must also read books specifically on J2SE and after
a while on J2EE?
The 'popularity' of desktop apps. to server side apps.
(about 1/20) suggests Swing rich client programming
[quoted text clipped - 3 lines]
people have swung gradually from rich client GUI
development to thin client server-side development
As I understood your answer, if one is interested in network apps,
then they should instead of Swing choose thin-client development?
No. But then, I think it's immportant if you want to devlop
the type of APIs that other people want to use, to concentrate
on running them from the command line, or a 'headless'
That way, when the API is written , people can use it for
a servlet (off their J2EE based server) that churns the result
out to HTML, or for a web start based 'rich client' Swing app.,
or as a plain (not web start app.) or .. by some server that is
running headless, taking streaming data from satellites, and
using the API to detect sudden changes in ocean temperature
which it raises as an SMS alert.
BTW - Since I'm not familiar with Swing - I assume it consists of APIs
to create GUI on client side?
Yes. Swing is used for the (rich client*) GUIs of
'client side' apps (though those apps. can reach
out 'anywhere' including to a J2EE based back end).
* This includes applets, desktop applications (and
webstart launched applets or applications).
Message posted via http://www.javakb.com