Typescript會不會借著Angular2,成為主流編程語言?

Google和微軟將通力合作開發Angular2,並且使用的是Typescript,之前Typescript一直沒有進入主流的視野,那會不會藉助這次機會成為主流?


會的,不過國內不會那麼快,需要國外帶動。因為目前國內精通js那一批老人都已經過的很滋潤,不會再敢於創新,那些技術大牛現在基本很少寫技術文,關注的也變成一些生活話題或者專註於管理,更者不削微軟的大有人在,這都是障礙。目前國內的ts主要是搞h5遊戲那批人在推,很多as開發人員轉過來。像我這樣的例子很少,因為老公司不鼓勵技術創新(不提倡使用nodejs或者typescript),我離職出來創業,web前端,node,app全都是用ts開發。


不管會不會, 從"每一個程序員每年至少都應該嘗試學習一門新語言"的角度來看, 它都值得你一學.

但是 它的簇擁們一直強調的它的那些優點, 未必能解決你實際項目中遇到的核心問題.


不敢說一定, 但是個人非常看好.

另外除了 VS 外, 微軟還提供了官方的 Sublime 插件 Microsoft/TypeScript-Sublime-Plugin · GitHub, TypeScript 的語言服務也是開源的 (也是 TypeScript 寫的), 基本上版本升級可以直接替換語言服務文件實現.

目前正在積極帶動公司轉 Node + TypeScript, 有想用 TS 寫 Node 的同學歡迎簡歷到我郵箱~


就說一點,TypeScript提供的類型對大項目開發是非常有幫助的,能夠避免很多無意義的類型錯誤。JavaScript類型和賦值的隨意性一方面很方便,但是在人員多或項目大起來後,會導致處理(判斷、是否具有某屬性等等)時候的混亂。


有可能,TypeScript的使用率在國外一直穩步上升,雖然我們目前的項目還沒有開始使用,但可以看到它已經有了一定的支持率。Community也再逐步擴大。但要成為主流編程語言還有很長的路要走。

但如果說與AngularJS一同應用的話,我更看好Dart. 別的不說,我就摘取從Dart官網上的一句話「Dart is an open-source project with contributors from Google and elsewhere.」 可惜Dart需要安裝它自己的Virtual Machine,真正廣泛應用的話不好說。定位上來說,Dart是Platform,而TypeScipt更傾向於一種語言。

但總的來說,TypeScript和Dart都是我看好的。


要看Angular 2能不能順利交接了

目前看來在社區層面遭到了強力的抵制,很多Angular 1.x的開發者對於這個叫做Angular但是基本前一沒啥關係的東東表示看不懂。JS各種框架是最不缺的,如果沒法復用之前的code,能從1.x的成功延續多大的momentum,個人不大看好


不用感覺, 直接看統計最標準: GitHut - Programming Languages and GitHub, Javascript 就不說了, 冠軍是有理由的. 關鍵是你要看他的增長曲線, 增長的速度只能用變態形容. 然後我們看看排名 19 的 Coffee Script, 就算被很多 ts 粉絲不看好, 他仍然是增長的. 然後就是我們 34 名的 Type Script 了, 按道理被各種閃耀光環籠罩應該是快速增長的吧, 可是為什麼他的流行度在統計里反而略微往下滑了?

我個人使用 ts 後, 想拋棄的原因主要是引用一個第三方的 javascript 庫需要寫一個 .d.ts 文件, 這是一件反人類的事情. 您別說流行的 js 網上都很容易找到 .d.ts, 那是你不懂 js 世界裡的人們的源碼迭代速度. 單單就這點 typescript 就很難流行起來, 不能很好的融入到 js 的生態圈. 而 Coffee 再不濟, 對第三方 js 的友好支持也足夠讓他獲得 ruby, lua 黨們稍稍的憐愛.


個人理解,TS的OO特性是對JS的一項很大提升,還有就是引入了變數的強類型思路。

然而,題主可能忽略了一個事實,為了瀏覽器順利運行腳本,TS都要編譯成JS才行。說到底,TS無非就是JS的一種表現形式而已。

學學肯定沒壞處,我覺得挺好用的


說實在的TS的語法人性化多了


atscript、coffee、ts這些語言都是最終編譯成js腳本的,語法上,你只需要懂得oo的一些概念就能很快上手,而特性上,這些都是js,避不開「函數是一等公民」、「動態對象」、「解釋性語言」等等。

不像從js跳轉到java、python、ruby這些領域,這些語言相對於js是另一個山頭,從入門到精通需要一段時間,因為它們的特性、機制有很大不同,適應新的開發思維需要很長時間(相對於學習語法而言)。在這個層面上,關注流行度才有意義。流行度高的,社區會活躍些,輪子會多些,更關鍵的是就業崗位和薪酬。

可是如果糾結ts、at和cs哪個更流行,為的又是什麼呢?輪子是通用的,新語法上手也不難。找工作的時候看到要求ts語言,你會因為自己擅長的是cs而望而卻步嗎?

當然這幾個語言的思維還是有很大區別的,開發遊戲的時候用ts很方便,如果用cs那就十分無力,沒有像ts那樣原生的包管理,也沒有限制類型,這樣對ide十分不友好,開發過程也是受盡折磨。反過來用ts來開發web前端業務,更像是用挖掘機炒菜。所以你會看到雖然angular2本身是用ts寫的,但是官方教程卻只有js和dart版本,因為ts的那些oo特性,在angular2框架下,是用不上的。(這裡我也很奇怪為什麼會有dart,最後一句可能不對,我需要研究研究)


已經是了。


現在前端在會JS的同時也接觸過OOP的也不在少數了 趨勢還是有的


好些js庫丟到ts裡面用,不是這裡報錯就是那裡報錯。。估計得微軟自己把這些js的d.ts寫一遍才行。。。


為啥我覺得ts再怎麼著也是個輪子(好吧也許算是個大輪子),而不是一輛車呢。


把基礎打紮實,要用什麼的時候都能夠快速學習上手,這才是最重要的

歡迎就前端問題進行交流


推薦閱讀:

vscode編輯器打開大項目能夠快速預覽,這是如何做到的?軟體演算法比atom做的好?
如何看待 Angular 2.0 使用的 AtScript 是 TypeScript 的超集?
如何看待Google和Microsoft在Angular JS 2 和 TypeScript上的合作?

TAG:前端開發 | 編程語言 | TypeScript | AngularJS |