ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠΎΠ΄Π° Π΄Π»Ρ js
ΠΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ JavaScript-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°
Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊΠ°Ρ-Π½ΠΈΠ±ΡΠ΄Ρ JS-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΡΠΌΠ½ΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡ Π½Π° Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠΎΡΡΠΌΠ°Ρ . Π‘Π½Π°ΡΠ°Π»Π° ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π½Π°ΡΠ°ΡΡΠ°Π΅Ρ ΡΠ½ΡΡΠ·ΠΈΠ°Π·ΠΌ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ Π±ΡΡΡΡΠΎ Π΄Π΅Π»ΠΈΡΡΡ Π½Π° ΠΏΡΠΎΡΠΈΠ²ΠΎΠ±ΠΎΡΡΡΠ²ΡΡΡΠΈΠ΅ Π»Π°Π³Π΅ΡΠΈ, ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ Π½ΠΎΠ²ΠΈΠ½ΠΊΠ΅. ΠΡΠ»ΠΎ Π±Ρ ΠΏΡΠΎΡΡΠΎ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΡΠΌ ΠΏΠΎΠ΄Π²ΠΈΠ³ΠΎΠΌ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠ΅ JS-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ Π²Π°ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΈ ΠΎΠΊΠ°Π·Π°Π²ΡΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΡΠΎΠ½ΡΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π Π·Π°ΠΎΠ΄Π½ΠΎ Π΄Π°Π΄ΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π΄Π΅Π»Ρ, Ρ ΠΎΡΠΈΠΌ ΡΡΠΎΡΠ½ΠΈΡΡ:
AngularJS
ΠΡΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎΠΆΠ°Π»ΡΠΉ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π΅Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΡ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΠ§ΠΠΠ¬ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ. Angular ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ Domino’s Pizza, Ryanair, iTunes Connect, PayPal Checkout ΠΈ Google. ΠΡΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ Google. Angular ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Β«ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ HTMLΒ» Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ TypeScript, ΡΠΎ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅Π±Π΅Π·ΡΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ Angular 2 Π½Π°ΠΏΠΈΡΠ°Π½ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½ΡΠΌ.
Angular β MVC-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ. Π Π½ΡΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π΄Π²ΡΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ Π΄Π°ΡΠ°-Π±ΠΈΠ½Π΄ΠΈΠ½Π³ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ (view). Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ Ρ ΠΎΠ±Π΅ΠΈΡ ΡΡΠΎΡΠΎΠ½ ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ . Π Angular ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ (View Component). Π Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΠΌΠ΅ΡΡΠ΅ΠΉΡΡ Π² Π½ΡΠΌ ΡΡΡΡΠΊΡΡΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² (service framework) ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π±ΡΠΊΠ΅Π½Π΄ΠΎΠΌ ΠΈ ΡΡΠΎΠ½ΡΠ΅Π½Π΄ΠΎΠΌ. ΠΡ ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Angular β ΡΡΠΎ ΡΠΈΡΡΡΠΉ JavaScript.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°ΡΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ ΡΡΠΎΠ½ΡΠ΅Π½Π΄-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π΅Π΄ΠΈΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠ΅ΡΠ°ΡΡ Π»ΡΠ±ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ.
ReactJS
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ JS-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π°. ΠΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ» ΠΎ Π½ΡΠΌ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ΅Π½Ρ Π»Π΅Π½ΠΈΠ²ΡΠΉ. ΠΠΎΡΡΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΡΠ»ΡΡΠ°ΡΡ Π²ΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠ²ΡΡΡΠ½Π½ΠΎΠ΅ React ΠΈ ΠΏΡΠΎΡΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° (Flux, Redux).
React β JS-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π² Facebook, ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΠΈ ΡΡΠ΄Π° ΠΊΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ. Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ MVC-ΠΌΠΎΠ΄Π΅Π»ΠΈ React ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ V, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ½ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² (component layer), ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡΠΈΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ UI-ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ DOM, ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡ React ΠΈΠ· Node.js. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² React ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΎΠ΄Π½ΠΎΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΡΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΠΌ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ ΠΈ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ.
ΠΠ½ΠΎΠ³Π΄Π° React Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ V Π² Ember ΠΈ Angular.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΌΠΎΡΠ½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΡΠΎΠ²Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ (view layer), Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠΎΠ²Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠΎΠ»ΡΠΊΡ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ. ΠΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ React ΠΊΠ°ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Angular, Backbone ΠΈΠ»ΠΈ Ember. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, React Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ·ΠΎΠΌΠΎΡΡΠ½ΠΎΠ³ΠΎ Π²Π΅Π±-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°.
Backbone
ΠΡΠΎΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΡΡΠΎΡΠΎΠΉ ΠΈ ΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ JS-ΡΠ°ΠΉΠ». ΠΠ²ΡΠΎΡΠΎΠΌ Backbone ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΠΆΠ΅ΡΠ΅ΠΌΠΈ ΠΡΠΊΠ΅Π½Π°Ρ, ΡΠΎΠ·Π΄Π°Π²ΡΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ CoffeScript ΠΈ Underscore.js. Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π»ΡΠ±ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠΎΠ·Π΄Π°ΡΡΠΈΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅ Π½ΡΠΆΠ½Ρ ΠΌΠΎΠ½ΡΡΡΡ Π²ΡΠΎΠ΄Π΅ Angular ΠΈ Ember.
Backbone ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌ MVC-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ Ρ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° key-value ΠΈ ΡΠΎΠ±ΡΡΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ RESTful API. Π ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ, Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ URL. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»ΠΈΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ΄Π½ΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ GOTO-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Ember
Π ΡΡΠΎΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅ ΡΠΏΠΎΡ Π΄Π΅Π»Π°Π΅ΡΡΡ Π½Π° ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Ember ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΠ΅Ρ ΡΠ΄Π° ΠΠ°Ρ (Yehuda Katz), ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π²ΡΠΈΠΉ Π°ΠΊΡΠΈΠ²Π½Π΅ΠΉΡΠ΅Π΅ ΡΡΠ°ΡΡΠΈΠ΅ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Ruby on Rails ΠΈ jQuery. Ember ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Β«ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°ΠΌΠ±ΠΈΡΠΈΠΎΠ·Π½ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉΒ», ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΏΡΡΡΡ ΡΡΠ°ΡΠΈΡΡ Π²Π°ΡΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΠ½ Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΠΎΡΠ΅Π½Ρ ΡΠ²ΠΎΠ΅Π²ΠΎΠ»ΡΠ½ΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π΅ΡΠΈ ΡΠ΅ΡΠ°Π΅Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠ°Π²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄ ΡΠ°ΠΊΡΠΎΠΌ.
Ember ΡΠΎΠΆΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ MVC-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌ. Π Π½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ view engine, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Angular, Backbone ΠΈ React. Ember ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π²Π΅Π±-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΡΠ°ΡΡΠΈΡΡΡΡ HTML Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ³ΠΎΠ² (ΠΊΠ°ΠΊ ΠΈ Angular). Π’Π°ΠΊΠΆΠ΅ Π²ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π²ΡΡΡΠΎΠ΅Π½ Π΄Π²ΠΈΠΆΠΎΠΊ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠΌΠ΅ΡΡΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π²Π°ΡΠΈΠΌ RESTful API.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π’Π°ΠΊΠΆΠ΅ Ember Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΡΠ΅ΠΌ, ΠΊΡΠΎ Π½Π΅ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ ΠΈΠ·-Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π±ΡΠ΄ΠΆΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΆΡΡΡΠΊΠΎΠ³ΠΎ Π΄Π΅Π΄Π»Π°ΠΉΠ½Π°.
jQuery
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° jQuery Π½Π΅ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ. Π’ΠΎΠ»ΡΠΊΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π΅ΠΉ ΠΊΡΠΎΡΡΠ±ΡΠ°ΡΠ·Π΅ΡΠ½ΡΠ΅ ΡΠ°ΠΉΡΡ ΡΡΠ°Π»ΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡΡ, Π° Π²Π΅Π± ΠΎΠ±ΡΡΠ» ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π²ΠΈΠ΄. jQuery ΡΡΠ°Π»Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² Π½Π°ΡΠ°Π»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²Π΅Π±-ΡΡΠ°Π½Π΄Π°ΡΡΡ. ΠΠΈΡΡΠΈΠ΅ΠΉ jQuery Foundation ΡΠ²Π»ΡΠ΅ΡΡΡ Β«ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ Π²Π΅Π±Π°, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π±ΡΠ» Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ Π²ΡΠ΅Ρ , Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΠΠ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²Β».
jQuery β Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ JS-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π² ΠΌΠΈΡΠ΅, ΡΠΏΡΠΎΡΠ°ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Ρ DOM, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΠ±ΡΡΠΈΠΉ, Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ AJAX.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅Π³Π΄Π°. ΠΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅Π², ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΡΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Π²ΡΠΎΠ΄Π΅ Zepto.
Underscore ΠΈ lodash
ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ JavaScript Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΎΡΠ΄Π°ΡΠ΅ΠΉ. ΠΡΠ΅Π³Π΄Π° Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ²ΡΠ΅ΠΉ Π±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΊΠΎΠ΄. Underscore ΠΈ lodash β ΡΡΠΎ JS-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΠΈΠ΅ ΡΠ²ΡΡΠ΅ 100 Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΏΡΠΎΡΠΈΡ Β«Π²ΠΊΡΡΠ½ΠΎΡΡΠ΅ΠΉΒ» Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π΅Π»Π°ΡΡ monkey patching Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ JS-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π²Π°ΠΌ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ map, filter, invoke, reduce, template, throttle, bind, extend, pick, clone ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Underscore: Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΎΠ΄ΠΈΠ½ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ JS-ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΎΠ±Π»Π΅Π³ΡΠΈΡ Π²Π°ΡΡ ΠΆΠΈΠ·Π½Ρ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ lodash: Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΠΌΠΎΠ΄ΡΠ»ΡΠ½Π°Ρ ΠΈ ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ Underscore, Ρ ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ AMD ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π΄Π»Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΎΠ². Π Π² ΡΡΠΎΠΉ ΡΡΠ΅ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π΄Π΅-ΡΠ°ΠΊΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ D3.js. ΠΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° Github, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ. D3 Π»Π΅ΠΆΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ, Π³ΡΠ°ΡΠΈΠΊΠΎΠ² ΠΈ ΠΏΡΠΎΡΠΈΡ Π²ΠΈΠ΄ΠΎΠ² Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
D3 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π»ΡΠ±ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² DOM/SVG/CSS. ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²Π΅Π±-ΡΡΠ°Π½Π΄Π°ΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΠ΅ΡΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ-ΡΠΎ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌΠΈ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Flash ΠΈΠ»ΠΈ Silverlight.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°.
Babylon.js
Π₯ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΡΠΎΡΡΠ±ΡΠ°ΡΠ·Π΅ΡΠ½ΡΡ ΠΈΠ³ΡΡ, ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π²Π΅Π±-ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ? Π’ΠΎΠ³Π΄Π° ΠΏΡΠΈΡΠΌΠΎΡΡΠΈΡΠ΅ΡΡ ΠΊ Babylon.js, ΡΡΡΡ ΠΌΠ΅ΡΠ½ΠΎΠΌΡ Π΄Π²ΠΈΠΆΠΊΡ Π½Π° Π±Π°Π·Π΅ WebGL ΠΈ JavaScript. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΡΠ΅ Π²ΡΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ³ΡΡ Ρ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΈΠ·ΠΈΠΊΠΎΠΉ, Π·Π²ΡΠΊΠΎΠΌ, ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ°ΡΡΠΈΡ ΠΈ ΠΏΡΠΎΡΠΈΠΌΠΈ ΠΊΡΠ°ΡΠΎΡΠ°ΠΌΠΈ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π»ΡΠ±ΡΡ ΠΈΠ³Ρ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ 3D-ΡΡΠ΅Π½.
Three.js
ΠΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π°Ρ 3D-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΡΡ ΡΡΡΡ ΠΌΠ΅ΡΠ½ΡΠ΅ ΡΡΠ΅Π½Ρ Π½Π° HTML5 Ρ ΠΎΠ»ΡΡΠ΅ (canvas), SVG ΠΈ WebGL Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ ΠΈΠ³ΡΠΎΠ²ΡΡ Π΄Π²ΠΈΠΆΠΊΠΎΠ². Three.js Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ° Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ, Π½Π° ΠΎΡΡΠ°ΠΉΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΠΏΡΠΎΡΡΠ°Ρ 3D-Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° Ρ ΠΎΠ»ΡΡ.
Mocha ΠΈ Chai
ΠΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ JavaScript-ΠΊΠΎΠ΄Π° Π±ΡΠ»ΠΎ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°ΡΡΠΈΠΌ Π·Π°Π½ΡΡΠΈΠ΅ΠΌ. Π₯ΠΎΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈ ΠΏΡΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° Π»ΡΠ±ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ·ΡΠΊΠ΅. ΠΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Ρ ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½Π°Ρ Π½Π΅Π΄ΠΎΠ»ΡΠ±Π»ΠΈΠ²Π°ΡΡ ΡΡΠΎ Π·Π°Π½ΡΡΠΈΠ΅ ΠΈ ΠΈΠ·Π±Π΅Π³Π°ΡΡ Π΅Π³ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Ρ ΠΏΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ Mocha ΠΈ Chai ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π² ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΠΈ Π½Π΅ΠΏΡΠΈΡΠ·Π½ΠΈ ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Mocha β ΡΡΠΎ JS-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡΠΈΠΉ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² node ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΈΠ»ΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π’Π΅ΡΡΡ Π² Mocha ΠΈΠΌΠ΅ΡΡ ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠ³ΠΎΠ½ΡΡΡΡΡ ΡΠ΅ΡΠΈΡΠΌΠΈ.
Chai β TDD/BDD assertion Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ Mocha ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΡΠ°ΠΆΠ°ΡΡ ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΈΡΠ°Π΅ΠΌΠΎΠΉ ΡΠΎΡΠΌΠ΅.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: Π²ΡΠ΅Π³Π΄Π°! Π’Π΅ΡΡΠΈΡΡΠΉΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ ΠΈ Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΌΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡΡΡΠ΅.
Karma
Π Π°Π· ΡΠΆ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Mocha ΠΈ Chai, ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ΄Π° ΠΈ ΠΏΡΠΎΠ³ΠΎΠ½ΡΠΈΠΊΠ° ΡΠ΅ΡΡΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Karma ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΡΠΎΠ² Mocha ΠΈ Chai Π² ΡΠ°Π·Π½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ .
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ Π²ΡΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π»ΡΠ±ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ , ΡΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π»Π΅Π³ΡΠ°Ρ Π²Π°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
PhantomJS
ΠΡΠ»ΠΎ Π±Ρ Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠΊΠΎΠ½ΠΎΠΌΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΠΎΠ½Π° ΡΠ΅ΡΡΠΎΠ², ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΈΠ·Π»ΠΈΡΠ½Π΅ΠΌΡ ΡΠ°ΡΡ ΠΎΠ΄Ρ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. PhantomJS ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ headless Π²Π΅ΡΡΠΈΡ WebKit, Π΄Π²ΠΈΠΆΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² Safari, Π° ΡΠ°Π½Π΅Π΅ Π΅ΡΡ ΠΈ Π² Chrome (ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π² Π½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Blink). Π’Π°ΠΊ ΡΡΠΎ ΠΏΡΡΠΌΠΎ ΠΈΠ· JavaScript API Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ³Π½Π°ΡΡ ΡΠ΅ΡΡΡ, Π½Π°Π΄Π΅Π»Π°ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡΠΎΠ², ΠΏΠΎΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΡΠ΅ΡΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΡΡΠ°Π½ΠΈΡ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ³Π½Π°ΡΡ ΠΎΠ±ΡΠΈΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΡΠΎΠ², ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΎ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ ΠΈ ΠΏΡΠΎΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΡΠ΅ΡΠ΅Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ.
Grunt ΠΈ Gulp
Π Ρ ΠΎΠ΄Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ Π²ΡΠΊΠ°ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΡΠΎΠ² Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½ Π½Π°ΠΌ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠ°ΠΊ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ JavaScript ΠΈ CSS, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ CoffeeScript/TypeScript, ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ.Π΄. ΠΠ°Π²Π΅ΡΠ½ΡΠΊΠ° Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π³ΠΎΡΠΎΠ²ΡΡ ΡΠ°ΠΉΡ ΠΊ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½. ΠΠΎ Π΅ΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ Grunt ΠΈΠ»ΠΈ Gulp Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π·Π°Π΄Π°Ρ (task runner). ΠΠ»Ρ ΠΎΠ±ΠΎΠΈΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π΅ΡΠΌΠ΅ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΡΠ°ΠΉΡΠΎΠΌ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΊ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Grunt: Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π²Π°Ρ Π½Π΅ Π²ΠΎΠ»Π½ΡΠ΅Ρ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π·Π°Π΄Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Gulp: Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈ Π±ΡΠ»ΠΈ Π±Ρ Π½Π΅ ΠΏΡΠΎΡΠΈΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Node.js-ΠΏΠΎΡΠΎΠΊΠΈ Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Babel
JavaScript ΠΊΠ°ΠΊ ΡΠ·ΡΠΊ Π±ΡΡΡΡΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΠ»ΡΠΌ Π»Π΅ΡΠΎΠΌ Π±ΡΠ» Π²ΡΠΏΡΡΠ΅Π½ ECMAScript 2015, Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² ΡΡΠ΄Π΅ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ². ΠΡΠ»ΠΈ Π²Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ Π²ΠΎΠΏΡΠΎΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ECMAScript 2015, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΡΡΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΎΡ kangax. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Edge, Chrome ΠΈ Firefox ΠΏΠΎΡΡΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ.
ΠΠΎ ΠΌΡ Π½Π΅ ΠΆΠΈΠ²ΡΠΌ Π² ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠΌ ΠΌΠΈΡΠ΅. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΠ°ΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ², Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΡΠ°ΠΌΡΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ Π»ΡΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ JavaScript. Π Π½Π°ΠΌ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΡΠ»ΡΡΡΠΈΡΡ Π²Π΅Π± ΠΈ Π½Π°ΡΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΡΠ΅ Π±Π°Π·Ρ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Babel, JS-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ SS-ΡΡΠ°Π½Π΄Π°ΡΡΠ° Π² ES5. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π΄Π°ΠΆΠ΅ Π½Π° ΠΎΡΠ΅Π½Ρ ΡΡΠ°ΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ IE 9. ΠΠ»Ρ Babel Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Ρ React, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ES7).
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ JavaScript, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠ°ΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ².
6 ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² ΠΈ IDE Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ JavaScript
Π Π°Π·Π±ΠΈΡΠ°Π΅ΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ , ΠΊΠ°ΠΊ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ JavaScript.
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π½ΡΠΆΠ½Π° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°: Π½Π°Π·Π²Π°Π½ΠΈΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±ΡΡΡΡΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄.
ΠΠΈΡΠ΅Ρ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π² ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈΠ³ΡΡ. ΠΠ΅ΡΡΠ°Π΅Ρ ΠΎΡΠΊΡΡΡΡ ΡΠ²ΠΎΡ ΡΡΡΠ΄ΠΈΡ ΠΈ Π²ΡΠΏΡΡΠΊΠ°ΡΡ Π»Π°ΠΌΠΏΠΎΠ²ΡΠ΅ RPG.
ΠΠΎ-Π²ΡΠΎΡΡΡ , Π½ΡΠΆΠ½ΠΎ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: ΠΊΠΎΠ³Π΄Π° Π²Ρ Π²Π²ΠΎΠ΄ΠΈΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ Ρ ΠΎΡΠΈΡΠ΅ Π²Π²Π΅ΡΡΠΈ. ΠΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π» ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΊ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π-ΡΡΠ΅ΡΡΠΈΡ , Π½ΡΠΆΠ½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΡΡΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ. ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅ ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΠΊΡΠΎΠ»ΠΈΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π½ΡΠΆΠ½ΡΠΉ.
ΠΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π»ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ β ΡΠΎΠ³Π΄Π° Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡ ΡΡΠ°Π·Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ:
Π₯ΠΎΡΠΎΡΠΈΠΌΠΈ Π±ΠΎΠ½ΡΡΠ°ΠΌΠΈ Π±ΡΠ΄ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π²ΡΠ±ΠΎΡ ΡΠ΅ΠΌ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΡΠΈΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΈ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ JavaScript. ΠΠ° ΡΡΠΌ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ β Π»ΠΈΡΠ½ΠΎΠ΅ Π΄Π΅Π»ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ, Π½ΠΎ Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π²ΡΠ±ΠΎΡΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· 6 Ρ ΠΎΡΠΎΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
Notepad++
Notepad++ β ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Π Π½ΡΠΌ Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ·ΡΠΊΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ JS, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ Π² Π²ΠΈΠ΄Π΅ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΈ ΠΊΠ°ΡΡΡ ΠΊΠΎΠ΄Π°.
ΠΠΎΡΡΡΠΏΠ½Ρ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² QuickText, Π²Ρ ΡΠ»ΡΡΡΠΈΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ΅ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
Notepad++ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π² Π½ΡΠΌ Π±ΡΡΡΡΠΎ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ Π±Π°Π³ΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠ½ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Windows.
Π Π΅Π΄Π°ΠΊΡΠΎΡ Vim ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΡΡΠ°Π» ΠΊΠ»Π°ΡΡΠΈΠΊΠΎΠΉ. ΠΠ½ΠΎΠ³ΠΈΠ΅ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ Π² Π½ΡΠΌ ΡΡΠΆΠ΅Π»ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠ΄Π΅Π»ΠΈΡΡ ΡΡΠΎΠΌΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΠΌ-ΡΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΆΠ΅ Π½Π΅ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΅ΠΌ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌ Π½Π°ΠΌΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ, Vim Π΅ΡΡ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅:
Vim ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π²ΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ , Π½Π°ΡΠΈΠ½Π°Ρ Ρ Windows, MacOS ΠΈ Linux ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ MS DOS ΠΈ OS/2.
Microsoft Visual Studio
Microsoft Visual Studio β ΡΡΠΎ IDE, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ JS. ΠΠΎΠΌΠΈΠΌΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π΅Π±Π°Π³Π΅ΡΠΎΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Unit-ΡΠ΅ΡΡΡ.
ΠΠ΄Π½Π°ΠΊΠΎ Π²Π΅ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠΈΠ»ΡΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π° ΡΠ»Π°Π±ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ .
ΠΠ΅ΡΡΡΠ½Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΠΈΡΡ ΠΎΡ 45 Π΄ΠΎ 250 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ² Π² ΠΌΠ΅ΡΡΡ, Π½ΠΎ Π΅ΡΡΡ ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. IDE Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ Windows ΠΈ MacOS, Π° Π½Π° Linux Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Wine.
Visual Studio Code
170 ΠΠ ΠΏΡΠΎΡΠΈΠ² 30 ΠΠ), ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Visual Studio. Π ΡΡΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° JavaScript, TypeScript ΠΈ Node.JS.
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΏΡΡΠΌΠΎ ΠΈΠ· Visual Studio Code.
ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π΄Π΅Π±Π°Π³Π΅Ρ ΠΈ Git-ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ GitHub ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Sublime Text
Sublime Text β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ. ΠΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ, Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³ΠΎΡΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ.
Π’Π°ΠΊΠΆΠ΅ Π² Π½ΡΠΌ Π΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ½ΠΈΠΏΠΏΠ΅ΡΠΎΠ², Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ. ΠΡΡΡΠΎΠΉ Π±ΠΎΠ½ΡΡ β Π°Π²ΡΠΎΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅. ΠΠΏΡΠΎΡΠ΅ΠΌ, ΠΎΠ½ Π±ΠΎΠ»ΡΡΠ΅ Π½ΡΠΆΠ΅Π½ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ β Π²Π΅Π΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π·Π° Π³ΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ Π²ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ²ΡΡΠΊΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ»Π°Π²Π½ΡΠΉ ΠΌΠΈΠ½ΡΡ Sublime Text Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ»Π½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΡΠΎΠΈΡ 80 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ² (Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Π²ΡΠ΄Π°ΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅). Π ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠ½ Ρ
ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ
JS-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ.
5 ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² ΠΊΠΎΠ΄Π° Π΄Π»Ρ JavaScript
JavaScript β ΠΌΠΎΡΠ½ΡΠΉ ΠΈ ΠΊΠ°ΠΏΡΠΈΠ·Π½ΡΠΉ ΡΠ·ΡΠΊ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Ρ Π΄ΡΡΠ³ΠΎΠΉ β Π½Π΅ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Β«Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΎΠΉΒ». ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ. ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ Π²Π°ΠΌ ΡΠΈΡΡΠΎΡΡ ΠΊΠΎΠ΄Π°, Π²ΡΡΠΎΠΊΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ ΠΎΡ ΡΠ°Π±ΠΎΡΡ. ΠΠ° Π²ΡΠ±ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠΎΡΠ΅Π½ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² ΠΏΠΎΡΡΠ°ΡΠΈΡΠ΅ ΡΠΉΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΡΠΎΠ΄Π΅Π»Π°Π»ΠΈ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ Π·Π° Π²Π°Ρ. ΠΠΎΡ 5 Π»ΡΡΡΠΈΡ .
WebStorm
WebStorm ΠΎΡ JetBrains ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΡΠ²Π»Π΅Π½ΠΈΡΡ : ΠΊΠ°ΠΊ IDE ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ β ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°, Π²ΡΠΎΠ΄Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ, Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ.
Visual Studio Code
ΠΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ IDE Visual Studio, Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ½ ΠΏΡΠΎΡΡ Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ, ΡΠ΄ΠΎΠ±Π΅Π½ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅Π½.
Sublime Text
Π£Π΄ΠΎΠ±Π½ΡΠΉ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π³ΠΎΡΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ.
Atom Editor
ΠΠΎΡΠ²ΠΈΠ²ΡΠΈΠΉΡΡ Π² 2015 Π³ΠΎΠ΄Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π° ΠΎΡ Git, ΠΊΠΎΠΏΠΈΡΡΡΡΠΈΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ Sublime Text ΠΈ ΠΎΠ±ΡΡΠ½ΡΡΡΠΉ Π² Chromium.
Brackets
Π 2014 Π³ΠΎΠ΄Ρ Brackets ΠΎΡΠΏΡΠ³Π½ΡΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π±Π°Π³Π°ΠΌΠΈ ΠΈ Π½Π΅Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ°ΠΌΠΈ, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ Π½ΠΎΠ²ΡΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ.
Π Π΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π° β ΠΏΠΎΠ΄ΡΡΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. Π ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ΄Π±ΠΈΡΠ°Π΅Ρ ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ: ΠΊΡΠΎ-ΡΠΎ ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΊΡΠΎ-ΡΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΡΡΡ, Π΄Π»Ρ ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ β Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ. ΠΠΎΠΌΡ-ΡΠΎ Π΄Π°ΠΆΠ΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π² Notepad, Π½ΠΎ ΡΡΠΎ Π²ΡΡ ΡΠ°Π²Π½ΠΎ, ΡΡΠΎ ΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π΄ΠΎΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠΎΠ»ΠΎΡΠΊΠ°.
JavaScript β ΠΌΠΎΡΠ½ΡΠΉ ΠΈ ΠΊΠ°ΠΏΡΠΈΠ·Π½ΡΠΉ ΡΠ·ΡΠΊ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Ρ Π΄ΡΡΠ³ΠΎΠΉ β Π½Π΅ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Β«Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΎΠΉΒ». ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ. ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ Π²Π°ΠΌ ΡΠΈΡΡΠΎΡΡ ΠΊΠΎΠ΄Π°, Π²ΡΡΠΎΠΊΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ ΠΎΡ ΡΠ°Π±ΠΎΡΡ. ΠΠ° Π²ΡΠ±ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠΎΡΠ΅Π½ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² ΠΏΠΎΡΡΠ°ΡΠΈΡΠ΅ ΡΠΉΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΡΠΎΠ΄Π΅Π»Π°Π»ΠΈ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ Π·Π° Π²Π°Ρ. ΠΠΎΡ 5 Π»ΡΡΡΠΈΡ .
WebStorm
WebStorm ΠΎΡ JetBrains ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΡΠ²Π»Π΅Π½ΠΈΡΡ : ΠΊΠ°ΠΊ IDE ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠ΄, ΠΊΠ°ΠΊ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ β ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°, Π²ΡΠΎΠ΄Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ, Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ.
Visual Studio Code
ΠΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ IDE Visual Studio, Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ½ ΠΏΡΠΎΡΡ Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ, ΡΠ΄ΠΎΠ±Π΅Π½ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅Π½.
Sublime Text
Π£Π΄ΠΎΠ±Π½ΡΠΉ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π³ΠΎΡΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ.
Atom Editor
ΠΠΎΡΠ²ΠΈΠ²ΡΠΈΠΉΡΡ Π² 2015 Π³ΠΎΠ΄Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π° ΠΎΡ Git, ΠΊΠΎΠΏΠΈΡΡΡΡΠΈΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ Sublime Text ΠΈ ΠΎΠ±ΡΡΠ½ΡΡΡΠΉ Π² Chromium.
Brackets
Π 2014 Π³ΠΎΠ΄Ρ Brackets ΠΎΡΠΏΡΠ³Π½ΡΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π±Π°Π³Π°ΠΌΠΈ ΠΈ Π½Π΅Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ°ΠΌΠΈ, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ Π½ΠΎΠ²ΡΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ.
50 Π»ΡΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ CSS ΠΈ JavaScript
ΠΠ΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΡΡ Π² ΠΊΡΡΡΠ΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². Π― Π½Π°ΡΡΠ» ΠΈ Π²ΡΠ±ΡΠ°Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»ΡΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠ°ΠΊ CSS, ΡΠ°ΠΊ ΠΈ JavaScript. ΠΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠΏΠΈΠΏΠ°ΡΡΠ° β ΡΡΠΎ Π²ΡΠ±ΠΎΡΠΊΠ°, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ ΠΊΠ°ΠΊ Π½Π° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΡ , ΡΠ°ΠΊ ΠΈ Π½Π° Π»ΠΈΡΠ½ΠΎΠΌ ΠΎΠΏΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠΎΠ½ΡΡΠ½Π΄Π° β ΡΡΡΠΊΠ° Ρ ΠΈΡΡΠ°Ρ. Π Ρ ΠΎΡΡ ΠΎΠ½Π° Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½Π°Ρ Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ½ΠΊΠΎΡΡΠΈ ΠΎΡΠ²ΠΎΠΈΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ. Π ΡΠ΅ΡΠΈ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π΄Π°ΡΡ ΡΠΎΠ»ΡΠΎΠΊ ΡΠ°Π·Π²ΠΈΡΠΈΡ Π²Π°ΡΠΈΡ Π½Π°Π²ΡΠΊΠΎΠ² ΠΈ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π»ΡΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²Π°ΡΡ Π·Π°Π΄Π°ΡΡ.
ΠΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ CSS ΠΈ JavaScript
Π‘Π±ΠΎΡΠ½ΠΈΠΊ 100%-CSS ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΠΈΠΊΠΎΠ½ΠΎΠΊ. ΠΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ Π΄Π»Ρ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΡΡΡΠ°Π½ΠΈΡ.
ΠΠ»Π΅Π³Π°Π½ΡΠ½ΠΎΠ΅ ΠΎΠ±Π½ΡΠ»Π΅Π½ΠΈΠ΅ CSS Π±Π΅Π·ΠΎ Π²ΡΡΠΊΠΎΠ³ΠΎ JavaScript.
3) Transformicons
ΠΠΎΡΡΡΡΠ°ΡΡΠΈΠ΅ ΠΈ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ, ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· CSS ΠΈ SVG.
ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»ΠΈ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ.
Π£Π΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ Π±ΡΡΡΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ Π½Π° ΡΠΈΡΡΠΎΠΌ CSS
ΠΡΠΎΡΡΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠ°Ρ ΡΠ»Π°Π³ΠΈ Π½Π° ΡΠ°ΠΉΡ.
CSS-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ GitHub.
CSS-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³Π°Π»Π΅ΡΠ΅ΠΉ ΠΈ ΡΠ»Π°ΠΉΠ΄Π΅ΡΠΎΠ² Π±Π΅Π· ΡΡΠΈΠ»ΠΈΠΉ Ρ Π²Π°ΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Ρ.
ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ CSS-ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΡΠ°Π½Π·ΠΈΡΡ.
ΠΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π°ΡΠ΅Π³ΠΎ CSS
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ flexbox Π·Π° 5 ΠΌΠΈΠ½ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ CSS.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ flexbox.
Π₯ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ°Ρ, Π±ΡΡΡΡΠ°Ρ ΠΊΡΠΎΡΡ-Π±ΡΠ°ΡΠ·Π΅ΡΠ½Π°Ρ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠ°, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π½Π° Flexbox.
ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠΉ ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ CSS-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΠΎΠΊ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π΄Π»Ρ HTML ΠΈ SASS Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ gulp.
ΠΡΡ ΠΎΠ΄ΠΈΠ½ Π»ΡΠ³ΠΊΠΈΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΡΠΎΠ½ΡΡΠ½Π΄Π°. ΠΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ.
ΠΡΡ ΠΎΠ΄ΠΈΠ½ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΠΉ CSS-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ.
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΡΠ°Π·Ρ Π΄Π»Ρ HTML, JavaScript ΠΈ CSS.
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΠΎΠΊ Π½Π° Sass / Stylus
ΠΡΡ ΠΎΠ΄Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ΡΠΎΠΊ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Stylus, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ°Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ calc().
Π‘ΠΈΡΡΠ΅ΠΌΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΡ ΡΠ΅ΡΠΎΠΊ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ 960grid.
ΠΡΠΎΡΡΠ°Ρ ΠΈ ΠΏΠΎΠ½ΡΡΠ½Π°Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΠΎΠΊ Π½Π° CSS.
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ Π΄Π»Ρ Google Material Design
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ HTML5 UI, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ Material Design.
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π΄Π»Ρ ΡΡΠΎΠ½ΡΡΠ½Π΄Π°, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ AngularJS ΠΈ Material Design.
ΠΡΠ³ΠΊΠΈΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Material Designs.
ΠΡΡΠΊΠΎΠ΅ ΡΠ°Π·Π½ΠΎΠ΅
ΠΡΠ»ΠΈΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΈΠΊΠΎΠ½ΠΎΠΊ Π½Π° ΡΠΈΡΡΠΎΠΌ CSS
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· Π²Π΅Π±-ΡΠΎΡΠΌΡ.
ΠΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ ΡΡΠΈΡΡΠ°ΠΌΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ localStorage.
ΠΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Google Web Fonts Π½Π° OSX.
Π‘ΠΊΡΠΈΠΏΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Adobe Illustrator Π² HTML Ρ CSS.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ JavaScript
ΠΠ΅Π±ΠΎΠ»ΡΡΠ°Ρ jQuery-ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ρ Π°ΠΊΡΠ΅Π½ΡΠΎΠΌ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² (Π² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ² ΠΈ ΠΏΠ»Π°Π½ΡΠ΅ΡΠΎΠ²)
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ SVG-Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ²
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π·Π°Π΄Π°ΡΠ΅ΠΊ Π½Π° JavaScript.
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ JavaScript. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ node.js ΠΈ socket.io.
ΠΠ΅Π±ΠΎΠ»ΡΡΠ°Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Β«Π»Π΅Π½ΠΈΠ²ΠΎΠΉΒ» Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
ΠΠ΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π±ΠΎΠ»ΡΡΠΈΡ Π½Π°Π±ΠΎΡΠΎΠ² Π΄Π°Π½Π½ΡΡ .
ΠΠ°Π±Π°Π²Π½ΡΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΊ Π½Π°ΡΠ°Π»Ρ.
ΠΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Β«ΠΏΠ°ΡΡ Π°Π»ΠΎΠΊΒ» Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠ΅Π±ΠΎΠ»ΡΡΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΡ ΡΠ΅ΡΠΎΠΊ.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² DOM ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ.
ΠΠ°ΡΡΡΠ΅Π»ΡΠΊΠ° Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠ΅Π½ΡΠΎΡΠ½ΡΡ ΡΠΊΡΠ°Π½ΠΎΠ², ΠΏΡΠΎΡΡΠ°Ρ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΡΡΠΎΠ².
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊΠΈ Π½Π° 90 Π³ΡΠ°Π΄ΡΡΠΎΠ² Π΄Π»Ρ ΠΊΠΎΠΌΡΠΎΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ SVG.
ΠΠ°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π±Π΅ΡΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ media queries.
jQuery ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ CSS-ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ² Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡ.
ΠΠ»Π°Π³ΠΈΠ½ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠ΅ΠΊΡΡ Π² Π½Π΅ΠΎΠ±ΡΡΠ½ΡΠΉ Π²ΠΈΠ΄ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Unicode.
HTML ΠΈ JavaScript Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΡΡΡ ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ.