Angular 2.0 調查:43% 選擇 Webstorm 編輯器

2020-12-14 開源中國


這是 Jeff Whelpley 和 Patrick Stapleton 發布的博客,他們並不是全職的 Angular 團隊成員,是 Angular 社區值得稱讚的貢獻者。本文是對所有用戶都想知道的,關於 Angular 的一些總結。

幾周前,Patrick 和 Jeff 就開始了一份對 AngularJS 開發者的調查,主要是關於他們計劃如何使用 Angular 2。此次調查總共收到了 2100 份回復,還有其他類型的反饋。所有的結果都已經整理成了下面的圖表和分析。

免責聲明

一開始只是想調查小型開發者團隊,已經花費了大量時間在 Angular 2 上面的團隊。但是,很快,收到越來越多的反饋。Angular 2 還只是 Alpha 階段,還不能構建產品應用。也就可以大膽假設大部分開發者只是剛剛開始學習 Angular 2.0。也因此,此次調查的結果顯示的是他們未來會如何使用 Angular 2,而不是現在所做的這些。

Transpilers

當使用 AngularJS 2 的時候會選擇哪種方式? (單選)

TypeScript45.0%950
Babel33.2%700
Not sure11.3%238
ES59.0%190
Other1.6%33


分析

前 1000 份結果中,TypeScript 和 Babel 不分勝負,但是之後就開始慢慢拉開距離。這也不奇怪為什麼 Angular 核心團隊偏愛 TypeScript 了。這裡有個關於 TypeScript vs Babel on Angular Air 的討論。

即使繼續使用 ES5 並不是一個好的長期策略,但是一部分開發者使用 ES5 來從 Angular 1 轉換到 Angular 2。如果你覺得你繼續使用 ES5 是因為不喜歡 transpilers,可以再給一次機會,Transpilers 在過去幾年裡也有了很大的改進。

"其他" Transpilers

有一部分用戶說他們會同時使用 TypeScript 和 Babel,雖然看起來有些奇怪,但是也不是沒有可能,未來也許就可以一起使用。其他的一半是反饋使用 Dart,一個 Closure Compiler。同時,有 7 個使用 CoffeeScript,大概是 Ruby/Python 用戶。

模板語法

你會使用哪個模板綁定語法?(單選)

bind-prop="val"56.7%1192
[prop]="val"43.3%912


分析

這是最令人吃驚的一個結果,也非常的有意義。即使 Angular 核心團隊更喜歡第二個選項 (i.e. [prop]=val which is the canonical syntax),第一個選項 (i.e. bind-prop="val") 看起來像 Angular 1.x 模板代碼。

"其他" 語法

AngularJS 團隊建議大家嘗試不同的變量,不要僅僅因為陌生而規避規範化的語法。

模板位置

你會選擇在哪裡放置你的模板?(單選)

 

Both47.6%1008
External file46.5%986
Inline3.4%73
Not sure1.8%39
Other0.6%13


分析

我們更偏愛內聯模板,但是有一定數量的用例需要放置在單獨的模板文件。

內聯模板的優勢:

  1. 給定組件的代碼都在一個文件

  2. 鼓勵開發者控制模板的大小,太大的時候可以重構

獨立模板文件的優勢:

  1. Angular 1 開發者熟悉這種方式

  2. 容易與設計師或者其他非開發人員分享

  3. 今天的編輯器會提供更好的智能支持

  4. 大型模板會比較自然,不能被分離成更小的部分(比如表單和布局)

等下一年開發者越來越熟悉 AngularJS 2,提供更多的智能支持之後,會有更多人選擇內聯模板。就與設計師共享模板而言,值得注意的是,在 React 中,已經在設計師修改內聯模板上取得了一定的成功。 

路由

你會選擇哪種路由機制?(單選)

 

Component Router36.7%776
UI Router33.0%698
Not sure28.1%594
Custom1.7%35
Other0.4%9


分析

查看這些結果的時候需要注意:

  1. 這裡有大量炒作的新路由器,而核心團隊支持的就很自然獲勝了

  2. 目前為止,在 Angular 2 上有些可能有功能缺失或者其他,所以沒有壓倒性勝利

  3. UI Router 還沒有獲得任意的 Angular 2 支持,但是大量的開發者已經在 Angular 1 應用中使用,也期望有這個路由

這不是理想狀態,也只是暫時的狀態。開發者很快會解決這些路由的一些問題,Angular 2 也計劃在不久的將來集成 UI Router。所以,當 AngularJS 2 發布的時候,開發者會提供兩個強大的路由選項。

資料庫

選擇以下你會在 AngularJS 2 項目中重點使用的任意與數據相關的庫(多選)



其他的一些庫::

  • Angular 2 Data 

  • Relay/GraphQL 

  • Breeze.js 

伺服器渲染

如果 AngularJS 2 提供伺服器渲染特性,你會用嗎?(單選)

 

