Linux 作为一个完整的开发平台?

Xin*_*nus 8 linux opensource-projects

我想让我的 Fedora Linux 能够执行以下操作:

  1. 使用 Linux 作为完整的开发平台,无需安装任何其他操作系统,但仍然能够在不同平台下构建和测试程序。

  2. 完全替换 Windows 机器进行所有其他工作,例如 Office、Paint、远程桌面等。

您能否建议用于实现上述目标的开源项目和工具?

λ J*_*kas 3

无论您是系统程序员、Web 开发人员还是桌面应用程序开发人员,您都可以轻松进行跨平台开发。如果您对系统感兴趣,那么您为 Linux 编写的任何实用程序和/或驱动程序都可能适用于其他 *nix,只需进行很少的修改。如果您编写标准 C 代码并且不使用太多系统特定调用,它们甚至可能很容易移植到 Windows。

如果您是桌面应用程序开发人员,您可以以 GTK、QT 或 wxWidgets 为目标,并且您的应用程序可能会在当今的 3 个主要平台(*nix、Windows、Mac)上运行良好。同样,将系统特定的调用保持在最低限度,或者将它们隔离到系统特定的包装库中。您还可以调用诸如 JVM 和/或 CLR 之类的虚拟机作为目标,这将允许应用程序全面工作。

如果您是一名网络开发人员,那么您可能会遇到太多不同的选择。我更喜欢名为Cherokee的小型 Web 服务器,我开发并运行在其上运行并使用 PgSQL 后端的 ASP.NET(单声道)和 Django 应用程序。

因此,结论是,如果您可以在目标平台上编译代码,并且在编写代码时或者您的目标是虚拟机时牢记这一点,那么 Linux 中的跨平台开发是可以完成的。另一点是,你可能会遇到选择悖论而不知道该使用什么。为此,请阅读下面我对第二个问题的回答。

关于第二个问题,我找到的最好的资源是Open Source Alternatives。该网站列出了商业软件及其开源替代品。几乎所有替代方案都可以在 Linux 和 FreeBSD 上运行。