【问题标题】:Understanding the future of the .NET framework了解 .NET 框架的未来
【发布时间】:2015-07-02 05:32:46
【问题描述】:

我目前使用 Qt 进行桌面应用程序(简单应用程序)开发。我不喜欢 Qt 的一件事是,我感觉免费许可证最终会消失,我宁愿转向不同的框架。另一方面,我听说 .NET 会开源和跨平台。

谁能澄清这到底是什么意思,因为我已经读到只有服务器端会开源和跨平台,但我不确定这是否只会影响 Linux 服务器。

  1. 这是否意味着我们将能够在 Visual Studio 中创建跨平台应用程序?

  2. 这是否意味着 Visual Studio 可以在 Linux 和 Mac 上运行?

非常感谢

【问题讨论】:

  • 此链接应提供见解:weblogs.asp.net/scottgu/…
  • 1.是 - 2。不,不太可能。整个想法是使 ASP.NET 5 应用程序能够托管在其他平台上 - 不仅仅是 Windows 和 IIS - 以使它们跨平台。但这就是 ASP.NET 运行时和应用程序。在我看来,Mac 上的 Visual Studio 不太可能 - VS 只是使用了太多 Windows 特定的功能(例如其 GUI 的 WPF)来使其可移植

标签: c# .net visual-studio-2010 cross-platform


【解决方案1】:

12 月,我收到了来自 BizSpark 的一封电子邮件,内容与此完全相同。

http://weblogs.asp.net/scottgu/announcing-open-source-of-net-core-framework-net-core-distribution-for-linux-osx-and-free-visual-studio-community-edition

基本上,这个想法是开源 ASP.NET 运行时,以允许开发人员为所有平台构建 ASP.NET 网站。

也就是说,没有人知道微软会把它带到哪里。我个人的看法是,他们会利用这个机会将ENTIRE .NET 框架移植到 Linux/OS X 上,但这是完全的猜想。

今天我很高兴地宣布,我们将更进一步,并将开源 .NET Core 运行时。这将包括执行 .NET 代码所需的一切——包括 CLR、即时编译器 (JIT)、垃圾收集器 (GC) 和核心 .NET 基类库。

更重要的是:

今天的开源公告意味着开发人员将拥有一个完全受支持、完全开源、完全跨平台的 .NET 堆栈,用于创建服务器和云应用程序——包括来自 C#/VB 的所有内容编译器,到 CLR 运行时,到核心 .NET 基类库,到更高级别的 .NET Web、数据和 API 框架。

您应该访问 .NET 的 GitHub 页面,看看它提供了什么,因为这可能是 .NET 的第一个跨平台部分:https://github.com/dotnet/

所以,回答你的问题:

  1. 在一定程度上。整个 .NET 框架预计会被移植(主要是 System.Windows 和其他 GUI 库)。您可能不能能够为 Linux/OS X 开发 WPFWindows Forms 应用程序,但能够为它们开发 ASP.NET WebForms and MVC 产品。

  2. 不太可能。 Visual Studio 预计仍将是一个仅限 Windows 的应用程序。

编辑:是的,您可以继续将 MONOWINE 用于基于 GUI 的应用程序,是的,大部分 MONOWINE 实现可以基于 .NET 框架的新开源,但如果您期待 Visual Studio em> 允许您编译 Linux/Unix/OS X 原生应用程序,您可能不会在新公告中找到它。

【讨论】:

    【解决方案2】:

    重大新闻:来自 .NET 项目管理总监 Scott Hunter:

    未来对 .NET 的所有投资都将集中在 .NET Core。这包括: 运行时、JIT、AOT、GC、BCL(基类库)、C#、VB.NET、F#、 ASP.NET、实体框架、ML.NET、WinForms、WPF 和 Xamarin。

    https://devblogs.microsoft.com/dotnet/net-core-is-the-future-of-net/

    【讨论】:

      【解决方案3】:

      .net 框架是跨平台的(类似于 java 的 JVM,都是托管代码),允许您开发将在 linux/mac/ios/android 上运行的应用程序,但我不知道您是否会能够在 Windows 以外的任何东西上运行 Visual Studio(可以在你的 Mac 机器上安装 Windows 并切换到它)。

      虽然有用于 .net 的跨平台 IDE,例如 Mono。如果您搜索它们,您会发现一些选项。

      这是今天 5 月 1 日(VisualStudioMagazine)刚刚发布的,当我想起你的帖子时,我想我会添加这个:

      “您可能从未想过您会看到 Visual Studio 在 Mac 上本地运行的那一天。Visual Studio 系列的最新成员 Visual Studio Code 就是这样做的。Visual Studio Code 是一个轻量级的代码编辑器,具有可在 Windows、Mac 和 Linux 上运行的版本。但不要被轻量级的事实所欺骗。它包含大量功能,例如完整的 Intellisense、颜色编码等。更好的是,它是免费的。”

      【讨论】:

        【解决方案4】:

        使用Mono,您可以创建跨平台应用程序,甚至使用WinFormsGtk# 的GUI,您可以在.net 下的Visual Studio 中开发和编译(我们知道mono 只是 .net 的重新实现),但在 Linux 中,您必须在 mono 下运行它们。我认为 Mono 有一个美好的未来,因为微软已经制作了他们的新编译器 open-source,因此它将简化单项目的开发。

        我认为 Visual Studio 不会在 LinuxMac 中可用,因为将它们移植到这些平台上将是一项巨大的工作。如果你只是想要一个IDE在另一个平台上开发你可以使用MonoDevelop,但它没有Visual Studio那么丰富

        【讨论】:

          【解决方案5】:

          这是否意味着我们将能够在 Visual Studio 中创建跨平台应用程序?

          是的。有多种第三方用户界面框架可用于开发开源应用程序。据我所知,除了已弃用的 Silverlight 之外,它们都没有得到 Microsoft 的正式支持。

          WinForms 确实可以在 Mono 下工作,并且可以用来交付在 Linux 和 Mac 上工作的应用程序,但我上次尝试过,它有点错误。现在可能会更好,但是如果您使用它,您将希望尽早测试并经常在多个平台上进行测试。桌面体验也感觉很陌生,尤其是在 Mac 上。此外,您只能在 Windows 上的 Visual Studio 中获得设计器支持。但它确实有效。

          还有GTK# 是免费的(在两种意义上)。这为应用程序提供了一种更加原生的感觉,不是 100% 完美但非常好。 MonoDevelop 中有设计器支持,并且有一些外部工具可用于设计用户界面,然后可以将其加载到应用程序中。

          Xwt 是免费的,看起来很有前途,并且正在积极开发中。我有一段时间没看它了。这个显然被 Xamarin Studio 和 MonoDevelop 使用,所以它可能相当健壮。

          Eto.Forms 是另一个看起来很有前途的免费软件,它包括对移动开发的支持。根本没怎么看,最近好像也没有在积极开发。

          这是否意味着 Visual Studio 将在 Linux 和 Mac 上运行?

          没有。这似乎极不可能。 Wine 似乎已经制作了some progress on some older versions of Visual Studio,但您可能无法使用任何最新版本的 Visual Studio。

          【讨论】:

            猜你喜欢
            • 2010-10-25
            • 1970-01-01
            • 1970-01-01
            • 2016-03-22
            • 1970-01-01
            • 2018-07-23
            • 1970-01-01
            • 1970-01-01
            • 2011-05-01
            相关资源
            最近更新 更多