为我的项目建议语言

时间:2010-09-08 16:03:10

标签: programming-languages language-features

我正在开发一个项目,我们必须决定使用哪种语言。

要求如下:

  1. 客户应该兼顾网络 基于浏览器和独立桌面 application.Both将有相同的 特征
  2. Gui应该有丰富的图形但仍然很轻。它不应该使用太多的内存来渲染视图。客户端机器有内存限制。
  3. 服务器位于unix / linux boxes.Server端代码可用Java。
  4. 客户端将在Windows机器上运行。
  5. 我们有基于swing的客户端。它不丰富,消耗大量内存。内存有限。是否有可能我们不需要从基于swing的应用程序转移?它也可以在图形方面得到改进。

    我们正在考虑将我们的客户端代码移动到可以与java中的服务器端代码一起使用的其他语言。

    如果我的问题仍然不明确,那么我会尝试更新它。 请建议。

    谢谢,

    Abhishek Jain

3 个答案:

答案 0 :(得分:3)

绝望的大问题。使用你所知道的可能是最好的选择。

那就是说,我要做的是使用Mono(之前我已经做过)。

我会使用ASP.NET MVC通过mod_mono通过Linux上的Apache获取服务器端Web代码,并使用JQuery在客户端上提供性感。我会确保使用unobtrusive JavaScript技术,以便即使JavaScript不可用也能正常运行。

使用Mono(.NET)的优点是,您可以使用相同的语言编写Web内容和客户端内容(我会使用C#)并使用相同的后端和DLL都。对于客户端GUI,如果您想要跨平台,则可以使用WPF,如果它只是Windows或Windows窗体或GTK#。我可能会使用GTK#,这样我就可以选择在Linux和Mac上运行桌面客户端。

ASP.NET MVC是开源的,并在Mono中提供了开箱即用的实际Microsoft代码。

如果您想构建智能手机前端,可以使用MonoTouchMonoDroid并重复使用后端基础架构。

对于工具,如果您在Windows上开发,可以使用VisualStudio和朋友,如果您在Linux上编写,则可以使用MonoDevelop作为IDE。 MonoDevelop还允许您使用Subversion或Git进行源代码控制,使用NUnit进行单元测试。

要与桌面客户端进行通信,请在构建网站时选中REST作为向桌面客户端提供API的替代方法。

当然,还有很多其他选择可供选择。

编辑:在我知道服务器已经编写并且已经选择Java作为语言之前,我写了所有这些。

答案 1 :(得分:1)

Visual Studio .NET,VB或C#。

答案 2 :(得分:1)

您的问题(太)广泛,所以只是一个简短的建议:Adobe Air可能是候选人?

  

Adob​​e AIR是一个跨操作系统运行时,使您可以使用现有的HTML / Ajax,Flex或Flash Web开发技能和工具来构建富Internet应用程序并将其部署到桌面。