-4

I am working on a project for which we have to decide for a language to work on.

Requirements are as follows:

  1. Client should work both as web browser based and standalone desktop application.Both will have same feature.
  2. Gui should be rich in graphics but still light weighted.It should not use much memory for rendering views. Client machine has limitation of memory.
  3. Server would be on unix/linux boxes.Server side code is available in Java.
  4. Client will run on windows machine.

We have swing based client with us.It is not rich and it consumes much memory.There is limitation of memory.Is it possible that we need not to move from swing based application? It can be improved in graphics also.

We are thinking for moving our client code to some other language which can be used with server side code in java.

If still my question is not clear then I will try to update it. Please suggest.

Thanks,

Abhishek Jain

Abhishek Jain
  • 6,296
  • 7
  • 26
  • 34
  • 1
    Is this homework? Can you use different server-side and client-side languages? Can you give us a few more clues as to the project, which is horribly vague right now? – David Thornley Sep 08 '10 at 16:06
  • 3
    I don't understand these types of questions with literally dozens of options available. Use what you feel like you know better. –  Sep 08 '10 at 16:08
  • @Abishek: Voting to close this as this smells and reeks of homework, not alone that it is highly subjective and argumentative as each language serves a purpose *if* used correctly and has good viability for that domain... since the details and bullet points without showing *any* effort on your part on what you've done/research etc, we are not in a position to answer to your question.... except down-vote it and vote to close... – t0mm13b Sep 08 '10 at 16:14
  • Hey guys, I thought this is the right forum to get my question. Might be this is subjective but this is realtime scenario. Please answer me. I need answer. I also updated the question with more details. – Abhishek Jain Sep 08 '10 at 16:19
  • @David @Sergei I have added more details in my question. Can you please answer this question? If I am aware of pros and cons of each language then I haven't ask the question. – Abhishek Jain Sep 08 '10 at 16:21
  • Looks like a good feature-set to start a new programming language + compiler + platform design project. I'm in! Any other volunteers? B-) – Ondrej Tucny Sep 08 '10 at 16:23
  • 1
    @Abhishek: sure, this is also real-time as well, for those of us trying to answer to a highly subjective question without any single effort on your part to do your own homework.... – t0mm13b Sep 08 '10 at 16:24
  • 1
    The problem is that the requirements are vague, we know nothing about your team's knowledge and abilities, and we really can't answer the question as asked. Therefore, it's not a real question in the sense used on SO. – David Thornley Sep 08 '10 at 16:24
  • @David Can't you suggest some options instead of commenting everytime this question vague. If you need any detail I will provide it. Flex is one option as suggested below.My team has already started work in Flex. I am not satisfied with it. – Abhishek Jain Sep 08 '10 at 16:40
  • 1
    Man... I can't understand the sheer ignorance and lack of manners of people will close a question like this... The OP posted 40 minutes ago, folks, let's give him some time to further formulate his question if you find it vague! StackOverflow != NYC... – code4life Sep 08 '10 at 16:45
  • 1
    @Abhishek, based on your background, have you guys considered a Flex/Flash oriented solution? That's probably the direction you should initially investigate, since it's closely aligned to your current code base... – code4life Sep 08 '10 at 16:49
  • @code4life My team has already started working with Flex but I am not satisfied with it. Application developed in Flex will be very resource intensive. Is there any other solution? Please reopen my question – Abhishek Jain Sep 08 '10 at 17:01
  • 1
    @code4life: He already changed it once, and it's still far too vague. The OP can still change it, and if he improves it enough this question can be reopened. – David Thornley Sep 08 '10 at 17:03
  • @Abhishek, sorry, I don't have the SO points required... – code4life Sep 08 '10 at 17:18
  • @David: my point is, give the guy at least an hour or two. You guys shut down the post literally 11 minutes after he posted. It's just not enough time for a person to reasonably respond to questions, regardless of whether the original question is vague or not. Basic human decency is the issue here. – code4life Sep 08 '10 at 17:20
  • 1
    @code4life: To repeat, he can still edit the question to add more detail and make it good enough to be reopened. What "closed" does, specifically, is make it impossible to post answers. Since the question is so vague, an answer is unlikely to be useful. What's the real problem, and why does moderating a forum in a way you don't like constitute a problem of basic human decency? – David Thornley Sep 08 '10 at 17:54

3 Answers3

3

Hopelessly large question. Using what you know may be the best option.

That said, what I would do is use Mono (I have done it before).

I would use ASP.NET MVC through mod_mono through Apache on Linux for the server side web code and JQuery on the client to provide the sex appeal. I would make sure that I used unobtrusive JavaScript techniques so that it would work well even when JavaScript was not available.

The advantage of using Mono (.NET) is that that you could code both the web stuff and the client stuff in the same language (I would use C#) and use the same back-end and DLLs fro both. For the client GUI you could use WPF if it was going to be windows only or either Windows Forms or GTK# if you want cross-platform. I would probably use GTK# as that would give me the option of running the desktop client on Linux and Mac as well.

ASP.NET MVC is open source and ships (the actual Microsoft code) out of the box in Mono.

If you want to build a smart-phone front-end you could use MonoTouch or MonoDroid and reuse your back-end infrastructure as well.

For tools, you could use either VisualStudio and friends if you are developing on Windows or MonoDevelop as an IDE if you are writing it on Linux. MonoDevelop also allows you to use Subversion or Git for source control and NUnit for unit testing.

For communication with the desktop client, check-out REST as an alternative for providing an API to the desktop client while building the website.

Of course, there are many other options to choose from.

EDIT: I wrote all of this before I knew that the server had been written and that Java had been chosen as the language.

Justin
  • 8,853
  • 4
  • 42
  • 42
  • Please check my updated question. My server side code is in Java. I am looking for the language which can work with server side code Java. – Abhishek Jain Sep 08 '10 at 16:23
1

Visual Studio .NET, either VB or C#.

Beth
  • 9,531
  • 1
  • 24
  • 43
  • Likely a good choice for the client. I'd be less enthusiastic about the server. – Derrick Turk Sep 08 '10 at 16:09
  • 2
    @Derrick Why is that? The site you are using right now (StackOverflow) uses .NET – NullUserException Sep 08 '10 at 16:11
  • The server is specified as being a Unix/Linux box; you'd need to use Mono as well for that platform. – FacticiusVir Sep 08 '10 at 16:20
  • Stackoverflow is one of the few good sites I know using .NET - I would not recommend it by experience. – Johann Philipp Strathausen Sep 08 '10 at 16:27
  • @NullUserException: the OP stated that the server would be a Unix or Linux box. I'm aware of Mono, but also aware that it hasn't quite caught up to the version of the .NET framework available from Microsoft. I tend to believe in "going with the grain"---and for a Unix daemon, that's almost surely not .NET. – Derrick Turk Sep 08 '10 at 17:42
1

Your question is (too) broad, so just a short recommendation: Adobe Air may be a candidate?

Adobe AIR is a cross-operating system runtime that enables you to use your existing HTML/Ajax, Flex, or Flash web development skills and tools to build and deploy rich Internet applications to the desktop.

miku
  • 181,842
  • 47
  • 306
  • 310
  • My team has already started working on adobe Flex for above scenario. But I find Flex too very resource intensive ie consumes much memory in compare to Java swing.It is rich in graphics and can be easily coupled with Java. Please correct me. – Abhishek Jain Sep 08 '10 at 16:44