IRONSOFTWAREHOME

C#在Linux上:系列介绍

Linux 上的 C#: 系列简介

Tim Corey

14m 29s

对于大多数C#开发者来说,Windows一直是他们唯一使用过的操作系统。 工具、IDE、部署目标都围绕单一平台。 这一直有效,直到不再有效,无论是由于近期操作系统更改引发的隐私问题、想要重新利用旧硬件的愿望,还是只是希望了解多个环境的职业优势。

在他的视频"C# on Linux: Series Introduction"中,Tim Corey开启了一系列在Linux上完全开发.NET应用程序的多部分系列。 这一开篇讨论了在编写任何代码之前的背景:选择哪个Linux发行版,哪些编辑器适用于C#开发,您能和不能构建哪些类型的项目,以及当工作流程不再像Windows时该期待什么。 如果您对在其传统主场之外运行.NET感到好奇,这是规划图。

为什么选择Linux? 更多选择的理由

[0:00 - 1:17] Tim开篇有一个坦诚的观察:被锁定在一个平台上限制了您的灵活性。 关于微软对Windows的AI相关变化的先前视频引发了关于替代方案的讨论,而这个系列就是从这些讨论中发展而来的。 目标不是放弃Windows,而是将一个可行的第二环境添加到您的技能中。

拥有这样的广度确实具有职业价值。 如果新工作需要在Mac或Linux上工作,或者如果部署目标在Linux服务器上运行,体验过这种工作流程的开发者就有明显的优势。 Tim将这个系列定位为通过从不同的角度来加深您的.NET知识,而不是作为平台竞争。

选择Linux Mint

[1:28 - 2:42] 让新手感到不知所措的一点是,"Linux"并不是单一的操作系统。 它是一个内核,底层支持着数百个不同的发行版,每个发行版都有其独有的桌面环境、包管理器默认设置和设计理念。 Tim承认,如此多的选择可能令人不知所措,但为这个系列简化了决策:Linux Mint。

Mint在稳定性和熟悉感之间取得了平衡。 它的桌面布局类似于Windows用户已经熟悉的东西,带有任务栏、启动菜单等效项,以及一个行为可预见的文件管理器。 这种视觉上的相似性简化了转换而无需假装这两个系统是相同的。 其他版本如Pop!_OS也是不错的选择,但Mint为习惯了Windows操作的开发人员提供了最易接近的起点。

.NET开发的IDE选项

[2:42 - 3:57] 由于Visual Studio是Windows专用应用程序,Linux开发者需要一个不同的编辑器。 Tim强调了两个主要路径:VS Code搭配C# Dev Kit扩展和JetBrains Rider。

使用C# Dev Kit的VS Code已经在最近的版本中得到了显著的提升,尽管Tim指出一些粗糙的边缘仍然存在。 许可遵循与Visual Studio相同的模型:对个人开发者和小团队免费,对大组织有付费层级。 JetBrains Rider现在为个人项目提供一个免费的社区版本,给开发者第二个无需前期费用的选择。该系列将偏向VS Code,但会同时涵盖两者,因为每个工具在特定任务中有自己的优势。

机器配置:您实际需要什么

[4:00 - 6:14] Linux的一个最实际的卖点是它对硬件的需求极少。 Tim分享了两个可以说明范围的例子。 首先,他描述了在一个树莓派键盘计算机上运行带C# Dev Kit的VS Code,这台设备大约有400 MHz的处理能力和一个双核CPU。 他在其上构建并运行了一个Blazor应用程序。 体验虽然缓慢,但它确实工作了。

第二个例子对大多数开发者来说更容易理解。 一台在Windows 10下已无法使用的旧笔记本电脑(点击超时,应用程序拒绝加载)在全新安装Mint后无问题运行。 同样的硬件,原本几乎无法渲染Windows桌面的设备,变成了一台功能齐全的开发机。Tim明确表示,更好的规格仍然可以带来更好的体验,但在Linux上进行C#开发的最低标准远低于Windows。

您能构建和不能构建的项目类型

[6:17 - 8:23] 并非所有.NET项目类型都能在Windows之外运行,预测这些限制可以防止后期的沮丧。 WinForms和WPF都依赖于嵌入到操作系统中的Windows专用库。 UWP也有同样的限制。 这些都不会在Linux上编译或运行。

MAUI添加了一种值得注意的微妙之处。 尽管它面向多个平台(Windows、macOS、iOS、Android),但Linux不在其列。 这一区别非常重要,因为开发人员有时假设"跨平台"意味着"到处",但实际上MAUI的触及范围排除了Linux和Web。

可用的内容覆盖了广泛的表面。 形成C#学习基础的控制台应用程序无需修改即可运行。 服务应用程序(在Linux中称为守护进程)完全支持。 整个ASP.NET Core Web栈,包括API、Blazor应用、gRPC服务和工作服务,在Linux上以相同的方式运行。 对于需要跨越操作系统的桌面应用程序,Uno Platform作为该系列中的一个未来主题出现,允许您从Linux构建并同时部署到Windows和macOS。

此系列将不做的事情

[8:37 - 11:52] Tim早早设定了三个预期。 首先,该系列并不是反对微软。 GitHub、Azure、Edge、VS Code和.NET本身都是微软的产品,几个将在整个系列中出现。 关键在于选择您自己的术语来采用哪些工具,而不是被强加给您。

其次,这些视频将不会将Linux定位为唯一正确的选择。Windows仍然是大量开发者和工作流的正确环境。 Linux扩展了您的选择; 它不会替代Windows处理得很好的每种情况。 价值在于理解两个平台,以便在给定的情况下选择最合适的那个。

第三,可能对切换开发者最重要的是:不要指望Linux的工作方式与Windows相同。 安装软件会比命令行更多的交互。 包管理遵循一种从根本上不同的模型。 在Windows上感觉自动化的某些工作流程在Linux上需要明确的步骤。 该系列将引导您逐步了解这些差异,解释它们存在的原因和如何处理它们。

期待差异,而不是缺陷

[11:52 - 13:34] 切换平台时的一个常见陷阱是将一切与您已知的内容进行比较。 Tim直接谈到这一点:离开Windows意味着接受某些任务看起来和感觉不一样。 窗口管理、软件安装和系统配置在Linux上都有自己的约定。

其中一些模式确实更好。 例如,Linux的包管理器模型通过一个单一系统保持您的整个软件堆栈更新,而不是依赖每个应用程序去管理其自己的更新程序。 其他差异只是需要调整。 Tim将其比作从Windows切换到Mac,在那儿,他安装了第三方工具来获得他偏爱的窗口捕捉行为。 在Linux上也会发生类似的情况:您会随着时间的推移调整环境以适应您的喜好,而不是期待它去反映您所离开的体系。

总结:该系列的路线图

[13:34 - 14:10] Tim通过概述接下来的内容作结。 该系列从将Linux Mint安装到USB驱动器开始,以便您可以在不接触现有Windows安装的情况下测试整个体验。 从那以后,后续集将涵盖永久安装、设置开发工具和构建真实应用。 旁支视频将在途中解决Linux专用配置任务。

结论

[14:10 - 14:29] 这一引言的关键点非常简单:Linux是一个可行且有能力的平台,用于C#和.NET开发,您在深入之前应了解几个限制。 硬件要求适中,工具已成熟,而对现代开发最重要的项目类型(Web、API、服务、控制台)在不妥协的情况下都能运行。

对于一直在Windows上工作的开发者来说,这个系列提供了一条结构化的路径,以拓宽您的影响力。 从U盘开始意味着不会有任何损失,同时可以获得一项有意义的技能。

示例提示:在全安装前,先将Linux Mint从便携式USB棒引导到您的主计算机上。您将能在不更改现有设置的情况下感受桌面、终端和一般工作流程。如果体验令人满意,您可以在了解预期的情况下过渡到永久安装。

观看完整视频在他的YouTube频道并获得更多关于在Linux上开发C#的洞察。

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户