All checks were successful
Build blog docker image / Build-Blog-Image (push) Successful in 1m36s
48 lines
4.5 KiB
Markdown
48 lines
4.5 KiB
Markdown
---
|
||
title: .net从入门到放弃再到入门
|
||
tags:
|
||
- 技术笔记
|
||
- dotnet
|
||
date: 2022-08-21 16:59:08
|
||
---
|
||
|
||
# .net从入门到放弃再到入门
|
||
|
||
我宣布下面的内容都是我在胡扯。在写了一学期的`Java`和`Springboot`之后,我的评价是`Java`是什么垃圾东西,`C#`才是永远的神!
|
||
|
||
~~这是一篇专业的.net劝退指南,详细记述了我为啥选择了.net又为啥选择了放弃。~~
|
||
|
||
<!--more-->
|
||
|
||
### 开端——WPF桌面应用
|
||
|
||
~~在今年年初的时候,受到[通知大全](https://squidward.top/)启发,我决定编写一款自己的DDL管理应用程序。在一开始,我打算先在Windows平台上编写,当时我了解到Windows上最正统的桌面应用程序开发方式就是采用微软自家的.net平台开发,同时在[知乎](https://zhihu.com)上一群人在吹`C#`在设计上是如何如何的优于`JAVA`,当然在这里没有说他们的观点错误的意思,把我忽悠的一愣一愣的。.net在当时已经有了比较老旧的`WinForms`框架、比较流行的`WPF`框架和最新的`MAUI`框架。~~秉持着中国人中庸的思想潮流~~,我选择了`WPF`图形框架作为我当时开发的框架,从此入了.net平台的坑。~~
|
||
|
||
> 如今这个桌面端的项目已经基本烂尾,项目开源在[github](https://github.com/jackfiled/PostCalendarWindows),算是警醒后来的我在技术选型时应该更加的慎重
|
||
|
||
~~说实话,在开发的一开始,我就感觉力不从心。~~
|
||
|
||
~~第一,官方文档好但不完全好。微软虽然提供了本地化过的文档,但是有很大比例都是机翻的文档。我觉得吧,放机翻的文档还不如直接放英文原文的文档。同时,文档的大部分都是API列表一类的参考资料,对于初学者来说比较重要的“实用教程”等等部分内容较少,虽然文档全面而详细,但对于初学者来说并没有很大的帮助。毕竟我们不知道在数以万计的API中,哪个才能实现自己的需求。~~
|
||
|
||
~~第二,国内缺少.net相关的社区氛围。这点也是最为劝退的地方,相比于`JAVA`在国内广泛的应用和丰富的社区内容,国内.net和`C#`相关的内容除了在`Unity`游戏开发中还算广泛,其他称得上是乏善可陈。~~
|
||
|
||
~~在一堆好几年前的博客和半懂不懂的英文文档中沉浮一个月之后,我总算是写出了一个可以运行的成品。随着新学期的到来,以学业繁忙为借口,我停止了这个应用的开发。~~
|
||
|
||
### 重启——服务器开发
|
||
|
||
~~在经历了桌面应用的失败之后,我转移了自己的开发重心,开始了移动应用的开发,这次我没有坚持被微软的`MAUI`那八字还没有一撇的技术忽悠进去,选择了`flutter`框架搞开发。有应用自然就得有提供数据的后端,在开发服务器时,我又被微软的`ASP.NET`给“忽悠”了进去。~~
|
||
|
||
~~平心而论,`ASP.NET`开发的过程比上文中的桌面应用程序的开发还是要顺利不少。毕竟现在采用`B/S`架构的服务更多,个人感觉国内应用这项技术的人也不少,相关的技术资料也就不少,我入门的过程也就流畅许多。~~
|
||
|
||
~~虽然但是,在开发的过程中劝退的地方也不少。第一是微软自己的版本更迭,尤其是在微软宣布`dotnet core`,将.net开源之后,个人感觉国内的开发者似乎不是很感冒,还是用着原来的老一套。第二是和现在的技术流行方向不同,原本采用`JAVA`搞服务器的开发不太可能再更换语言,第二新入行的开发者也会选择当下流行的`GO`等语言,这就导致在开发中有一种单打独斗的感觉,很难找到人同你合作。~~
|
||
|
||
### 放弃
|
||
|
||
~~在坚持学习.net八个月之后,我还是决定放弃,转向学习`JAVA`。~~
|
||
|
||
- ~~没人用的技术的技术不要硬刚,即使是好技术也不要。没人用的技术就像一潭死水,只有流动起来,才能孕育生机和活力,否则只能在原地腐烂。~~
|
||
- ~~之于我而言,语言不仅仅是开发软件的工具,更是需要计算机相关知识的工具。转向`JAVA`的原因之一就是我目前学习的数据结合课——伯克利的`CS61b`就是采用`JAVA`作为编程语言的。~~
|
||
|
||
~~虽然我已经决定将我的主力语言转向`JAVA`,~~但不得不承认`C#`在语言上的特性还是很不错的,以后我的重心不会放在`C#`上,但是他也不会从的技能树上消失。也许在若干年之后,我的主力语言又变回`C#`了(笑)。
|
||
|
||
> 全文的最后一句话可能是我现在唯一认同的了 |