您好,欢迎访问一九零五行业门户网

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多年时间里如何改变的详细内容。
其它类似信息

推荐信息