Yes27.2%566
Sometimes25.9%539
No25.7%534
Not sure21.2%442


分析

這個問題單獨從 Angular 2 特性中分離出來是因為 Jeff Whelpley 和 Patrick Stapleton 參與了伺服器渲染的開發,有 53.1% 的開發者會選擇使用伺服器渲染功能。

編輯器

當使用 AngularJS 2 的時候你會最經常使用哪個編輯器?(多選)

Webstorm43.0%907
Sublime39.0%822
VS Code30.1%634
Atom25.0%528
Other11.2%237
VIM10.7%226
Emacs1.6%33


分析

功能最齊全的 Webstrom 獲勝,大量的「企業」開發者使用 Angular 的同時使用 Java 或者 .NET,然後會使用非常大型的開發工具。

VIM 超出想像,有開發者說 VIM 跟 Angular 和 TypeScript 更配。

Angular 核心團隊大部分已經開始使用 Visual Studio Code,可以試一試,Visual Studio Code 提供 Sublime 般的感覺,而且對 TypeScript 非常友好。

"其他" 編輯器

Webstorm 和 Visual Studio Code 非常大,如果你使用他們的姐妹產品會變得更大 (ex. IntelliJ   and RubyMine with Webstorm and VS.NET with Visual Studio Code)。

大半的開發者都強烈推薦 Brackets

構建工具

當使用 Angular 2 的時候會選擇使用哪款構建工具?(多選)


分析

很明顯,Gulp是最受歡迎的,讓人驚訝的是很多開發者會選擇 Webpack,之後是 JSPM 和 SystemJS。

"其他" 構建工具

其他有很多是使用 npm 腳本,還有就是其他的 5 種構建工具: Gradle, Meteor's build system, RequireJS 和 Bower。

框架

現在除了 Angular 1.x 之外你還使用哪些框架?(多選)


分析

我喜歡憧憬 Web 的未來,但事實上每位開發者都需要支持舊版瀏覽器,這個沒有哪個框架能比得上 jQuery。另一個比較有趣的是四分之一的 Angular 開發者同時也使用 React。

"其他" 框架

這個問題設計的不是很完美,以下的 4 個框架沒有在選項中,是被調查的開發者反饋的:

特性

你最期待 Angular 2 的哪個特性?(多選)

Change Detection65.0%1298
Web Components57.9%1157
Zone.js53.1%1060
Component Router42.3%845
DI updates39.4%788
Server Rendering37.1%742
i18n29.2%583
Animation updates25.7%513
Other3.6%72


分析

上一年作者發表了一篇文章,大多數開發者對 Angular 是又愛又恨。那篇文章寫道:

反對 Angular 的通常會吐槽抱怨: 

  1. 低於標準的特性(比如路由,模型層)

  2. 缺失特性(比如伺服器渲染,異步加載)

  3. 繁雜或者混亂的 APIs(比如注入數組,服務/工廠/提供者,指令)

  4. 基礎設計決策 (ex. working off the DOM, dirty checking vs KVO vs Virtual DOM, mutable data vs immutable data).

比較上面 Angular 1 的問題,我們來看看令人興奮的 AngularJS 2 的新特性:

1. 修改檢測 2. Web 組件3. Zone.js4. Component Router5. 依賴注入6. 伺服器渲染

"其他" 特性

還有其他值得關注的特性:

人群分布統計

你的 Angular 1.x 經驗級別是?(單選)

 

Novice / beginner13.9%292
Experienced (simple apps)27.6%581
Advanced (1+ large prod app)37.2%784
Expert21.3%448


分析

此次調查最開始是傾向於更多的高級 Angular 開發者,所以很高興主要的被調查者都是深度用戶 (58.7%) 。但是,當從 「開發者在使用」到   「開發者將會使用」轉變,這也能充分體現剛接觸 Angular 開發者的意願。最後,對於整個 Angular 社區來說這次調查也比較真實,充分體現了社區開發者的想法。

總結

經過此次調查,收集了很多用戶對 Angular 的一些看法和期望,希望 AngularJS 2.0 不負眾望,成為大家喜愛的 HTML 的 Web 框架。

via angularjs.blogspot.jp

