搜索
首页后端开发C#.Net教程Web开发在过去20多年时间里如何改变

  web在过去20年时间里改变得相当快。越来越多的逻辑从服务器端移动到了客户端。不但需要在客户端编写更复杂的JavaScript代码,而且最近几年还发生了一些奇特的事情:JavaScript正在转移到服务器,而web技术则往桌面转移。这已经不是什么新鲜事了,但20年前谁会想到这种情况?

  web改变了,因而我的技术堆栈也变了。貌似我的堆栈变回到了roots。 20年前,我从HTML和JavaScript开始,再到使用VBScript的经典ASP。 2001年,我开始陶醉于ASP.NET和VB.NET,并用到了产品中,直到2006年底才不再这么干。2007年年底,我开始使用C#编写ASP.NET。HTML和JavaScript仍然参与其中,但多多少少被封装在第三方控件中,并且jQuery当时是JavaScript的别名。JavaScript的一切都是jQuery。ASP.NET WebForms感觉巨大又不是很灵活,但它能有效工作。后来——2010年——我用Silverlight、WinForms和WPF做了很多东西。

  ASP.NET MVC出现了,web这个东西开始再次比ASP.NET WebForms感受更自然点。从一个ASP.NET开发人员的角度来看,web开始变得更好:更加干净、灵活、轻便和自然。

  但也出现了一些新的东西。一些来自于ASP.NET世界之外的东西。强大的JavaScript库,如KnockOut、Backbone,以及后来的Angular和React。第一个单页应用程序框架(对不起,我不想提蹩脚的ASP.NET AJAX…)出现了,UI逻辑从服务器转移到了客户端。(好吧,我们确实在2005年搞回了一个很酷的SPA,但我们没有想过如何用它创建一个框架。)

  NodeJS通过在服务器上使用JavaScript再次改变了世界。你只需要两个不同的语言(HTML和JavaScript),就可以来创建很酷的web应用。我不怎么对NodeJS感兴趣,除了在后端使用它,因为一些工具基于NodeJS。也许这是一个错误,谁知道呢;  )

  现在我们有了ASP.NET Core,这感觉比传统的ASP.NET MVC更自然得多。所谓的自然在这种情况下,意味着和编写传统ASP的感觉几乎相同。这也就是说使用无状态的web工作,而不是试图修复它。使用Request和Response比传统的ASP.NET MVC工作起来更直接,比ASP.NET WebForms甚至就更直接得多。自然并不意味着你必须编写和传统Asp同样非结构化的废话。 ;  )

  由于我们已经有了非常酷的客户端JavaScript框架。和简化了的、简约的服务器端框架,服务器部分就被减少到仅仅用于在REST服务上提供静态文件和数据。

  正是这个时候,深入了解TypeScript变得有了意义。但是到这个时间点为止,它对我还没有意义。我用JavaScript编写代码大概有20年时间,但我从来没有在单个项目中写过这么多的JavaScript代码。之后,在过去几年时间里我开始使用AngularJS。Angular2是应该好好研究TypeScript的一个原因,因为现在的Angular2完全是用TypeScript写的。

  几个星期前,我启动了我第一个真正的NodeJS项目:一个使用NodeJS来为用户提供高度灵活脚本运行时的桌面应用程序。NodeJS提供功能和UI给用户,所有都是用TypeScript写的,而不是普通的JavaScript。为什么?因为TypeScript有很多意想不到的好处:

  • 仍然可以编写JavaScript

  • 帮助编写小的模块和结构化的代码

  • 帮助编写NodeJS兼容模块

  • 一般说来,不需要为每个模块写所有的JavaScript代码

  • 只要专注于所需要编写的功能

  这就是为什么TypeScript对我来说是个大帮手。当然类型化的语言在很多情况下也是有用的,但是——使用JS工作了20年——我喜欢隐式的类型JavaScript语言的灵活性,并且我对它很熟。这意味着,从我的角度来看,有关TypeScript的优点是,我仍然能用TypeScript编写隐式的类型代码,并利用到JavaScript的灵活性。这就是为什么我说“仍然可以编写JavaScript”的原因。

  Web技术改变了,我的技术堆栈也改变了,工具也是。所有这些东西都变得更为轻巧,连同工具一起。控制台回来了,IDE变回为它们的root:只不过是一些有着类似语法高亮和智能感知这些作用的文本编辑器。目前,我更喜欢根据我工作的项目类型使用有着“瑞士军刀”之称的Visual Studio Code或Adobe Brackets。两者都开始变得非常快速,包括一些不错的功能。

  使用轻便的IDE令人愉悦。一切都很快,因为通过我需要开发的app可以使用机器的资源,而不必通过我需要使用来开发app的IDE。这使得发展速度快了很多。

  现今启动一个IDE意味着启动cmder(Windows上我最喜爱的控制台),改变项目文件夹,启动控制台命令,从而查看typescript文件,保存后编译。我可以启动另一个控制台来使用如NPM、gulp、typings、dotnet CLI、NodeJS等工具;以及启动我最喜欢的轻量级编辑器来编写代码! :  )

  原文:How Web Development Changed for Me Over the Last 20 Years

