Angular 2和Dart有什麼區別?Angular 2 TS和Angular 2 Dart有什麼區別?
我讀過你可以使用AngularJS和dart一起使用。那是什麼意思?他們都不是JavaScript的替代品嗎?
Angular 2和Dart有什麼區別?Angular 2 TS和Angular 2 Dart有什麼區別?
我讀過你可以使用AngularJS和dart一起使用。那是什麼意思?他們都不是JavaScript的替代品嗎?
更新(2018/01)
雖然模板語法還是相當類似,其他像配置DI和註冊組件,並生命週期回調是發散越來越多的角鏢和TS口味之間因爲這兩個版本在2016年5月份分開獨立開發。
原始
打字稿是JavaScript的一個超集,它只是允許以更「理智」的方式來使用JS。
Dart離它自己的語言語義更遠離JavaScript。飛鏢可以轉換爲JS雖然。
哪種支持的語言適合您,主要取決於您的要求或個人偏好(或您的管理層)。
[prop]="value"`
[attr.attrName]="value"
prop="{{value}}"`
attr.attrName="{{value}}"
(event)="..."
<div *ngFor="...">
一個不同之處,想到模板綁定語法幾乎是相同的是,TS/JS版本得到了<ng-container>
這不是(還)可在Dart中找到。 @ContentChildren()
表現有點不同。
[ngClass]="{cName: value}
將導致錯誤在達特如果cName
不是在當前範圍內的已知標識符而在JS/TS cName
將只是字面上使用。
[attr.someAttr]="someProp ?? true" // Dart only
Angular2達特沒有NgModule
這主要是引入了延遲加載與路由器。 Dart有它自己的延遲加載故事,不需要NgModule
TS/JS支持不同的平臺,如服務器端呈現,WebWorker。 Angular2 Dart目前不提供這些。
目前正在進行的工作使Darts自己的HTML抽象dart:html
與服務器端代碼兼容,這可能會允許服務器端渲染。 WebWorkers可能最終也會支持,但採用與TS/JS不同的方式。
對於Dart,沒有動態平臺。在JS/TS中,支持在運行時編譯組件。這在Dart中不受支持,它可能永遠不會。
飛鏢似乎做一個好一點的AOT與樹搖動輸出尺寸和性能(不完全確定 - 需要基準)
飛鏢都有它自己構建的故事,這部分作品比JS完全不同/ TS。
飛鏢DOM抽象層dart:html
包含了JS/TS需要polyfills的不同瀏覽器的很多抽象。
Angular不是JavaScript的替代品,它是構建Web應用程序的框架。 Angular有3種語言版本,適用於JavaScript,Typescript和Dart。
Typescript和Dart都可以被描述爲JavaScript的「替代品」,例如人們可以在其中編程代替JavaScript來構建Web應用程序。
Dart也可用於非Web應用程序編程,其中可能會使用Java,Ruby或Python。
還有一個正在開發的Dart移動應用程序框架。
他們不是JavaScript更換。 AngularJS是一個JavaScript框架,Dart類似於Typescript和JSX,它的JavaScript擴展,我不會稱之爲替代品。畢竟飛鏢被轉換成javascript。 – Mox
@Mox飛鏢也是一個框架嗎?如果是這樣,兩個框架如何一起使用? – Horay