相關焦點

  • WebStorm 2018.3.3 發布,支持新版 Cucumber 功能
    具體操作是,滑鼠右鍵點擊特徵文件,在菜單選擇Run <file name> 。或是在運行菜單 - edit configurations 創建一個新的 run/debug Cucumber.js 配置……然後運行或是 debug 它。你可以在測試菜單窗口看到測試結果,在這個窗口你可以點擊查看描述。
  • 十大最受歡迎的 React Native 應用開發編輯器
    點擊上方「 CSDN 」,選擇「置頂公眾號」關鍵時刻,第一時間送達!作者丨 Murtaza Basrai譯者 丨 安翔市面上用於開發工作的編輯器非常多,筆者會經常因為不同的程式語言該如何選擇好用的編輯器而感到糾結。
  • material2 發布 7.0.1,Angular 的 Material Design 風格框架
    Angular 的 Material Design 風格框架 material2 發布了 7.0.1 版本,這主要是一個 bug 修復版本:Bug 修復
  • 前端框架 Angular 11.0.0 正式發布,不再支持 IE 9 、10
    前端框架 Angular 11.0.0 正式發布。
  • 在ASP.NET Core中使用Angular2,以及與Angular2的Token base身份認證
    >1.前期準備2.創建項目在VS中新建項目,項目類型選擇 ASP.NET Core Web Application(.Net Core),輸入項目名稱為:CSAuthorAngular2InASPNetCore,Template選擇為Empty.
  • Angular 10 版本現已發布
    版本10.0.0在這裡!
  • Angular2 架構總覽
    例如angular2/core、angular2/common、angular2/router、angular2/http。從Angular庫模塊中引入一些東西的格式是這樣的:import {Component} from 'angular2/core';之前引入AppComponent組件是這樣的:import {AppComponent} from '.
  • ACE 1.2.0 發布,開源雲端代碼編輯器 (Cloud9)
    ACE 1.2.0 發布,更新內容如下:* 新特性  - Indented soft wrap (danyaPostfactum
  • 9個最好用的JavaScript開發工具和代碼編輯器
    這款JavaScript編輯器提供了像代碼完成、語法高亮和內容概要等功能,可幫助開發人員高效地創建JavaScript代碼。官方網站:http://spket.com/2)IxeditIxEdit是一款面向網站的基於JavaScript的互動設計工具。
  • Angular中sweetalert彈框的使用詳解,最全了!
    ,但是只能用sweetalert中的css,js必須通過npm下載sweetalert,引入下載的sweetalert.min.js二、版本說明Angular V1.2.30>Angular-sweetalert V1.0.4Sweetalert V2.1.0因為我們項目使用的angular版本較低,所以相對應下載的angular-sweetalert版本也低。
  • 【乾貨】大數據文本文件——編輯器的選擇
    (2) EditPlus(小巧實用)EditPlus是一款小巧但是功能強大的文本編輯器,可取代記事本的文字編輯器,擁有無限制的撤消與重做、英文拼字檢查、自動換行、列數標記、搜尋取代、同時編輯多文件、全屏幕瀏覽功能。
  • 沒有Angular爽,誰能幫幫我?[吐槽]
    最早接觸angular.js 1.x是學起來困難的語言,後來再出來Angular 2又花了一大把時間為那些「變態」的概念頭疼。但是Angular掌握了以後真的太爽了!可能是純天然typescript的原因吧。目前來說,React,Vue原始碼和正式版本,基本上還是以js為主,輪子更是js,我常有的幾個輪子基本上也是js。
  • 【第1208期】AngularJS 1.x平滑升級Angular實戰
    /app.component';import { Ng2DemoComponent } from"ng2/app/ng2-demo.component";declarevar angular: any;angular.module('phonecatApp')  .directive(    'ng2Demo',    downgradeComponent
  • 少兒編程 | 03.Scratch 3.0編輯器界面
    上次課程介紹了Scratch 3.0的兩種編程環境和註冊帳號的詳細流程。本次課程詳細介紹Scratch的界面元素和對應的基本操作方法。▲Scratch編輯器總體界面2、舞臺相關界面元素2.1 舞臺先來看一下界面右上角
  • WebStorm 2020.3 發布,支持 Tailwind CSS,Git Staging 等
    在「Preferences/Settings」中找到「Appearance」選項,選擇「Sync with OS」,再選擇深色或淺色主題,完成配置。發布詳情查看:https://blog.jetbrains.com/webstorm/2020/11/webstorm-2020-3/
  • Monaco Editor 0.14.2 發布,微軟開源的代碼編輯器
    Monaco Editor 0.14.2 已發布,這是針對剛剛發布的 0.14 的修復版本。
  • Angular學習筆記(一)
    為了引發事件,@Output()必須是EventEmitter類型,它是@angular/core中用來發出自定義事件的類。import { BrowserModule } from '@angular/platform-browser';import { NgModule } from '@angular/core';import { AppRoutingModule } from '.
  • Angular 2官方文檔導讀
    如果沒法翻牆,那麼建議你先不要管《英雄指南》這個例子,而是自己新建一個項目根據文檔中的技術點進行練習。不過自建的方式也有其優點:它是完全按照真實的工程配置的,而在線例子中基於SystemJS的方式在現實項目中很少會有人用。要想選擇自建的方式,就要先準備一個node環境,如果你使用linux或mac,請通過nvm進行安裝。具體的步驟請自己搜索。
  • CotEditor 2.0.3 釋出,OS X 下輕量級代碼編輯器
    昨天晚上 CotEditor 開發者釋出了 2.0.3 版。