You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Să vedem ce e atât de special la JavaScript, ce putem realiza cu el și ce alte tehnologii se înțeleg bine cu acesta.
5
-
=======
6
-
Let's see what's so special about JavaScript, what we can achieve with it, and what other technologies play well with it.
7
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
8
4
9
5
## Ce este JavaScript?
10
6
11
-
<<<<<<< HEAD
12
7
*JavaScript* a fost creat inițial pentru *"a da viață paginilor"*.
13
-
=======
14
-
*JavaScript* was initially created to "make web pages alive".
15
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
16
8
17
9
În acest limbaj programele sunt numite *script-uri*(scripts). Acestea pot fi scrise direct în HTML și executate în mod automat pe măsură ce pagina se încarcă.
18
10
19
11
Script-urile sunt furnizate și executate ca și text simplu. Ele nu au nevoie de pregătire specială sau de compilare pentru a rula.
20
12
21
13
În ceea ce privește acest aspect, JavaScript este foarte diferit față de un alt limbaj cu nume asemănător, [Java](https://en.wikipedia.org/wiki/Java_(programming_language)).
22
14
23
-
<<<<<<< HEAD
24
15
```smart header="Why <u>Java</u>Script?"
25
16
Când JavaScript a fost creat, inițial avea un alt nume: "LiveScript". Dar la acel moment limbajul Java era foarte popular, așa s-a decis că poziționarea unui nou limbaj ca și "frate mai mic" al lui Java, va ajuta.
26
-
=======
27
-
```smart header="Why is it called <u>Java</u>Script?"
28
-
When JavaScript was created, it initially had another name: "LiveScript". But Java was very popular at that time, so it was decided that positioning a new language as a "younger brother" of Java would help.
29
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
30
17
31
18
Dar cum acesta a evoluat, JavaScript a devenit un limbaj complet independent, cu propriile specificații, numite [ECMAScript](http://en.wikipedia.org/wiki/ECMAScript), iar acum nu mai are nici o legătură cu Java.
32
19
```
@@ -37,19 +24,11 @@ Browser-ul are un motor încorporat, uneori denumit "mașină virtuală JavaScri
37
24
38
25
Diferite motoare au diferite "nume de cod", spre exemplu:
39
26
40
-
<<<<<<< HEAD
41
27
-[V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- în Chrome și Opera.
42
28
-[SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- în Firefox.
43
29
- ...Mai există și alte nume de cod precum "Trident" și "Chakra" pentru diferite versiuni de IE, "ChakraCore" pentru Microsoft Edge, "Nitro" și "SquirrelFish" pentru Safari, etc.
44
30
45
31
Termenii de mai sus sunt bine de știut, pentru că ei sunt folosiți în articole ale dezvoltatorilor, pe internet. De exemplu dacă "o caracteristică(feature) X este suportată de către V8", atunci probabil că merge și în Chrome și în Opera.
46
-
=======
47
-
-[V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- in Chrome, Opera and Edge.
48
-
-[SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- in Firefox.
49
-
- ...There are other codenames like "Chakra" for IE, "JavaScriptCore", "Nitro" and "SquirrelFish" for Safari, etc.
50
-
51
-
The terms above are good to remember because they are used in developer articles on the internet. We'll use them too. For instance, if "a feature X is supported by V8", then it probably works in Chrome, Opera and Edge.
52
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
53
32
54
33
```smart header="How do engines work?"
55
34
@@ -59,11 +38,7 @@ Motoarele sunt complicate. Dar bazele sunt ușoare.
59
38
2. Apoi convertește("compilează") script-ul în limbajul mașină.
60
39
3. Apoi codul mașină rulează, destul de repede.
61
40
62
-
<<<<<<< HEAD
63
41
Motorul aplică optimizări la fiecare stadiu al procesului. Ba chiar observă script-ul compilat cum rulează, analizează datele care trec prin el și aplică optimizări asupra codului mașină, bazate pe informațiile strânse. La sfârșit script-urile rulează destul de repede.
64
-
=======
65
-
The engine applies optimizations at each step of the process. It even watches the compiled script as it runs, analyzes the data that flows through it, and further optimizes the machine code based on that knowledge.
66
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
67
42
```
68
43
69
44
## Ce poate JavaScript-ul din browser să facă?
@@ -84,19 +59,11 @@ De exemplu, JavaScript din browser este capabil să:
84
59
85
60
## Ce nu poate JavaScript-ul din browser să facă?
86
61
87
-
<<<<<<< HEAD
88
62
Abilitățile JavaScript-ului din browser sunt limitate pentru siguranța utilizatorului. Scopul este acela de a preveni o pagină web malițioasă să acceseze informații private sau să corupă datele utilizatorului.
89
-
=======
90
-
JavaScript's abilities in the browser are limited for the sake of a user's safety. The aim is to prevent an evil webpage from accessing private information or harming the user's data.
91
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
92
63
93
64
Exemplele acestor restricții sunt:
94
65
95
-
<<<<<<< HEAD
96
66
- JavaScript, pe o pagină web, nu poate citi/scrie fișiere arbitrare pe hard disk, nu le poate copia sau să execute programe. Nu are acces direct la funcțiile sistemului de operare.
97
-
=======
98
-
- JavaScript on a webpage may not read/write arbitrary files on the hard disk, copy them or execute programs. It has no direct access to OS functions.
99
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
100
67
101
68
Browserele moderne îi permit să lucreze cu fișiere, dar accesul este limitat și furnizat doar dacă utilizatorul realizează anumite acțiuni, cum ar fi "scăparea" unui fișier într-o fereastră de browser sau selectarea lui printr-un tag `<input>`.
102
69
@@ -117,15 +84,9 @@ Astfel de limite nu există dacă JavaScript este folosit în afara browser-ului
117
84
Sunt cel puțin *trei* lucruri imporante în legătură cu JavaScript:
118
85
119
86
```compare
120
-
<<<<<<< HEAD
121
87
+ Integrare completă cu HTML/CSS.
122
88
+ Lucrurile simple sunt făcute simplu.
123
89
+ Este suportat de către toate browserele majore și este activat în mod implicit.
124
-
=======
125
-
+ Full integration with HTML/CSS.
126
-
+ Simple things are done simply.
127
-
+ Supported by all major browsers and enabled by default.
128
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
129
90
```
130
91
JavaScript este singura tehnologie browser care combină aceste 3 lucruri.
131
92
@@ -145,30 +106,17 @@ Uneltele moderne fac transpilarea foarte rapidă și transparentă, permițând
145
106
146
107
Exemple de astfel de limbaje:
147
108
148
-
<<<<<<< HEAD
149
109
-[CoffeeScript](http://coffeescript.org/) este un "zahăr sintactic" pentru JavaScript, el introduce sintaxă mai scurtă, permițând scrierea de cod mai clar și mai precis. De obicei dezvoltatorii Ruby îl plac.
150
110
-[TypeScript](http://www.typescriptlang.org/) este concentrat pe adăugarea de "tipizare strictă de date", pentru a simplifica dezvoltarea și suportul sistemelor complexe. Este dezvoltat de Microsoft.
151
111
-[Flow](http://flow.org/) adaugă tipizarea datelor, dar într-un mod diferit. Dezvoltate de Facebook.
152
112
-[Dart](https://www.dartlang.org/) este un limbaj standalone care are propriul său motor care rulează în medii non-browser(precum aplicațiile mobile). A fost oferit inițial de către Google ca și un înlocuitor pentru JavaScript, dar de acum browserele necesită ca acesta să fie transpilat în JavaScript la fel ca cele de mai sus.
153
-
=======
154
-
-[CoffeeScript](http://coffeescript.org/) is a "syntactic sugar" for JavaScript. It introduces shorter syntax, allowing us to write clearer and more precise code. Usually, Ruby devs like it.
155
-
-[TypeScript](http://www.typescriptlang.org/) is concentrated on adding "strict data typing" to simplify the development and support of complex systems. It is developed by Microsoft.
156
-
-[Flow](http://flow.org/) also adds data typing, but in a different way. Developed by Facebook.
157
-
-[Dart](https://www.dartlang.org/) is a standalone language that has its own engine that runs in non-browser environments (like mobile apps), but also can be transpiled to JavaScript. Developed by Google.
158
113
-[Brython](https://brython.info/) is a Python transpiler to JavaScript that enables the writing of applications in pure Python without JavaScript.
159
114
-[Kotlin](https://kotlinlang.org/docs/reference/js-overview.html) is a modern, concise and safe programming language that can target the browser or Node.
160
-
>>>>>>> 29216730a877be28d0a75a459676db6e7f5c4834
161
115
162
116
Există mai multe. Desigur, chiar dacă folosim unul dintre aceste limbaje, ar trebui de asemenea să știm JavaScript, pentru a înțelege cu adevărat ce facem.
163
117
164
118
## Rezumat
165
119
166
-
<<<<<<< HEAD
167
120
- JavaScript a fost creat inițial ca limbaj doar pentru browser(browser-only), dar acum este de asemenea folosit în multe alte medii.
168
121
- La momentul actual, JavaScript deține o poziție unică ca cel mai răspândit și adoptat limbaj browser cu integrare completă cu HTML/CSS.
169
122
- Există multe limbaje care sunt "transpilate" în JavaScript și furnizează anumite caracteristici. Este recomandat să arunci o privire peste ele, în linii mari, după ce stăpânești JavaScript.
170
-
=======
171
-
- JavaScript was initially created as a browser-only language, but it is now used in many other environments as well.
172
-
- Today, JavaScript has a unique position as the most widely-adopted browser language, fully integrated with HTML/CSS.
173
-
- There are many languages that get "transpiled" to JavaScript and provide certain features. It is recommended to take a look at them, at least briefly, after mastering JavaScript.
0 commit comments