以上是Web开发在过去20多年时间里如何改变的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
c#.net的持续相关性:查看当前用法c#.net的持续相关性:查看当前用法Apr 16, 2025 am 12:07 AM

C#.NET依然重要,因为它提供了强大的工具和库,支持多种应用开发。1)C#结合.NET框架,使开发高效便捷。2)C#的类型安全和垃圾回收机制增强了其优势。3).NET提供跨平台运行环境和丰富的API,提升了开发灵活性。

从网络到桌面:C#.NET的多功能性从网络到桌面:C#.NET的多功能性Apr 15, 2025 am 12:07 AM

C#.NETisversatileforbothwebanddesktopdevelopment.1)Forweb,useASP.NETfordynamicapplications.2)Fordesktop,employWindowsFormsorWPFforrichinterfaces.3)UseXamarinforcross-platformdevelopment,enablingcodesharingacrossWindows,macOS,Linux,andmobiledevices.

C#.NET与未来:适应新技术C#.NET与未来:适应新技术Apr 14, 2025 am 12:06 AM

C#和.NET通过不断的更新和优化,适应了新兴技术的需求。1)C#9.0和.NET5引入了记录类型和性能优化。2).NETCore增强了云原生和容器化支持。3)ASP.NETCore与现代Web技术集成。4)ML.NET支持机器学习和人工智能。5)异步编程和最佳实践提升了性能。

c#.net适合您吗?评估其适用性c#.net适合您吗?评估其适用性Apr 13, 2025 am 12:03 AM

c#.netissutableforenterprise-levelapplications withemofrosoftecosystemdueToItsStrongTyping,richlibraries,androbustperraries,androbustperformance.however,itmaynotbeidealfoross-platement forment forment forment forvepentment offependment dovelopment toveloperment toveloperment whenrawspeedsportor whenrawspeedseedpolitical politionalitable,

.NET中的C#代码:探索编程过程.NET中的C#代码:探索编程过程Apr 12, 2025 am 12:02 AM

C#在.NET中的编程过程包括以下步骤:1)编写C#代码,2)编译为中间语言(IL),3)由.NET运行时(CLR)执行。C#在.NET中的优势在于其现代化语法、强大的类型系统和与.NET框架的紧密集成,适用于从桌面应用到Web服务的各种开发场景。

C#.NET:探索核心概念和编程基础知识C#.NET:探索核心概念和编程基础知识Apr 10, 2025 am 09:32 AM

C#是一种现代、面向对象的编程语言,由微软开发并作为.NET框架的一部分。1.C#支持面向对象编程(OOP),包括封装、继承和多态。2.C#中的异步编程通过async和await关键字实现,提高应用的响应性。3.使用LINQ可以简洁地处理数据集合。4.常见错误包括空引用异常和索引超出范围异常,调试技巧包括使用调试器和异常处理。5.性能优化包括使用StringBuilder和避免不必要的装箱和拆箱。

测试C#.NET应用程序:单元,集成和端到端测试测试C#.NET应用程序:单元,集成和端到端测试Apr 09, 2025 am 12:04 AM

C#.NET应用的测试策略包括单元测试、集成测试和端到端测试。1.单元测试确保代码的最小单元独立工作,使用MSTest、NUnit或xUnit框架。2.集成测试验证多个单元组合的功能,常用模拟数据和外部服务。3.端到端测试模拟用户完整操作流程,通常使用Selenium进行自动化测试。

高级C#.NET教程:ACE您的下一次高级开发人员面试高级C#.NET教程:ACE您的下一次高级开发人员面试Apr 08, 2025 am 12:06 AM

C#高级开发者面试需要掌握异步编程、LINQ、.NET框架内部工作原理等核心知识。1.异步编程通过async和await简化操作,提升应用响应性。2.LINQ以SQL风格操作数据,需注意性能。3..NET框架的CLR管理内存,垃圾回收需谨慎使用。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)