久久久久在线观看_又色又爽又黄的免费视频播放_一区中文字幕_日韩电影在线播放

今日頭條 焦點資訊 營銷之道 企業報道 淘寶運營 網站建設 軟件開發 400電話
  當前位置: 首頁 » 資訊 » 軟件開發 » 正文

AngularJS、 Angular 2、Angular4的區別詳解

放大字體  縮小字體 發布日期:2018-02-24  來源:企業800網  作者:新格網  瀏覽次數:728  【去百度看看】
核心提示:(1)我們常說的 Angular 1 是指 AngularJS; 從Angular 2 開始已經改名了。不再帶有JS,只是單純的 Angular; (2)還有一個不可思議的版本變化: 從 Angular 2 直接跳躍到了 Angular 4 , 咋不見 Angular 3 了呢?


字面上的區別

(1)我們常說的 Angular 1 是指 AngularJS; 從Angular 2 開始已經改名了。不再帶有JS,只是單純的 Angular;
(2)還有一個不可思議的版本變化: 從 Angular 2 直接跳躍到了 Angular 4 , 咋不見 Angular 3 了呢?

架構上的差別

Angular 1 是一個典型的 MVC 架構 (Model - View - Controller ), 其架構如圖所示:

MVC 架構示意圖

相比于 Angular 1 的MVC 架構, Angular 2 是一個典型的基于組件(component) 架構。從這一點上來說,它與 React.js 結構相似。如下圖所示:
Angular 2  架構

為何匆忙推出 Angular 2 ?

照理說,Angular 1. x 版本已經足夠強大,為什么還匆匆忙忙推出 Angular 2 呢?這是迫于 mobile apps 的需要。按照慣性的思維: Angular 2 應該是 Angular 1.x 的升級版本,其實不然, Angular 2 與 Angular 1.x 完全不同, 最基本的語法都不一樣。 Angular 1.x 是 基于 Javascript的框架,而Angular 2 是基于 Typescript的框架。

所以說,當你決定要學習 Angular 時,要想好是學 Angular 1 還是 Angular 2。 那么到底學哪個版本好呢? 這不好講,還得看項目需要。 如果單純地學習,當然是越高的版本越好,與時俱進嘛!

Angular 3 怎么不見了?

Angular 團隊開發 Angular 3時,在router模塊上出現了問題, 再三糾結,決定放棄 Angular 3 ,直接奔向了 Angular 4

Angular 2 有什么好?

相比 Angular 1.x, Angular 2 的體積更小,為什么這么做,說白了,一個字——; 如果僅僅用于PC 端的WEB開發, Angular 1.x足以應對; 如果是用于 mobile app ,在用戶體驗方面,略顯捉襟見肘!

Angular 4 有什么好?

Angular 4 是 Angular 2 的升級版本, 也就是說,從 Angular 2之后,它們的版本一脈相承,是升級版本,而不是推到重來的版本。 Angular 4 比 Angular 2 更快。
所以說, 從 Angular 1.x 到 Angular 2 ,再發展到 Angular 4, 其路線就是為了更快一些。

Angular 1寫的代碼無法用在Angular 2上,這是為什么?

Angular 1 代碼是基于 Javascript 寫的, 代碼示例:

var angular1 = angular
       .module('uiroute', ['ui.router']);
angular1.controller('CarController', function ($scope) {
    $scope.CarList = ['Audi', 'BMW', 'Bugatti', 'Jaguar'];
});

Angular 2 代碼 是基于 Typescript 寫的。 Typescript與Javascript 的區別大了去了。 Typescript 是 Javascript的超集 (superset)。 看一段 Angular 2 代碼:

import { platformBrowserDynamic } from "@angular/platform-browser-dynamic";
import { AppModule } from "./app.module";
platformBrowserDynamic().bootstrapModule(AppModule);  
import { NgModule } from "@angular/core";  
import { BrowserModule } from "@angular/platform-browser";  
import { AppComponent } from "../app/app.component";  
@NgModule({  
    imports: [BrowserModule],  
    declarations: [AppComponent],  
    bootstrap: [AppComponent]  
})  
export class AppModule { }  
import { Component } from '@angular/core'  @Component({  
    selector: 'app-loader',  
    template: `  
<p>   
<p>  
 <h4>Welcome to Angular with ASP.NET Core and Visual Studio 2017</h4></p></p>`  
})  
export class AppComponent{}

如果不熟悉 Typescript 語法,上面這段代碼不知所云! 既然差異這么大,把 Angular 1 升級到 Angular 2 難度之大,可以預見!

這么看來, Angular 1 與 2 的差別,并不是什么框架上的差別,而是它們的語法完全不一樣, 一個用Javascript,一個用 Typescript。 那為什么Angular 4 是 Angular 2 的升級版呢? 答案很簡單, 因為 4和2 用的都是 Typescript 用法!

代碼重用方法

在 Angular 1 中,最為常用的是 $scope 在 Angular 2和4中被去掉了。在新版本中,更多推崇的是 directivecontroller, 通過對 component 組件的split(分割),從而實現代碼的復用。

對 Mobile app 的支持

Angular 1的設計初衷是為了實現響應式網頁、雙向數據綁定的Web應用,如果從Html5的概念來看,Angular 1 算是一個很好的支持H5的前端框架了。 如果我們對Angular 有更高的期望,那就是希望Angular 能很好地支持 mobile app,達到APP 原生的用戶體驗效果。 而這正是 Angular 1 的短板,鑒于詞,才推出了 Angular 2 及其后來的Angular 4。

接下來,我們重點談談 Angular 2 的架構

Angular 2 架構

可以說, Angular 2 是面向 mobile app 的架構,為了達到APP 原生的效果, Angular 2 特有引入了 Nativescript 技術。

Angular 2 的APP 效果

如何解決APP 跨平臺問題

Angular 2 解決了 mobile app 跨平臺的問題, 所謂跨平臺是指,用 Angular 2 編寫的 Web 在 iOS 和 Android 上能達到同等原生的用戶體驗效果,只需要編寫一套代碼。

小結

如果你是剛接觸 Angular 開發,建議從 Angular 2 開始,相對要簡單些; 何況 Angular 4 還在持續更新中,帶版本穩定后,再向 Angular 4 進發!

相關推薦:

Angular4中常用管道實例詳解

編寫一個完整的Angular4 FormText 組件方法

angular4實際項目搭建詳解

以上就是AngularJS、 Angular 2、Angular4的區別詳解的詳細內容,更多請關注php中文網其它相關文章!

 
 
[ 資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 違規舉報 ]  [ 關閉窗口 ]

 
0條 [查看全部]  相關評論

 
網站首頁 | 關于我們 | 聯系方式 | 使用協議 | 版權隱私 | 網站地圖 | 排名推廣 | 廣告服務 | 積分換禮 | 網站留言 | RSS訂閱 | 吉ICP備11001726號-6
企業800網 · 提供技術支持