Re: Feasibility of Java for desktop software

Discussion in 'Java' started by Brad BARCLAY, Aug 24, 2003.

  1. Brad BARCLAY

    Brad BARCLAY Guest

    Russell Wallace wrote:
    > Hi all,
    >
    > For my next project after the current one is finished, I'm considering
    > writing it in Java [1]. It'll be a GUI-intensive desktop program and
    > I'd like to make it cross-platform if possible.
    >
    > So my question is, how feasible is it to use Java for that sort of
    > thing nowadays? I'm sure performance will be adequate at this stage,
    > but reliability is the big issue - can you ship a bag of .class files
    > and say "This will run on Java version X or later", or would there
    > have to be a separate debugging and maintenance project for every JVM
    > on every supported platform?


    If you code your application correctly, you won't have any need for
    seperate versions for different JVM's.

    Take a look at my Open Source Java project, the jSyncManager
    (http://www.jsyncmanager.org). It's a fairly big project, and has never
    had any problems running on different JVM's.

    You wouldn't want to ship a "bag of .class files" -- that wouldn't be
    terribly user-friendly. Instead, do some research on "jar" files,
    particularily those that define a "Main-class" attribute in their
    Manifests. This allows you to run the JAR file directly, meaning your
    application can be made available in a runnable form in a single file.

    HTH!

    Brad BARCLAY

    --
    =-=-=-=-=-=-=-=-=
    From the OS/2 WARP v4.5 Desktop of Brad BARCLAY.
    The jSyncManager Project: http://www.jsyncmanager.org
    
    Brad BARCLAY, Aug 24, 2003
    #1
    1. Advertising

  2. Brad BARCLAY

    Dale King Guest

    "Brad BARCLAY" <> wrote in message
    news:Apb2b.254915$...
    > Russell Wallace wrote:
    > > Hi all,
    > >
    > > For my next project after the current one is finished, I'm considering
    > > writing it in Java [1]. It'll be a GUI-intensive desktop program and
    > > I'd like to make it cross-platform if possible.
    > >
    > > So my question is, how feasible is it to use Java for that sort of
    > > thing nowadays? I'm sure performance will be adequate at this stage,
    > > but reliability is the big issue - can you ship a bag of .class files
    > > and say "This will run on Java version X or later", or would there
    > > have to be a separate debugging and maintenance project for every JVM
    > > on every supported platform?

    >
    > If you code your application correctly, you won't have any need for
    > seperate versions for different JVM's.
    >
    > Take a look at my Open Source Java project, the jSyncManager
    > (http://www.jsyncmanager.org). It's a fairly big project, and has never
    > had any problems running on different JVM's.
    >
    > You wouldn't want to ship a "bag of .class files" -- that wouldn't be
    > terribly user-friendly. Instead, do some research on "jar" files,
    > particularily those that define a "Main-class" attribute in their
    > Manifests. This allows you to run the JAR file directly, meaning your
    > application can be made available in a runnable form in a single file.



    And even better check out Java webstart. It allows you to launch an
    application with one click on a link. The application can then be ran
    independent of the browser and is secure for the user. And users can get
    updated automatically when you release a new version.

    See here for info on WebStart:

    http://java.sun.com/products/javawebstart/

    If you have Java 1.4 installed you already have WebStart and could start one
    of the better examples by clicking on this link:

    http://www.jgoodies.com/download/jdiskreport/jdiskreport.jnlp

    To answer your question about suitability of Java, see the Swing sightings
    series which shows some screen shots of many applications:

    http://java.sun.com/products/jfc/tsc/sightings/S16.html


    --
    Dale King
    Dale King, Aug 25, 2003
    #2
    1. Advertising

  3. On Mon, 25 Aug 2003 16:06:13 -0500, "Dale King" <>
    wrote:

    >And even better check out Java webstart. It allows you to launch an
    >application with one click on a link. The application can then be ran
    >independent of the browser and is secure for the user. And users can get
    >updated automatically when you release a new version.


    Now that is really quite cool - more to the point, it's precisely the
    functionality I'd need for one of the projects I have in mind.

    >To answer your question about suitability of Java, see the Swing sightings
    >series which shows some screen shots of many applications:


    Thanks! Going by some of those screen shots there's no question you
    can do impressive looking stuff in Swing, then - so that's definitely
    what I need as long as I don't get buried in reliability problems.

    --
    "Sore wa himitsu desu."
    To reply by email, remove
    the small snack from address.
    http://www.esatclear.ie/~rwallace
    Russell Wallace, Aug 25, 2003
    #3
  4. Brad BARCLAY

    Brad BARCLAY Guest

    Russell Wallace wrote:

    >> Take a look at my Open Source Java project, the jSyncManager
    >>(http://www.jsyncmanager.org). It's a fairly big project, and has never
    >>had any problems running on different JVM's.

    >
    >
    > Thanks! That sounds more encouraging.
    >
    > Any tips on how to code so as to avoid tripping over bugs and
    > compatibility problems? I tried a Google search but it just gave a
    > whole lot of pages with products for debugging one's own Java code,
    > which isn't the problem :p Do you use Swing?


    Hmmm -- I'm not sure if I can think up any really good tips, other than
    to know the language, the API, and understand object-oriented software
    development. Most of the cases where I've seen people running into
    "bugs" is when they're trying to do something they shouldn't be doing
    (or doing something in a rather poor manner, although I should admit I
    haven't seen the source code for every Java program in existence :) ).

    Our project does indeed use Swing, but we aren't doing anything
    particularily fancy with it. Just the basic components and a few
    graphics. Pretty standard stuff. Most of the size of our application
    is under the hood, implementing protocol stacks and dealing with
    communications hardware and such.

    > (Bug report on the web site: I had to copy the text to an editor to
    > read it since the menu kept following me and obscuring the text :))


    I'll mention it to the webmaster, although it works perfectly fine
    under Mozilla (and is valid CSS and HTML). I think our webmaster tests
    using IE as well. What browser/version are you running? Using any
    non-standard font sizings or anything else we can use to duplicate the
    problem?

    >> HTH!

    >
    > I'll bite - what does HTH stand for?


    Sorry -- that's really old online shorthand for "Hope This Helps" :).

    Brad BARCLAY.

    --
    =-=-=-=-=-=-=-=-=
    From the OS/2 WARP v4.5 Desktop of Brad BARCLAY.
    The jSyncManager Project: http://www.jsyncmanager.org
    
    Brad BARCLAY, Aug 26, 2003
    #4
  5. On Mon, 25 Aug 2003 23:34:12 GMT, Brad BARCLAY
    <> wrote:

    > Hmmm -- I'm not sure if I can think up any really good tips, other than
    >to know the language, the API, and understand object-oriented software
    >development. Most of the cases where I've seen people running into
    >"bugs" is when they're trying to do something they shouldn't be doing
    >(or doing something in a rather poor manner, although I should admit I
    >haven't seen the source code for every Java program in existence :) ).
    >
    > Our project does indeed use Swing, but we aren't doing anything
    >particularily fancy with it. Just the basic components and a few
    >graphics. Pretty standard stuff. Most of the size of our application
    >is under the hood, implementing protocol stacks and dealing with
    >communications hardware and such.


    *nods* Hopefully after using Swing for awhile one gets a feel for what
    sort of things are likely to trigger bugs.

    > I'll mention it to the webmaster, although it works perfectly fine
    >under Mozilla (and is valid CSS and HTML). I think our webmaster tests
    >using IE as well. What browser/version are you running? Using any
    >non-standard font sizings or anything else we can use to duplicate the
    >problem?


    IE5 with large font size. (Presumably whoever set the default size
    fonts was young enough to still have perfect eyesight :))

    > Sorry -- that's really old online shorthand for "Hope This Helps" :).


    Ah, it does, thanks! ^.^

    --
    "Sore wa himitsu desu."
    To reply by email, remove
    the small snack from address.
    http://www.esatclear.ie/~rwallace
    Russell Wallace, Aug 26, 2003
    #5
  6. Brad BARCLAY

    Brad BARCLAY Guest

    Russell Wallace wrote:

    > *nods* Hopefully after using Swing for awhile one gets a feel for what
    > sort of things are likely to trigger bugs.


    You do if you wind up working with a whole lot of oddities. The
    standard stuff works pretty well. It just so happens that my
    application isn't GUI-heavy (as it doesn't need to be).

    > IE5 with large font size. (Presumably whoever set the default size
    > fonts was young enough to still have perfect eyesight :))


    You're lucky you were able to get to the website at all -- I just got a
    note from the hosting service that one of their disk arrays went down
    the other day, and everything is running off a backup server that I
    can't seem to access at the moment :p.

    > Ah, it does, thanks! ^.^


    Glad to be of service!

    Brad BARCLAY

    --
    =-=-=-=-=-=-=-=-=
    From the OS/2 WARP v4.5 Desktop of Brad BARCLAY.
    The jSyncManager Project: http://www.jsyncmanager.org
    
    Brad BARCLAY, Aug 26, 2003
    #6
  7. In article <>,
    Russell Wallace <> wrote:
    >
    >*nods* Hopefully after using Swing for awhile one gets a feel for what
    >sort of things are likely to trigger bugs.


    Just don't try to be too creative. If you find yourself extending a UI
    class, know that you're asking for trouble :)

    And don't expect table editors to behave very consistently across
    Swing versions ...

    Cheers
    Bent D
    --
    Bent Dalager - - http://www.pvv.org/~bcd
    powered by emacs
    Bent C Dalager, Aug 26, 2003
    #7
  8. On Mon, 25 Aug 2003 22:42:15 -0600, Chris Smith <>
    wrote:

    >Some things to look out for include:
    >
    > - Use of any system properties
    > SOLUTION: Provide ways for users to specify params, instead.
    >
    > - Use of platform-specific file/path separator chars
    > SOLUTION: Build paths with constructors to File.
    >
    > - Reliance on default text encoding for text file I/O
    > SOLUTION: Always specify an encoding explicitly.
    >
    > - Use of current working directory.
    > SOLUTION: Maintain your own default paths for things.
    >
    > - Reliance on file extensions.
    > SOLUTION: Not a good one; at least provide the option to see
    > all files instead of filtering by extension.
    >
    > - Any reference whatsoever to Runtime.exec.
    > SOLUTION: None, Runtime.exec is inherently platform dependent.
    >
    > - Programming by coincidence.
    > SOLUTION: Read the API docs.


    Thanks! List unsnipped so my newsreader will hold onto a copy for when
    I need it ^.^

    --
    "Sore wa himitsu desu."
    To reply by email, remove
    the small snack from address.
    http://www.esatclear.ie/~rwallace
    Russell Wallace, Aug 26, 2003
    #8
  9. Brad BARCLAY

    Brad BARCLAY Guest

    Russell Wallace wrote:

    > Thanks! List unsnipped so my newsreader will hold onto a copy for when
    > I need it ^.^


    If you can find it, back in the Java 1.0 days Sun published a guide on
    how to best write cross-platform applications in Java, including
    potential gotchas. You might be able to find it (or something similar)
    if you search their website.

    Brad BARCLAY

    --
    =-=-=-=-=-=-=-=-=
    From the OS/2 WARP v4.5 Desktop of Brad BARCLAY.
    The jSyncManager Project: http://www.jsyncmanager.org
    
    Brad BARCLAY, Aug 26, 2003
    #9
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Divyang M
    Replies:
    1
    Views:
    482
    Divyang M
    Mar 11, 2005
  2. TC
    Replies:
    4
    Views:
    644
    JohnnyAppleseed
    Feb 7, 2005
  3. Roedy Green
    Replies:
    1
    Views:
    372
    Russell Wallace
    Aug 23, 2003
  4. Larry A Barowski
    Replies:
    4
    Views:
    425
    Russell Wallace
    Aug 26, 2003
  5. iMath
    Replies:
    7
    Views:
    1,025
    iMath
    Nov 10, 2013
Loading...

Share This Page