每一代人都有记忆里的味道。煤球炉、黑白电视机是属于父母的记忆。而“拖控件”式编程,启蒙了无数像我这样的80后(嗯,89也算80后)。
经典旧世
2000 年那个时候,上海这样的城市里也不是每家每户都有电脑,我家也没有电脑。我在学校经常听几位家里条件不错的同学说他们玩电脑的事情。CIH、千年虫等名词让我对电脑有着非常强烈的好奇心。而我第一次体验到计算机,是在我母亲单位的机房里。它是一台卧式机箱、15寸 CRT 凸面屏显示器的 Windows 95 电脑。
当时的微软对我来说就是神的存在。因为我认识电脑到使用电脑的一切几乎都离不开这家伟大的公司,它就像上帝一样开天辟地,创造了PC上的万物。Windows、Office、IE 这些当年几乎是唯一的主流产品。而微软的创始人之一比尔·盖茨也成了我的偶像。还记得当年,上海有个PC专题的电视频道,有一天该频道播放了比尔盖茨关于.NET战略的演讲,啥也不懂的我,居然坐在电视机前完整看完了节目。当时的我并不知道,.NET将会彻底改变我的人生轨迹。
图:《人民网》报道 .NET 战略
可能对于现在的年轻一代程序员来说,并不知道“拖控件”是什么意思。在我小时候,当年最流行的编程启蒙语言并不是Python和那满地的少儿培训班,而是Visual Basic 6.0。VB6之所以被称为”toy language”,就是因为它提供了图形界面的可视化设计器,只要拖拽控件(如按钮、文本框)到窗口上,就可以通过事件驱动的模型来编程,极易上手。
而我在VB6上没拖多久控件,就不小心误入了 .NET 的世界,起因是小时候不懂,为了更新编程环境,不小心购买了一张 Visual Studio .NET 的盗版光盘,装完了发现,这个VB怎么和以前的不太一样啊,从此走上了不归路……
图:Visual Studio .NET on Windows 2000
图:Visual Basic .NET 代码
控件的远征
无数程序员就这样拖出了一个时代。工业、医疗、零售、制造、物流等行业至今仍然随处可见 .NET 拖出来的Windows Form、WPF甚至ASP.NET WebForm系统。Visual Studio强大的工具支持,以及拖控件事件编程模型,虽然让生产力发挥到了极致,但也成了不少人对.NET固有的印象:“你这种用.NET的,拖拖控件,小学生都会!”
拖控件生态,也养活了诸如DevExpress、Telerik、葡萄城等队友。这些三方厂商提供了比微软.NET Framework内置控件更强大的免费或收费的控件库,配合Visual Studio使用,开发效率简直恐怖。
控件王之怒
但正常的 .NET程序员都知道,控件只不过是 GUI 应用的一种形式而已。ASP.NET MVC、Web API、Signal R等框架根本拖不了控件。根深蒂固的 “.NET就是拖控件” 的思想,也闹出过笑话。记得8年前,微软刚推出 ASP.NET MVC 3 框架不久,我所在的公司就接到了一个 MVC 的新项目,由于整个部门200多人只有我研究过MVC,公司就派我去给客户做个POC。我第一天就被高级研发经理训斥了:“公司为了这个项目花钱买了 DevExpress 的 ASP.NET 控件,你为什么不用啊?” 。面对公司白买的控件,我笑出了眼泪,就像这样:?
我自己开发和维护我的个人博客10年了,从大一时候拖出来的 ASP.NET Web Form 2.0 VB Access,到今天的 ASP.NET Core 3.0 Azure云端全家桶。我有幸见证了.NET和Web的发展,也更有幸能在全面转战 .NET Core的外企工作,不仅没有996,偶尔还能拖控件维护VB.NET的老产品回忆童年。
是的,就像这样,.NET 早就变了,只不过很多人不知道。
互联网的裂变
可惜,在互联网浪潮下,国内众多公司纷纷转战其他语言和平台。大环境宣传着 Windows收费、.NET 的东西只能在Windows上用、Windows臃肿,.NET 性能差、.NET 没有移动端、微软要倒闭了……。于是,很多以前买个打火机就能完成的事情,现在非要野外钻木取火,成了无数福报之源。.NET 和微软系的生态早就进入了恶性循环,接近完蛋。世界 .NET 市场格局更是形成了国内与国外市场的鲜明对比,国内的.NET程序员的退路似乎只有两条:要么进外企,要么转别的语言。移动为先、云为先的时代里,别家语言都是开源跨平台的,而.NET还非要在Windows上用,再高效的生产力也无法适配现在的世界,它似乎只能代表上一个10年的辉煌。
.NET Core 之谜
.NET真的不行了吗?
不,它比以往任何时候都好!
“
2014年微软组织并成立.NET基金会,微软在成为主要的开源参与者的道路上又前进了一步。2014年以来已经有众多知名公司加入.NET基金会,Google,微软,AWS三大云厂商已经齐聚.NET基金会,在平台项目中,.NET平台上有87%贡献者其实并不在Microsoft工作。为了将.NET基金会变成一个更加多样化和成员驱动的组织,微软把.NET 的发展真正交给社区,为了让OSS真正蓬勃发展。
——张善友,微软最有价值专家
”
图:.NET 官方网站首页
跨平台之王
我只知道,.NET 开源了,GitHub 是我们的新家。
我只知道,.NET 跨平台,Linux 也是一等公民。
我只知道,.NET 云原生,微服务玩容器不在话下。
我只知道,.NET 更自由,VS、VS Code、vim任你选。
我只知道,.NET 全能了,桌面 WinForms/WPF,网站 ASP.NET,游戏 Unity,移动 Xamarin,人工智能、机器学习、物联网哪里都能用上。
我只知道,.NET 不再归微软所有,87%的贡献者来自社区。
我只知道,.NET 招不到人的时候,我们愣是招到了200多人。
我只知道,.NET 正在国内复苏,更有企业光荣加入 .NET Foundation。
我只知道,因为坚持.NET,我下班的时候,天还亮着。
我只知道,因为坚持.NET,10年了,我的头发一根没少。
控件再临
20年前,盖茨叔开天辟地予力众生。20年后,纳德拉拥抱开源成就不凡。如今,.NET Core 3.0 的发布又是一个崭新的篇章,除了GRPC、Blazor等新伙伴,我们熟悉的控件小朋友们也回来了。不管你是做桌面、网站、物联网、游戏还是人工智能,.NET还是一如既往的高效生产力。
过去10年里,有太多战友被迫离开了曾经热爱的 .NET 家园。不知道现在的你们,过的如何?.NET对我来说,不仅仅是一个编程平台,更是一种信仰,带着兴趣工作,从来都不累。我知道,有许多人和我一样根本不愿意,也不会离开。月是故乡明。也许你们的心中,有个未完的等待。这不,.NET Conf 2019 中国(包括中国香港、中国台湾)即将举办我们的第一场线下 .NET 大会。我们期待着大家的回归!
争霸格子衬衫
“
我们从开始筹备2019 中国.NET 开发者峰会已经有好一段时间,从确定主题到寻找举办地,我们都是在业余时间进行,无论多么困难我们一定要办成功这次完全由中国.NET社区自发组织的大会,我们希望通过这次大会汇聚中国.NET社区的能量,.NET的刷新也包括我们自己的刷新。
—— 张善友,微软最有价值专家
”
中国 .NET 开发者峰会
2019年11月9日 09:00-18:00
中国 上海
门票优惠
10月20日前购票可享受早鸟票100元优惠,只需199,限量300张,先到先得;超级早鸟票及社区特价票需要审核资料;购买团体票(大于10张)享受整单8折优惠,请通过邮箱联系主办方 dotnet@dotnetconf.cn
https://www.huodongxing.com/event/4514005355700
扫描二维码,或点击【阅读原文】报名