从Web Developer到软件开发人员 - 知道什么?

时间:2009-07-17 18:00:30

标签: desktop-application

我是一名尝试进入软件开发的网站开发人员。 在开发和部署桌面应用程序之前,我应该了解哪些内容?

我知道这个问题有点模糊,但如果有帮助,我正在寻找类似What should a developer know before building a public web site的答案。

6 个答案:

答案 0 :(得分:1)

我正在开发部署策略,即安装程序,ClickOnce等。这在我第一次部署桌面应用程序时真的让我感到沮丧。

答案 1 :(得分:1)

调试将获得更多“有趣”。虽然大多数情况会将自己解决为常见情况,但请记住,基本上每个桌面本身都是唯一的,有时用户运行的给定安装或特殊应用程序可能会以未知方式影响您的应用程序。我仍然遇到使用Windows“环境文件夹”的应用程序的问题,但它似乎在丹麦语版本的Windows上没有用。

我不是说这会吓到你,而是更多的是为了确保你有一些方法可以轻松调试或转移情况,如果你必须在用户的机器上对应用程序进行故障排除。

答案 2 :(得分:1)

这实际上取决于您的目标应用程序空间。

桌面应用程序已经编写成从Java到VB到C ++到ASM,甚至是基本的“好'男孩”。

您应该让应用程序驱动开发它所需的技术。

你可能不打算用VB写一个3D视频游戏。但是你再也不打算在ASM写一个帐号。

编辑:

 **Know** your customer.
 **Know** your application.
 **Know** what algorthms are necessary to implement your application.
 **Know** your requirements and goals up front.
 **Know** the platform.  (Win32, Mac0S, Linux, JavaVM, etc...)
 Evaluate tools that will help you acheive project requirements and goals.
 Design your software.
 Implement your software.

另一个注意事项发生在我身上。虽然从明确的需求定义开始是重要的,但您还需要了解需求,在开发过程中可能会在Flux中,具体取决于您的客户。管理范围蔓延,或者它最终会咬你。

答案 3 :(得分:1)

一个单独的注释,数据绑定在桌面模型中通常是不同的。由于Web模型已断开连接,因此您始终需要检查数据的新副本,或确保在有机会后重新绑定到表示层。

通常对于桌面应用程序,您使用的语言/框架将自动检查和更新其绑定,这使您在更改基础数据层时很好,但有时在您看到网格/下拉列表时会感到困惑改变,你没想到它。

答案 4 :(得分:1)

在桌面应用程序中,线程变得更加明确,因此您可能应该熟悉基本概念。

答案 5 :(得分:0)

桌面应用程序更依赖于操作系统,因此您可能需要了解某些依赖操作系统的功能,例如进程和线程管理,服务(我的意思是Windows服务)安装和管理,文件系统等。