我是一名正在尝试进入软件开发的网络开发人员。在开发和部署桌面应用程序之前,我应该了解什么?
我知道这个问题有点含糊,但如果有帮助,我正在寻找类似于“开发人员在构建公共网站之前应该知道什么”的答案。
我是一名正在尝试进入软件开发的网络开发人员。在开发和部署桌面应用程序之前,我应该了解什么?
我知道这个问题有点含糊,但如果有帮助,我正在寻找类似于“开发人员在构建公共网站之前应该知道什么”的答案。
我会研究部署策略,即安装程序、ClickOnce 等。当我第一次部署桌面应用程序时,这真的让我大吃一惊。
调试会变得更“有趣”。虽然大多数情况会自行解决常见的情况,但请记住,基本上每个桌面本身都是独一无二的,有时用户正在运行的给定安装或特殊应用程序可能会以未知方式影响您的应用程序。我的应用程序使用 Windows“环境文件夹”时仍然遇到问题,但它在丹麦语版本的 Windows 上似乎不能正常工作。
我这样说并不是为了吓跑您,而是为了确保您有某种方法可以轻松调试或在您必须对用户计算机上的应用程序进行故障排除时获得情况转储。
这实际上取决于您的目标应用程序空间。
从 Java 到 VB 到 C++ 到 ASM,甚至偶尔用“Good 'ol Boy”basic 编写桌面应用程序。
您应该让应用程序驱动您开发它所需的技术。
您可能不会用 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 中。在发生范围蔓延时对其进行管理,否则它最终会咬你一口。
另请注意,数据绑定在桌面模型中通常不同。由于 Web 模型已断开连接,因此您始终需要检查数据的新副本,或者确保在有机会后重新绑定到您的表示层。
通常对于桌面应用程序,您使用的语言/框架将自动检查和更新其绑定,这在您更改底层数据层时会变得很好,但有时当您看到网格/下拉列表发生变化并且您没想到会。
线程在桌面应用程序中变得更加明确,因此您可能应该熟悉基本概念。
桌面应用程序更依赖于操作系统,因此您可能需要了解一些与操作系统相关的功能,例如进程和线程管理、服务(我的意思是 Windows 服务)安装和管理、文件系统等。