View Poll Results: Can Java be used to make a powerful FrontEnd?

Voters
14. You may not vote on this poll
  • Yes

    9 64.29%
  • No

    4 28.57%
  • Unsure

    0 0%
  • Don't know enough about Java

    1 7.14%
Page 1 of 2 12 LastLast
Results 1 to 10 of 13

Thread: revisiting Java as a front-end

  1. #1
    Newbie
    Join Date
    Sep 2008
    Posts
    6

    Question revisiting Java as a front-end

    So here goes.

    I know this has been touched on in the past but nothing is current and I want your (mp3car forum experts and novices alike) opinion.

    First a little background:
    I am, have and will be learning Java. I'm planning to take my SCJP test in a few weeks. I work a full time (non i.t. related) job so this is all done on the spare time I can find. I have no time or want right now to learn another language since Java, I'm hoping, will lead to a career change.

    I want to build a carputer, and want it my way. I don't want a front-end that limits me (yes I've looked at what's out there and what they can do) and I want to be able to change it as I want when I want and not just the UI.

    I have worked a bit with JMF and can work my way around and have done some swing and awt work too. I also can handle multi-threading.

    I know one of the problem many people bring up for example is GPS and maps. Access to maps i.e. online, and it not being good since the computer won't always be online. I plan on being online.. all the time. It's 2009 and I think it's not too much to think a computer, even in a car, can be online all the time...

    Again I just want opinion, advice and ideas. Whether good or bad, you agree or disagree please share.

    Also I know many programmers consider Java SLOW. I've heard that and having worked on and looked at Java program I don't think the difference in performance would be an issue for what I plan to do.

    Thanks in advance

    Marc

  2. #2
    licensed to kill - FKA kev000
    Auto Apps:loading...
    tripzero's Avatar
    Join Date
    Aug 2006
    Location
    16.40618, 120.61106
    Posts
    2,494
    Code:
    ...and I want to be able to change it as I want when I want and not just the UI.
    There are several open source frontends (nGhost being a great one) that allow you to do just this.

    From experience, building and maintaining your own frontend can be very fun and it'll help you learn a lot about coding and about computers. But it is *very* time consuming and it takes a *long* time to get it to the point that you probably envision it being.

    So I recommend, depending on your choice of platform, to take a closer look at RevFE for windows, and nGhost3 for *nix. They are IMHO the best designed open source frontends in existence. Both use C++/Qt and are *FAST*. Both are completely plugin based. If you don't like the media selection plugin, write your own. That's certainly faster than writing *everything* from scratch. Plus you still gain valuable coding experience and learn to work with a team (very important if you are thinking of being a coder as a career).

    RevFE is probably the lightest and fastest frontend out there. It's very well designed and has a rapidly growing community.

    nGhost3 is a slightly different paradigm than the others that uses a multi-process plugin design with an IPC link to keep everything integrated (think google chrome for mobile systems with awesome graphics).

    If you really want to write your own, Java isn't a terrible choice. From experience, GUI in Java can be slower, but probably no slower than RR currently is. CLI apps in Java are fast, but still not as fast as native c/c++ compiled code.

    Oh, and take a look at openMobile too. I haven't looked at the code, but from what I read here, it also follows good design practices.

    Don't worry if it's written in a language you probably don't currently know. Programmers are almost worthless if they only know one programming language. It's extremely valuable to have a utility belt of knowledge of various computer languages.

    We get these kinds of posts all the time. Most people who create their own front end realize what I've mentioned above and tire out within a few months. Those who choose to develop existing frontends usually end up creating something awesome and stick with it for years even.
    Former author of LinuxICE, nghost, nobdy.
    Current author of Automotive Message Broker (AMB).
    Works on Tizen IVI. Does not represent anyone or anything but himself.

  3. #3
    Newbie
    Join Date
    Sep 2008
    Posts
    6
    KEV000: Thanks for your time and your reply. I truly understand that building a frontend is not a few weekend project. I also realize that there are open source ones out there and even one where you can design your own plugins.
    Unfortunately as I explain that's not an option for me> I have no time learning another language. I understand that as a programmer the more I know in different language the better. I also know that I've met many who know a little of everything and not enough to be good at anything. At this point my only goal is to become proficient in Java. I have no time to go learn C++ or any other OO language.

  4. #4
    North of the land of Hey Huns
    Auto Apps:loading...

    Join Date
    Jun 2004
    Location
    Westminster, MD
    Posts
    2,127
    I do not believe that java can make a frontend, primarily due to the fact that it is an interpreted language. Java does what it is intended to do well, but that thing is not desktop applications. It's great for web and phone applications as well as rapid application development. Frontend development will not succeed if you go with the RAD paradigm in my opinion (purely opinion of course ).

    That being said, it looks as if you're not looking into RAD, being not a weekend project. I wish you the best of luck I think developing your own frontend is a good thing to do and is a very good way to learn a language. You will touch on many different aspects of a language especially if you look into making the frontend modular and pluggable/skinnable. Creating RevFE has been a wonderful learning experience for me not just to learn a language but to give me some insight into the challenges and difficulties that frontend developers run into. You will learn a new-found appreciation for the work people put into frontends.

    A couple of suggestions:
    As I hinted on, make it pluggable/skinnable. This will not only make the frontend appeal to other people as well as make it easier for you to change features yourself. Having a userbase is a wonderful way to get new ideas.

    Find some way to make the interface snappy. The primary problem with the "top" frontends out there is that they are slow feeling. You hit a button, you have to wait for it to do something. I do not know if you will be able to do this with a java application, I've never used a java app that doesn't seem slow to me, but if you can overcome that obstacle I think it would make your frontend appealing to the masses.

    Language interoperation! If you can have your frontend load plugins in other languages, it would open up plugin development to people who don't know java. Also a good way to get users.
    "stop with the REINSTALLS, what do you think we got some lame-o installer!!!" - mitchjs
    RevFE
    My Shop

  5. #5
    Raw Wave
    Auto Apps:loading...
    justchat_1's Avatar
    Join Date
    Jul 2008
    Location
    Boston, Ma or NY,NY
    Posts
    1,783
    As requested my thoughts:
    Kev and malcom summed it up pretty well so i wont restate what they said.

    Having worked with java I can tell you any interfacing with the native operating system is difficult and slow to say the least. Try doing things like interfacing with a gps receiver, obdii reader or native dll's for anything. While yes you can access a serial port it requires going through 3 different layers to do so (each slowing things down for more).

    As malcom said having a userbase would be a great way to get ideas and that may be the biggest problem here. There are already three open source front ends out there that promise to be the new "faster and better" front-end. Just having a front-end in java (which many people associate with slow) would probably not be enough to attract a strong following.

    That said-my recommendations would be to take a look at c++ or c# since its not really a new language.

    i know you had said you have no interest in learning a new language but I think you will see c++ being a much more widely used language and since its the basis for java it should be familiar.

    I know this will probably look biased coming from me but C# is probably an even better bet. C# is like Java version 2 - it combines the best features from c++ and java learning from the mistakes of both. Syntactically though, they are very very similar with most of the basic syntax being identical.
    I would recommend taking a look at some c# code and some c++ code and seeing if you might consider giving one a try.

  6. #6
    licensed to kill - FKA kev000
    Auto Apps:loading...
    tripzero's Avatar
    Join Date
    Aug 2006
    Location
    16.40618, 120.61106
    Posts
    2,494
    Well, if your goal is to master java, go for it! It can't be any worse than a VB frontend right?

    I admit that I've entertained writing nGhost3 in C# for a number of reasons. It's a very productive language. In the end, C++ won me over again because of its maturity and the wealth of information on the nets about doing stuff with it.
    Former author of LinuxICE, nghost, nobdy.
    Current author of Automotive Message Broker (AMB).
    Works on Tizen IVI. Does not represent anyone or anything but himself.

  7. #7
    North of the land of Hey Huns
    Auto Apps:loading...

    Join Date
    Jun 2004
    Location
    Westminster, MD
    Posts
    2,127
    Quote Originally Posted by kev000 View Post
    it can't be any worse than a vb frontend right?

    zing!
    "stop with the REINSTALLS, what do you think we got some lame-o installer!!!" - mitchjs
    RevFE
    My Shop

  8. #8
    Newbie
    Join Date
    Sep 2008
    Posts
    6

    Thanks

    I wanted to say thanks to all for taking the time to reply and give your opinion. It's given me a lot to think about. I know many of you think there are better/easier languages to do this in and I don't disagree. I am however dedicated t Java as of now (since, like i said, I'm planning to make it a career) and am going to go ahead and work with it.

    I have definitely taken into account the advice I have gotten and will focus on many of the things brought up.

    -keeping the ui responsive and delay free
    -making it skinable
    -making it plugable
    -trying to come up with something new, not repeating the same as what's out there
    -working to keep it platform independent (why wouldn't it be with java?)

    Those are my goals.

    Hopefully I can make it work. I'm sure you'll see me ask more questions as I go ahead.

    Again,

    Thanks, Marc

  9. #9
    Raw Wave
    Auto Apps:loading...
    justchat_1's Avatar
    Join Date
    Jul 2008
    Location
    Boston, Ma or NY,NY
    Posts
    1,783
    Quote Originally Posted by marc2912 View Post
    I wanted to say thanks to all for taking the time to reply and give your opinion. It's given me a lot to think about. I know many of you think there are better/easier languages to do this in and I don't disagree. I am however dedicated t Java as of now (since, like i said, I'm planning to make it a career) and am going to go ahead and work with it.

    I have definitely taken into account the advice I have gotten and will focus on many of the things brought up.

    -keeping the ui responsive and delay free
    -making it skinable
    -making it plugable
    -trying to come up with something new, not repeating the same as what's out there
    -working to keep it platform independent (why wouldn't it be with java?)

    Those are my goals.

    Hopefully I can make it work. I'm sure you'll see me ask more questions as I go ahead.

    Again,

    Thanks, Marc
    Well if your sure you want to stick with java...i will give you this bit of inspiration - think of android. It's written in all java and is a fairly good FE.

  10. #10
    FLAC
    Join Date
    May 2006
    Location
    Calgary, Alberta
    Posts
    1,718
    I already wrote a Java front end, I got the media player working and skinned when I finally realized what a nightmare it was working with the Java Media Framework. SUN hasn't updated it since 1999, it just abandoned it and left it to die. It's unfinished and not mature enough to handle the demands of a front end media application.
    Ampie Case
    2.5" Hard Drive 80GB Samsung 5400RPM
    256 MB DDR2 PC5400
    Xenarc 700TSV - VGA Monitor
    Intel D945GCLF Motherboard
    M2-ATX-HV

    2005 Honda Civic

Page 1 of 2 12 LastLast

Similar Threads

  1. Centrafuse, TPMS 2.1.0.9 and Vista
    By WuNgUn in forum TPMS Technical Support
    Replies: 14
    Last Post: 08-26-2009, 03:57 PM
  2. Infill G4 front end
    By joey4 in forum Software & Software Development
    Replies: 0
    Last Post: 05-27-2009, 11:38 AM
  3. Front end chooser ? anyone ?
    By SAScooby in forum Software & Software Development
    Replies: 8
    Last Post: 09-23-2006, 10:35 PM
  4. 100% Plugin based Front End
    By custardbomb in forum Software & Software Development
    Replies: 19
    Last Post: 10-07-2005, 01:17 AM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •