我正在讨论如何解决这个问题 - 我在Java,C ++,Perl和Python方面有一些经验,但从来没有机会或机会将应用程序编写和分发给任何有意义的其他人。
应用程序需要与REST API(使用OAuth)进行通信,以及访问文件系统,并可能进行一些图像处理(编码/调整大小,但这是一件好事)。我一直在思考.NET,但AIR也是一种可能性(虽然我真的不想要一个巨大的运行时,这将是一个系统托盘类型的应用程序。)
我不是在找人写,但我可以用正确的方向轻推。
答案 0 :(得分:2)
在语言支持方面,你可以用C ++,Java,C#,Python等来实现。实际上,我认为C ++,Java和C#是大多数用户的选择。但请记住,C ++和Java中的GUI支持对于学习和使用来说都很复杂。如果您计划制作许多大型项目,性能是一个问题(在大小和速度上),您需要一个简单的安装过程,使用C ++。如果这些最后的限制不适用(仅限项目的大小和数量),请使用Java。假设你必须花费一些相当大的初始时间来准备基础设施(图书馆和等等)。
如果您的计划更短期(不是那么多项目,而不是那么大的项目),请使用C#。它真的是最容易学习,使用和生成有效的代码,而对于Mono项目,它不再局限于MS平台。
答案 1 :(得分:2)
我会推荐Visual Studio Express版本。由于您有使用C风格语言的经验,请尝试从Visual C#Express开始。 2008 SP1版是一个非常强大的IDE,它是完全免费的。使用Express版本进行个人或小规模开发的唯一缺点是他们没有类设计师,您不能使用插件。
确保以.NET 2.0为目标,以覆盖更广泛的受众群体。如果Windows XP是最低要求,那么你也可以尝试使用WPF的.NET 3.5,这使得应用程序开发更像是Web开发,这可以帮助你进行用户界面设计,因为你来自网络背景。
运行时开销可以忽略不计,因为大多数人都会有一个正在运行的.NET 2.0 Framework(你无法从Vista或更高版本卸载它,ATI Catalyst Control Panel也带有.NET 2.0,所以很多都是电脑用户有它)。我认为这至少是推荐的Windows XP Windows Update。
注意:还有本地化版本,因此您不一定需要我发布链接的英文版本。
Delphi也很好,但原版Delphi的免费版本有一些问题,没有免费的Delphi版本,也没有Lazarus版本,甚至接近Visual Studio 2008所提供的版本。
答案 2 :(得分:1)
多年来,作为Delphi程序员,您可以随心所欲地完成任务。
我开始在工作中使用C#。它也是一种很棒的语言,但对于分布式应用程序。 .NET框架仍然阻止我将其用于我的个人应用程序。
在我看来,Delphi是一个不错的选择。如果你想要一个免费的IDE,你可以看看Lazarus / Free Pascal。
使用此选项,您可以构建EXE,就是这样。将EXE运送给客户,它正在运行。不需要在计算机上安装DLL /框架。
当然,如果您使用的是数据库内容或第三方DLL,则必须随身携带必要的内容。但它比使用VB的所有vbrunxx.dll或所有.NET语言都简单。
这是我的2c ......我想我会为此受到抨击! ; - )
HTH
答案 3 :(得分:1)
如果您正在学习新内容,请跳过Windows窗体并直接转到WPF。它非常类似于在xhtml中构建UI,但具有令人敬畏的数据绑定和较少的兼容性问题。
答案 4 :(得分:0)
如果您使用AIR,您将拥有跨平台解决方案。您还可以利用Zend Framework中的一些新AMF支持来实现更快,更高效的通信协议。 XML很大,JSON较小,但AMF是二进制的,压缩得更多。 AIR还允许您以两种方式编写应用程序。第一个是传统的Flash播放器/ Flex组合,另一个是使用Javascript编写一堆HTML页面,利用AIR提供的API。 Aptana为Eclipse生成一个功能免费的IDE插件,以第二种方式编写AIR应用程序。 FlashDevelop是另一个免费的IDE,它更适合编写应用程序的flash / flex方式。如果您是学生(免费IIRC),Flexbuilder也可免费使用30天且便宜。
答案 5 :(得分:0)
我也会去Delphi。免费的Turbo Explorer适用于快速项目,或者只是尝试它(以后再购买许可证)。如果您想成为长期的freebee用户,请直接使用Lazarus / FPC。
主要原因:单个.exe可能性,与其他libs良好的接口。
两者都支持几组套接字库以及数据库连接到free和unfree数据库。
.NET适合企业使用,如果你公司安装它默认(请记住,XP附带.NET 1.x)。对于广大受众使用,说服用户安装运行时,它不是病毒,并且它不能让您通过他们的监视器监视它们是一个漏洞。