1
00:00:03,420 --> 00:00:09,220
Ora che abbiamo una buona comprensione dei framework JavaScript

2
00:00:09,220 --> 00:00:12,145
parliamo in modo specifico di Angular.

3
00:00:12,145 --> 00:00:14,475
una breve storia di Angular

4
00:00:14,475 --> 00:00:16,140
da dove proviene

5
00:00:16,140 --> 00:00:20,800
di alcune delle principali caratteristiche di Angular,
prima di andare

6
00:00:20,800 --> 00:00:26,560
avanti per iniziare lo svolgimento
del primo esercizio con Angular

7
00:00:26,560 --> 00:00:29,950
Parliamo un pò della storia di Angular,

8
00:00:29,950 --> 00:00:35,110
Angular si è evoluto dalla sua prima
incarnazione chiamata AngularJS

9
00:00:35,110 --> 00:00:42,590
AngularJS fu inizialmente progettato da Misko Hevery
ed introdotto nel 2012,

10
00:00:42,590 --> 00:00:47,855
e divenne velocemente un data application
framework molto diffuso

11
00:00:47,855 --> 00:00:52,765
Angular di cui parliamo in questo corso

12
00:00:52,765 --> 00:00:58,725
è stata una completa re implementazione di AngularJS

13
00:00:58,725 --> 00:01:05,980
Per cui, Angular come lo osserviamo oggi è un animale totalmente nuovo dotato di proprie caratteristiche,

14
00:01:05,980 --> 00:01:14,220
ma eredita alcuni dei sui concetti e caratteristiche
dalla versione precedente

15
00:01:14,220 --> 00:01:18,919
Perciò, vedrete che AngularJS e Angular
hanno in comune una parte della terminologia

16
00:01:18,919 --> 00:01:23,110
e alcuni approcci comuni
nella risoluzione dei problemi

17
00:01:23,110 --> 00:01:28,070
ma la sintassi di Angular
è significativamente diversa

18
00:01:28,070 --> 00:01:33,770
da quella di AngularJS,
se avevate familiarità con AngularJS

19
00:01:33,770 --> 00:01:37,640
adesso avrete bisogno di riabituarvi

20
00:01:37,640 --> 00:01:43,015
al modo in cui Angular risolve i problemi.

21
00:01:43,015 --> 00:01:50,720
Angular ha un approccio basato sui componenti
nell'implementare le applicazioni web

22
00:01:50,720 --> 00:01:56,315
Quindi, i componenti sono diventati
la testa ed il corpo di Angular adesso

23
00:01:56,315 --> 00:01:59,830
Sebbene l'approccio basato sui
componenti è stato reso retro compatibile

24
00:01:59,830 --> 00:02:04,060
a partire dalla versione 1.5 di AngularJS.

25
00:02:04,060 --> 00:02:08,540
ciò significa che se avevate un approccio
basato sui componenti in AngularJS

26
00:02:08,540 --> 00:02:14,460
vi troverete in un territorio
familiare se approdate ad Angular.

27
00:02:14,460 --> 00:02:19,280
Angular è stato progettato dall'inizio

28
00:02:19,280 --> 00:02:24,325
con il supporto mobile così può essere
facilmente utilizzato sulle piattaforme mobile

29
00:02:24,325 --> 00:02:29,840
e fornisce inoltre il rendering
lato server per velocizzare

30
00:02:29,840 --> 00:02:37,400
il rendering della vostra applicazione web sui browser.

31
00:02:37,400 --> 00:02:43,065
Inoltre, Angular fornisce un motore per i template e un potente supporto alla creazione di template

32
00:02:43,065 --> 00:02:48,260
Vedremo alcuni di questi in maggiore dettaglio
non appena avanzeremo nel corso.

33
00:02:48,260 --> 00:02:50,765
In sintesi, cosa è esattamente Angular?

34
00:02:50,765 --> 00:02:56,250
Angular è un framework strutturale
per lo sviluppo di applicazioni web dinamiche.

35
00:02:56,250 --> 00:03:00,405
L'approccio basato su HTML che abbiamo visto,

36
00:03:00,405 --> 00:03:06,010
per esempio, con Bootstrap conduce fondamentalmente a documenti statici, naturalmente,

37
00:03:06,010 --> 00:03:07,720
con jQuery e AJAX,

38
00:03:07,720 --> 00:03:15,430
potete dare un aspetto un po più
dinamico al vostro sito web servendovi di Bootstrap,

39
00:03:15,430 --> 00:03:17,870
ma Angular riduce il gap fornendo il supporto

40
00:03:17,870 --> 00:03:23,595
per applicazioni data-driven
completamente dinamiche.

41
00:03:23,595 --> 00:03:26,110
Utilizzando un approccio dichiarativo.

42
00:03:26,110 --> 00:03:31,000
Abbiamo parlato dell'approccio dichiarativo
nella programmazione nella precedente lezione.

43
00:03:31,000 --> 00:03:37,205
e questo è quello che Angular adotta
nel suo metodo di risoluzione dei problemi.

44
00:03:37,205 --> 00:03:39,180
Quando giungete nel mondo di Angular,

45
00:03:39,180 --> 00:03:43,025
sarete presto bombardati dal vocabolario di Angular.

46
00:03:43,025 --> 00:03:46,520
Sentirete le persone parlare di data binding One-Way e Two-Way

47
00:03:46,520 --> 00:03:52,460
di componenti ovviamente, sentirete
parlare le persone di direttive,

48
00:03:52,460 --> 00:03:59,005
di routing, templates, moduli, servizi,

49
00:03:59,005 --> 00:04:03,724
e sentirete parlare di provider e testing,

50
00:04:03,724 --> 00:04:09,055
e tanto altro, e presto sarete
disorientati dalla terminologia.

51
00:04:09,055 --> 00:04:13,855
In questo corso, adotteremo un approccio
morbido nei confronti della terminologia.

52
00:04:13,855 --> 00:04:17,690
Non ci tortureremo troppo con la terminologia ma

53
00:04:17,690 --> 00:04:23,135
al contrario capiremo come utilizzare concretamente Angular.

54
00:04:23,135 --> 00:04:27,125
Con una ragionevole comprensione di

55
00:04:27,125 --> 00:04:31,785
questa terminologia ma come possiamo
utilizzare Angular per risolvere problemi?

56
00:04:31,785 --> 00:04:37,685
Questi termini sono straordinari per tirarvela
durante una conversazione ad un aperitivo.

57
00:04:37,685 --> 00:04:40,730
Potreste addirittura provare questa strategia di rimorchio, "Piccola,

58
00:04:40,730 --> 00:04:42,960
ti piacerebbe vedere i miei componenti,

59
00:04:42,960 --> 00:04:46,750
oppure tu porti i dati e io sarà il provider"

60
00:04:46,750 --> 00:04:50,035
Dunque, a seconda di quanto bene la portate avanti,

61
00:04:50,035 --> 00:04:53,310
potrete dargli un colpo o essere colpiti

62
00:04:53,310 --> 00:04:57,520
A volte, quando cercate Angular sul web,

63
00:04:57,520 --> 00:05:00,850
vedrete che si fa riferimento ad esso com Angular 2,

64
00:05:00,850 --> 00:05:04,465
e vi starete chiedendo, ma è Angular 2
o semplicemente Angular?

65
00:05:04,465 --> 00:05:07,115
Bene, per renderla più chiara,

66
00:05:07,115 --> 00:05:10,790
in un recente post su un Blog del sito Angular

67
00:05:10,790 --> 00:05:14,570
viene fatta una chiara distinzione tra il perché chiameremo

68
00:05:14,570 --> 00:05:19,940
questo framework semplicemente Angular piuttosto che Angular 2,

69
00:05:19,940 --> 00:05:22,055
o Angular 3, o Angular 4.

70
00:05:22,055 --> 00:05:25,140
Angular ha adottato l'identificatore semantico

71
00:05:25,140 --> 00:05:30,710
per marcare le diverse versioni rilasciate

72
00:05:30,710 --> 00:05:34,920
la sintassi dell'identificatore semantico è costituita da 3 numeri

73
00:05:34,920 --> 00:05:36,685
versione principale, versione secondaria, patch

74
00:05:36,685 --> 00:05:40,450
L'incremento di patch significa che il rilascio
è costituito principalmente da correzione di errori

75
00:05:40,450 --> 00:05:42,985
l'incremento della versione secondaria
indica piccoli avanzamenti

76
00:05:42,985 --> 00:05:46,720
e l'incremento di versione principale
indica cambiamenti rilevanti

77
00:05:46,720 --> 00:05:50,940
Al momento siamo alla versione Angular 6

78
00:05:50,940 --> 00:05:59,530
e la versione Angular 7 è in arrivo a Settembre o Ottobre 2018

79
00:05:59,530 --> 00:06:01,670
e ogni sei mesi comunque

80
00:06:01,670 --> 00:06:03,980
vedrete il rilascio di una versione principale

81
00:06:03,980 --> 00:06:05,875
Ora, dalla vostra prospettiva,

82
00:06:05,875 --> 00:06:07,535
una volta che avete iniziato,

83
00:06:07,535 --> 00:06:10,820
gli sviluppatori di Angular hanno
promesso di mantenere

84
00:06:10,820 --> 00:06:16,355
la retro compatibilità delle applicazioni
scritte nella sintassi precedente

85
00:06:16,355 --> 00:06:20,825
e un percorso di aggiornamenti ben definito

86
00:06:20,825 --> 00:06:25,545
per quelli che vogliono spostarsi verso
una nuova versione di angular.

87
00:06:25,545 --> 00:06:28,300
quindi, non preoccupatevi molto di questo

88
00:06:28,300 --> 00:06:33,335
quello che imparerete vi fornirà un
buon punto di partenza per lungo tempo a venire

89
00:06:33,335 --> 00:06:36,940
non è come passare da AngularJS a Angular

90
00:06:36,940 --> 00:06:45,865
questo tipo di modifica rilevante non si verificherà nelle future versioni di Angular

91
00:06:45,865 --> 00:06:51,890
è arrivato il momento di passare al nostro
primo esercizio su Angular dove istalleremo

92
00:06:51,890 --> 00:06:59,250
la CLI di Angular e creeremo la nostra prima
applicazione Angular attraverso di essa