Web開發在過去20多年時間裡如何改變

來源:互聯網
上載者:User
  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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.