ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π²Π΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°ΠΉΡΠ°
Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π½ΡΠ»Ρ
ΠΠ°ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ: 2021-06-08
ΠΡ Π°Π²ΡΠΎΡΠ°: Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π½ΡΠ»Ρ. Π ΡΠΎΠΌ, ΡΡΠΎ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ back-end, Π° ΡΡΠΎ β Π΄Π»Ρ front-end ΡΠ°ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π»ΡΠ±ΠΎΠ³ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΅Π³ΠΎ front-end ΠΈ back-end ΡΠ°ΡΡΠ΅ΠΉ.
Front-end
Front-end β ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄ΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ΅, Π΅Π³ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ. Π‘ΡΠ΄Π° Π²Ρ ΠΎΠ΄ΡΡ HTML, CSS ΠΈ, ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ, JavaScript.
Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ frontend-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ Angular, Vue ΠΈ React. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ. ΠΠΎ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ JavaScript-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ JavaScript β Π±Π΅ΡΡΠΏΠΎΡΠ½ΡΠΉ Π»ΠΈΠ΄Π΅Ρ Π² ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ.
ΠΡΠ»ΠΈ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ front-end, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π²Π°ΠΌ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΌ. ΠΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ³Π»ΡΠ±Π»ΡΡΡΡΡ Π² ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ², ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ β Π½ΠΎ ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΡΠΎ Π²ΡΠ±ΠΎΡ Angular ΡΠ΄Π΅Π»Π°Π΅Ρ Π²Π°ΡΡ ΠΆΠΈΠ·Π½Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅.
JavaScript. ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
ΠΠ·ΡΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ JavaScript Π½Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ· Π²ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ front-end ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Angular, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΊΡΠΎΡΠΎΠ², ΠΎΠ±ΡΡΡΠ½ΡΡΡΠΈΡ , ΠΏΠΎΡΠ΅ΠΌΡ Ρ Angular ΠΊΠΎΡΠΎΡΠΊΠ°Ρ ΠΊΡΠΈΠ²Π°Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π°Π»Π΅Π΅.
Π£Π΄ΠΎΠ±Π½ΡΠΉ Angular CLI
Angular CLI ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ΅Ρ Π²Π΅ΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΠΏΡΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΠΌ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Angular Console (Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π²Ρ Π² Angular ΠΈΠ»ΠΈ Π½Π΅Ρ, Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΡΡΡ ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΎΠ½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ), ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π΅Ρ Π²Π°ΠΌ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ CLI.
ΠΠ΄Π½ΠΎ ΠΈΠ· Π³Π»Π°Π²Π½ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² CLI: ΠΎΠ½ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΎΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Angular β Π΄ΠΎ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΡΠ»ΡΠΆΠ±, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ ΠΏΡ.
ΠΠ½ΠΎΠ³ΠΈΠΌ Π»ΡΠ΄ΡΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ, ΡΡΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΡΠ΅ΡΠ²ΠΈΡΠ°, ΠΏΠ°ΠΉΠΏΠ° ΠΈ Ρ. Π΄., CLI ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ΅ΡΡ. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ Π΄Π°Π΅Ρ Π²Π°ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΡΡΠΊΠ° Π²ΡΠ΅Ρ ΡΠ΅ΡΡΠΎΠ². ΠΡΠΎ Π΄Π°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ β Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π΅ΡΡΡ ΡΠ΅ΡΡ, ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠ΅ΡΡΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π‘ΡΠ°Π½Π΄Π°ΡΡΡ Angular
Π£ CLI Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ β ΠΎΠ½ ΠΎΡΠ΅Π½Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ. ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π»ΡΠ΄Π΅ΠΉ ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π²Π°ΠΌ.
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Angular CLI, ΠΎΠ½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° β ΠΏΠΎ ΡΡΡΠΈ, Π΄Π΅Π»Π°Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ°Π³ΠΈ Π΄Π»Ρ Angular. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π΅Π΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°. ΠΡΠ»ΠΈ ΠΎΠ½ Π·Π½Π°ΠΊΠΎΠΌ Ρ Angular, ΡΠΎ ΡΠΆΠ΅ Π·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠ½ΡΡΡ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΈ ΡΡΠ°Π½Π΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ Π² Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΡΡΠΎΠΊΠΈ.
TypeScript
ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π² ΠΆΠΈΠ·Π½ΠΈ Π½Π΅ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ Π½ΠΈ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΈ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΡΠ°ΡΡ, TypeScript β Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ·ΡΠΊ. ΠΠ½ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ Π²Π°Ρ ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌΠΈ ΠΠΠ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ, ΡΠ΅Π³ΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Ρ JavaScript Ρ Π²Π°Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π²ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΠΈΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Π° Angular ΡΠΎΠ·Π΄Π°Π»Π° Angular Material. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π½ΠΈΠΌ, ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ· ΠΈΡΡΠΎΡΠΈΠΈ.
Π 2014 Π³ΠΎΠ΄Ρ Ρ ΠΎΡΠΎΡΠΈΠ΅ Π»ΡΠ΄ΠΈ ΠΈΠ· Google ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ·ΡΠΊ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Material Design. ΠΡΠ»ΠΈ Π²Ρ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Gmail, ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΡΡΠΈΠΌ ΡΠΈΠΏΠΎΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π°. ΠΠ½ ΡΡΠ°Π·Ρ ΠΏΡΠΈΠΎΠ±ΡΠ΅Π» Π±ΠΎΠ»ΡΡΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ.
Angular Material β ΡΡΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Google Material Design Π΄Π»Ρ Angular, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΡΡΠΎ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Π°. ΠΠ½ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΠ΅Ρ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π² Π½Π΅ΠΉ Π½ΡΠΆΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ β ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ.
ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΡΠ°ΠΉΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ Angular, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΌΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΡ: Netflix, PayPal, Lego, The Guardian.
Backend-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°
Back-end ΡΠ°ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β Π΅Π³ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΡ. ΠΡΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. ΠΠ½Π° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΠΏΠΎΠ΄ ΡΠΎΠ±ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π»ΠΎΠ³ΠΈΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ , ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, ΠΈ Π²ΡΠ΅ΠΌ ΡΠ΅ΠΌ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅.
Π backend-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΈΠ· Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ·ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΏΠΎΠ΄ ΡΠ°Π·Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΡΡ ΡΠ°ΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π½Π° PHP, Java, Node.js, Python, Ruby ΠΈ Ρ. Π΄. Π Π΅ΡΠ»ΠΈ Π΄Π»Ρ Π½Π΅Π΅ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠ·ΡΠΊ PHP, ΡΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Laravel Π±ΡΠ΄Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ.
CΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π²Π΅Π±-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π΅Ρ, ΠΈ Π½ΠΈ Ρ ΠΊΠΎΠ³ΠΎ Π½Π΅Ρ ΠΆΠ΅Π»Π°Π½ΠΈΡ ΠΏΠΈΡΠ°ΡΡ Π²Π΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΊΠΎΠ΄ Ρ Π½ΡΠ»Ρ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠ°ΠΉΡΡ ΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π½Π°ΡΠ°Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ.
Laravel β ΡΡΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π½Π°Π±ΠΎΠ»Π΅Π²ΡΠΈΡ Π·Π°Π΄Π°Ρ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ, ΡΠ΅ΡΡΠΈΠΈ, ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ° Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ Ρ.Π΄.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ Laravel Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ, Π° ΡΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΠΈ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π»ΡΡΡΠΈΠΉ Π²ΡΠ±ΠΎΡ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Laravel:
Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠΌ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ;
ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ°Π½ΡΠ°Π»ΠΎΠ² ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ;
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Laravel Π±Π»ΠΈΠ·ΠΊΠ° ΠΊ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²Ρ;
JavaScript. ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
ΠΠ·ΡΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ JavaScript Π½Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π΅ΡΡΡ ΡΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Π΄Π»Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Blade;
Β«ΠΊΡΠ°ΡΠΈΠ²ΡΠΉΒ» ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ·ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π·Π°Π΄Π°Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ΅ΡΡΠΈΠΈ, ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ RESTful);
ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ ORM β Eloquent ORM, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΠ°Ρ ΠΏΡΠΎΡΡΡΠ΅ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΠ;
Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ².
ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΡΠΎΠΈΡ ΡΠΊΠ°Π·Π°ΡΡ ΠΈ ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ².
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Laravel ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ.
Π-ΡΡΠ΅ΡΡΠΈΡ , ΡΡΠΎΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π΄Π»Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠΎΠ²ΠΎΡΡ ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°Ρ , ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΎΡΡΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΉ ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ»ΡΠΆΠ±Ρ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΡΠΎΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ Π±ΠΈΠ»Π»ΠΈΠ½Π³Π° ΠΏΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ°ΠΌ Braintree ΠΈ Stripe.
ΠΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ
Π§ΡΠΎΠ±Ρ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ.
ΠΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ ΠΏΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Google Trends:
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π³ΡΠ°ΡΠΈΠΊΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ Google Trends, ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Laravel Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π½Π°Π±ΠΈΡΠ°Π΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ, Π½Π΅ ΡΠ±Π°Π²Π»ΡΡ ΠΎΠ±ΠΎΡΠΎΡΡ. Π§ΡΠΎ, Π² ΠΎΠ±ΡΠ΅ΠΌ, ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ β ΡΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΌΠΈΡΠΎΠ²Π°Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°.
ΠΡΠ»ΠΈ ΠΌΡ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² Google Trends ΠΏΠΎ Π ΠΎΡΡΠΈΠΈ, ΡΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° ΡΠΈΠ»ΡΠ½ΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ:
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π³ΡΠ°ΡΠΈΠΊΠ°, Π² 2016 Π³ΠΎΠ΄Ρ Laravel ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΠ» Π»ΠΈΠ΄Π΅ΡΡΡΠ²ΠΎ Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Yii2 ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ, Π½ΠΎ ΠΈ Π½Π°Π±ΠΈΡΠ°Π΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ.
ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π² ΡΡΡΠ°Π½Π΅ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ Laravel. Π£ΡΠΈΡΡΠ²Π°Ρ ΡΡΠ΅Π½Π΄Ρ ΠΈ Π²ΡΠ±ΡΠ°Π² Laravel Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ back-end ΡΠ°ΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²Ρ ΠΏΠΎΡΡΡΠΏΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ!
ΠΠΈΠ΄Π΅ΠΎ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ ΠΊΡΡΡΠ° Β«Laravel+Angular. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ CRM-ΡΠΈΡΡΠ΅ΠΌΡΒ»
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΉΡΠ° Habrahabr.ru ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Web App Template
Π₯Π°Π±ΡΠΎΠ²ΡΠ°Π½Π΅, ΠΏΡΠΈΠ²Π΅Ρ!
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Ρ Π²Π°ΠΌΠΈ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β Web Application Template. ΠΡΠ»ΠΈ ΠΊΡΠ°ΡΠΊΠΎ, ΡΠΎ Web Application Template ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Β«ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡΒ» ΡΠ°ΠΉΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Windows, Windows Phone ΠΈΠ»ΠΈ Android, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² Π½Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΠΠ‘ ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ°Π³Π°Π·ΠΈΠ½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Web Application Template Π±ΡΡΡΡΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Windows ΠΈ Windows Phone Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°ΠΉΡΠ° habrahabr.ru.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°ΠΉΡΠ° Habrahabr.ru
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π² Visual Studio Π½ΠΎΠ²ΡΠΉ WAT ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ°ΠΏΠΎΠΌΠ½Ρ, ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ ΠΏΡΡΠΈ: File> New > Project > Templates > JavaScript > Web App Template for Universal Apps
Π‘ΡΠ°Π·Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ°ΠΉΠ»Ρ config.json ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΠΌ start_url Π½Π° Π°Π΄ΡΠ΅Ρ habrahabr.ru.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Windows. ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ, Π²ΠΎΡ, ΡΡΠΎ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π½Π° ΡΠΊΡΠ°Π½Π΅:
ΠΡΠ΅ Π²ΡΠΎΠ΄Π΅ Π±Ρ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ, Π½ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅, ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠ΅ΠΊΡΡΠ° ΡΡΠ°ΡΠ΅ΠΉ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΈΡΠ½Π΅Π³ΠΎ. ΠΡΠ°ΡΠ½ΡΠΌ Ρ Π²ΡΠ΄Π΅Π»ΠΈΠ»Π° ΡΠΎ, Π±Π΅Π· ΡΠ΅Π³ΠΎ, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ:
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ±ΡΠ°ΡΡ Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎ ΡΡΡΠ°Π½ΠΈΡΡ, Ρ ΠΏΡΠΎΠΏΠΈΡΠ°Π»Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ css Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠΈΠ»Π΅ΠΉ Π² ΡΠ°ΠΉΠ»Π΅ injected-styles.css. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΠ±ΡΠ°ΡΡ ΠΏΠ°Π½Π΅Π»Ρ Β«Π ΡΠ±ΡΠΈΠΊΠ°Β» ΠΈ Β«ΠΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠ΅ Π·Π° ΡΡΡΠΊΠΈΒ», Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΊΡΠΎΠΌΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π»ΡΡΡΠ΅, Π½Π΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ?!
ΠΠΎ Π½Π° ΡΡΠΎΠΌ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°. Π― Ρ ΠΎΡΡ ΡΠΏΡΠΎΡΡΠΈΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΡΠ°ΠΉΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΅Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, Π² config.json Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Ρ ΡΠ΅ΡΡΡΡΠΌΡ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΡΡΠ΄.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ navbar ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ (Β«makeStickyΒ»: true). Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ²Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ² Π΅Π΅ ΡΡΠΈΠ»Ρ Π² ΡΠ°ΠΉΠ»Π΅ wrapper-styles.css:
Π’Π°ΠΊΠΆΠ΅, Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°, Π²ΡΠ½Π΅ΡΠ΅ΠΌ ΡΡΡΠ»ΠΊΠΈ Π½Π° Β«ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅Β», Β«ΠΏΡΠ°Π²ΠΈΠ»Π°Β» ΠΈ Β«ΠΏΠΎΠΌΠΎΡΡΒ» Π½Π° Π±ΠΎΠΊΠΎΠ²ΡΡ ΠΏΠ°Π½Π΅Π»Ρ, Π² ΡΠ°Π·Π΄Π΅Π» Π½Π°ΡΡΡΠΎΠ΅ΠΊ. ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² config.json ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°:
Π’Π΅ΠΏΠ΅ΡΡ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΡΡΡΠ»ΠΊΠΈ:
ΠΡΡΠ»Π°ΠΉΠ½ ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΡΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ. Π¨Π°Π±Π»ΠΎΠ½ Web Application Template ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΡΡΠ»Π°ΠΉΠ½ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΎΡΡΠ»Π°ΠΉΠ½ ΡΠ΅ΠΆΠΈΠΌ:
ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΎΡΡΠ»Π°ΠΉΠ½ ΡΠ΅ΠΆΠΈΠΌΠ°, ΠΏΡΠΈΡΠ²ΠΎΠΉΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Ρ enabled Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true.
ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ β Π·Π°Π³Π»ΡΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ²ΠΈΠ΄ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΠ΅ΡΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°ΠΉΠ» offline.html, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ template > offline.html. ΠΡΠ»ΠΈ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π°Π΄ΡΠ΅Ρ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½, ΡΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π² message ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅-Π·Π°Π³Π»ΡΡΠΊΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΠ΅ΡΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ° Ρ Π²Π°ΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΡΠ»Π°ΡΡ ΠΈ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ SuperCache (Π²Π½ΡΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ SuperCache ΠΏΡΠΈΡΠ²ΠΎΠΉΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Ρ enabled Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true).
Π£ΠΊΠ°ΠΆΠΈΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΡΠ°Π½Π΅Π΅ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ preCacheURLs, Π° Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΊΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΡΡ β ΠΏΡΠΎΠΏΠΈΡΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° Π² ignoreURLs.
Web Application Template ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ IndexedDB (ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ addIndexedDBSupport), Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ (inline) ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ imagesGuardBand).
Π‘ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Windows ΠΌΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Windows Phone.
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Windows Phone
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ Windows Phone Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΡΠ΅ΡΡΡΡΠ° Habrahabr.ru Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΠ°ΠΉΡΠ°, ΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π΅ΡΠ΅ ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ Windows Π²Π΅ΡΡΠΈΡ. Π‘ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΠΏΠ°ΠΏΠΊΡ config ΠΈΠ· shared-ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π² Windows ΠΈ Π² Windows Phone ΠΏΡΠΎΠ΅ΠΊΡ. ΠΡΠΊΡΠΎΠ΅ΠΌ ΡΠ°ΠΉΠ» config.json Π² Windows Phone ΠΏΡΠΎΠ΅ΠΊΡΠ΅, ΡΠ΄Π°Π»ΠΈΠΌ Π²ΡΠ΅ Π»ΠΈΡΠ½Π΅Π΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ start_url Π½Π° ΡΠ°ΠΉΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Ρ Π°Π±ΡΠ°: m.habrahabr.ru.
Π‘ΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ°, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ, Π½ΠΎ, Π΄Π°Π²Π°ΠΉΡΠ΅, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ Π΅Π³ΠΎ.
Π Windows ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΡ Π²ΡΠ½Π΅ΡΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»Ρ Π½Π°ΡΡΡΠΎΠ΅ΠΊ.
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ°Π½Π΅Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠΌ Π½Π° Π½Π΅Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ»ΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΏΡΠΎΡΠΈΠ»Ρ, Ρ
Π°Π±Ρ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ°ΠΉΡΠ°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ ΡΠ΅ΡΡΡΡΠ°, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π°ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ (privacy policy).
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ:
ΠΠ°Π»Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π±Π»ΠΎΠΊ wat_appBar ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΠΎΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΡΠ»ΠΊΡ βΠ‘hange Config Host Addressβ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Windows Phone Π²Π΅ΡΡΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π² Windows ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΌΠ΅Π½ΡΡΡ config ΡΠ°ΠΉΠ» Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ. Π ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠΌΠΎΡΡΠΈΡΠ΅ Π² MVA ΠΊΡΡΡΠ΅ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Web App TemplateΒ» ΠΈΠ»ΠΈ Π² ΡΡΠ°ΡΡΠ΅ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Web App Template.
ΠΠ°ΡΠ΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠΈ Π³ΠΎΡΠΎΠ²ΠΎ, ΠΎΡΡΠ°Π»ΠΎΡΡ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
ΠΠ΅Π½ΡΠ΅ΠΌ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
Π‘ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΠΈΠΊΠΎΠ½ΠΊΠ°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΡΠ΅Π½Ρ Π½Π΅ΡΡΡΠ΅ΡΠΈΡΠ½ΡΠΌ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΈΠΊΠΎΠ½ΠΊΠΈ (Π±Π΅ΠΉΠ΄ΠΆΠΈ, ΡΠ°ΠΉΠ»Ρ, ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΡΡΠ°ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π°).
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» package.appxmanifest (ΠΎΠ½ ΡΠ²ΠΎΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Windows ΠΈ Windows Phone ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°). ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ Visual Assets ΠΈ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° ΡΠ»Π΅Π²Π° Π² ΠΎΠΊΠ½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎ ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Square 30×30 Logo, Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ toolbarβa β Square 150×150 Logo, Π° Π΄Π»Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΡΠΊΡΠ°Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Splash Screen.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΆΠΈΠ²ΡΡ ΠΏΠ»ΠΈΡΠΎΠΊ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡ , Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π²ΠΊΠ»Π°Π΄ΠΊΠ° Visual Assets), Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ Application ΠΈ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Tile Update ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ°ΡΡΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ»ΠΈΡΠΊΠΈ ΠΈ ΡΡΡΠ»ΠΊΡ Π½Π° RSS ΠΏΠΎΡΠΎΠΊ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°ΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ»ΠΈΡΠΊΠΈ.
Π’Π°ΠΊΠΆΠ΅ Π² ΡΠ°ΠΉΠ» config.json Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Π’Π΅ΠΏΠ΅ΡΡ Π½Π° ΠΏΠ»ΠΈΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½ΠΎΠ²ΡΡ ΠΏΠΎΡΡΠ°Ρ .
ΠΠ° ΡΡΠΎΠΌ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°. ΠΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ ΠΈ Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎ Π±ΡΠ΄ΡΡΠ΅Π΅
Π Windows 10 ΠΌΡ Π°Π½ΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈΠ΄Π΅Ρ Β«Web appsΒ» ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² (ΡΠΌ. ΡΠ΅ΡΠΈΡ «Evolving the Web Platform, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 16 ΠΌΠΈΠ½ΡΡΡ).
ΠΠ°Π½ΠΈΡΠ΅ΡΡ WAT, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠΉ Π½Π° Π±Π°Π·Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ° Manifest for Web Apps (W3C) Ρ ΡΠ°Π½ΠΈΡΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅, Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ WinRT API. ΠΠΎΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ WAT, ΠΏΡΠ±Π»ΠΈΠΊΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Windows 8.1, Windows Phone 8.1 ΠΈΠ»ΠΈ Android, ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° ΠΌΠΎΠ΄Π΅Π»Ρ Windows 10 Web Apps, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠ²Π°Ρ ΠΠ‘ Π²ΡΠΉΠ΄Π΅Ρ Π² ΡΠ΅Π»ΠΈΠ·.
ΠΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° 8 ΡΠ°Π³ΠΎΠ²
ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠ΅ΡΡΠ΅Π· ΠΏΠΎΠ΄ΡΠΌΡΠ²Π°Π΅ΡΠ΅ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ½Π°ΡΠ°Π»Π° ΠΎΡΠ²Π΅ΡΡΡΠ΅ Π½Π° Π΄Π²Π° Π²ΠΎΠΏΡΠΎΡΠ°:
ΠΠ΅ΡΠ²ΠΎΠ΅ β Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΠ΄Π½ΠΎΠΉ. ΠΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΈ ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π°ΠΊΡΠΈΠΈ, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΠΎ.
ΠΡΠΎΡΠΎΠ΅ β Π΅ΡΡΡ ΠΏΠΎ ΠΌΠ΅Π½ΡΡΠ΅ΠΉ ΠΌΠ΅ΡΠ΅ 6 ΠΏΡΡΠ΅ΠΉ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΌΡΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° ΠΊΠ°ΠΊ single page application, Π³Π΄Π΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡ Ρ Π±ΡΠΊΠ΅Π½Π΄ΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· REST API. ΠΠ°Π½Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π·Π° 8 ΡΠ°Π³ΠΎΠ².
1. Π Π°Π±ΠΎΡΠ° Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Π±ΡΠΊΠ΅Π½Π΄Π°
ΠΡΡΡ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ°ΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΡ: Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ Π±ΡΠΊΠ΅Π½Π΄Π° Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅ (ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°) ΠΈΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΅Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ΅. Π Π°Π±ΠΎΡΠ°Ρ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ±, Π° ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΡΡΠΏΠ½ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π²ΡΠΎΡΠΎΠΉ.
2. ΠΡΠ±ΠΎΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΈΡΠΈΡΠ΅ Π½Π° Python (ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ Django, Flask), Node JS (ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ Express JS, Koa JS, Gatsby JS), Ruby (ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ Ruby on Rails, Grape). ΠΡΠ»ΠΈ Π² ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ΅ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Golang (ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ Gingonic, Beego, Revel). ΠΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ Microsoft β C#, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠΈΠ·Π½ΠΎΡΠΈΡΡΡ ΠΊΠ°ΠΊ «ΡΠΈ ΡΠ°ΡΠΏ». ΠΠ½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ·ΡΠΊΠ° ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π΄Π»Ρ CLR. Π‘# Π²ΠΎΠ±ΡΠ°Π» Π² ΡΠ΅Π±Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΎΡ C++, ΠΠΎΠ΄ΡΠ»Π°, Delphi, Smalltalk ΠΈ Java, Π½ΠΎ ΡΠ°Π·Π½ΠΈΡΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π‘# ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»ΠΈ ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΠ‘. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, C# Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ C++ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ², Π½ΠΎ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΠ»Π°Π²Π½ΠΎΠ΅, ΠΊΠ°ΠΊΠΎΠΉ Π±Ρ ΡΠ·ΡΠΊ Π²Ρ Π½Π΅ Π²ΡΠ±ΡΠ°Π»ΠΈ, ΠΊΠΎΠ΄ΠΈΡΡ Π½Π° ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΎΡΠΎ Π·Π½Π°Π΅ΡΠ΅.
3. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ
Π‘ΠΏΠ΅ΡΠ²Π° ΠΎΡΠΈΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ΡΡ Π½Π° ΠΏΠ°ΡΡΠ΅ΡΠ½ MVC, Π° ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅, ΡΡΠΎ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΡΠ»ΠΎΠΆΠ½ΡΡΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ presenter ΠΈ interactor. ΠΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ presenter ΠΈ interactor Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΡΠΎΠ²Π½ΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΌΡΡΠ»ΠΎΠ²ΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ.
Presenter ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (UI) ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΠ»Ρ callback ΠΈΠ· Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ (Interactors). Presenters Π»Π΅Π³ΠΊΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΡ Π·Π°Π΄Π°ΡΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ presenters Π½Π° ΡΠΊΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ (View).
Interactor ΠΏΠΎ ΡΠ°ΠΊΡΡ Π²ΠΌΠ΅ΡΠ°ΡΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎ Π΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. Interactor ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ½ΠΎΠΌ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ, presenters, c ΠΏΠΎΠΌΠΎΡΡΡ callback.
4. QA-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΠΊΠ΅Π½Π΄Π°
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·Π½Π°ΡΡ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ «Π²ΡΡΡΠ½ΡΡ» ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΊΠΎΠ΄Π°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ UI/UX ΠΈ API. ΠΡΠΎΠΏΠΈΡΠΈΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ roadmap Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΡΠΎΠ±Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΡΠΏΡΡΠ°Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠΈΠΏΠΎΠ² ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Π°ΡΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ «Π²ΠΈΡΠ½Π΅Ρ» ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±Π΅Π· Π±Π°Π³ΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅Π±ΠΎΠ΅Π².
5. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ²Π°Π³Π³Π΅ΡΠ°
Swagger β ΡΡΠΎ «ΡΠΌΠ½Π°Ρ» Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ RESTful web-API. ΠΠΎ ΡΡΡΠΈ, ΡΡΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ REST API, Π΄Π°ΡΡΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, Π½ΠΎ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ, ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Swagger UI. Π ΡΠ΅ΠΏΠ΅ΡΡ Π½Π° ΡΡΠ΅Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ ΡΠΆΠ΅ Π½Π°ΡΠ°Π»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° Π²Π°ΡΠ΅Π³ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΊ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π·Π°ΠΏΡΠΎΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ? ΠΠ°Π³Π»ΡΠ΄ΡΠ²Π°ΡΡ Π² ΠΊΠΎΠ΄ Π±ΡΠΊΠ΅Π½Π΄Π°? ΠΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ Π½Π΅ Π»ΡΡΡΠΈΠΉ Π²ΡΡ ΠΎΠ΄.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π²Π°ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ²Π°Π³Π³Π΅ΡΠ°, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΡΠ΅Π½Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, Π΅ΡΠ»ΠΈ ΡΠ²Π°Π³Π³Π΅Ρ Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ½ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ API.
6. Π Π°Π±ΠΎΡΠ° Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π°
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ². ΠΠ±ΡΡΠ½ΠΎ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Angular, React, Vue. Π£ Π½ΠΈΡ Ρ Π²ΡΠ΅Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ²ΠΎΠΈ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°, ΡΠ°ΠΊ ΠΈ ΡΠ²ΠΎΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ. ΠΠΎ Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π²Π°ΠΌ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΎΠ½ΡΠ΅Π½Π΄ΠΎΠΌ React, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π»Π΅Π³ΡΠ΅, ΠΏΡΠΎΡΠ΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ.
7. QA-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π°
Π€ΡΠΎΠ½ΡΠ΅Π½Π΄ ΡΠ΅ΡΡΠΈΡΡΡΡ Π΄Π²ΡΠΌΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ ΡΠ΅ΡΡΠΎΠ² β Π½Π° Π»ΠΎΠ³ΠΈΠΊΡ ΠΈ Π½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. Π’Π΅ΡΡΡ Π½Π° Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ². Π’Π΅ΡΡΡ Π½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΡΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π·Π°Π΄ΡΠΌΠ°Π»ΠΈ, ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Ρ ΡΡΠΎΠ½ΡΠ΅Π½Π΄. ΠΠ»Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ QA-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, ΠΊΠ°ΠΊ Mocha, Chai, Jest, Ava, Enzyme, Jest β ΠΎΠ½ΠΈ ΡΠ°ΠΌΡΠ΅ Ρ ΠΎΠ΄ΠΎΠ²ΡΠ΅, ΠΏΡΠΎΡΡΡΠ΅ Π² ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅ ΠΈΠ· Π²ΡΠ΅Ρ .
8. ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈ ΡΠ΅Π΄ΡΠΌΠΎΠΉ ΡΡΠ°ΠΏ, Π²Π°ΡΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, Π³ΠΎΡΠΎΠ²ΠΎ. ΠΡ, ΠΈΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°Π΄ΠΈΠΈ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΠΈ β 98%. Π§ΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΏΠΎ ΠΈΡΠΎΠ³Ρ? ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ, β ΡΡΠΎ ΠΏΠΎΠ½ΡΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Ρ Π²Π°ΡΠΈΡ Π΅Π³ΠΎ ΠΈΠ·Π½ΠΎΡΠΎΡΡΠΎΠΉΠΊΠΎΡΡΠΈ. Π ΡΡΠΎΠΌ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Lighthouse β Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π²Π°ΡΠ΅Π³ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Lighthouse ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π°ΡΠ΄ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π‘ΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Lighthouse Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π°Π΄ΠΎΠ±Π½ΠΎΡΡΠΈ Π΄ΠΎΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²Π°ΡΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π² Π½Π΅ΠΌ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄Π΅ΡΠ°Π»ΠΈ ΠΈΠ»ΠΈ ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ, Π½Π°ΡΠ°Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΡΡΠΈΡΡ Π²ΡΠ΅ «ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ» ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΏΠ°ΡΡΠΈΡΡ ΡΠ΅ΡΠΏΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ Ρ Π²Π°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ, Π° Π²ΠΎΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ° Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ Π±Π°Π³ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΡΠ½ΡΡΡΡΡ ΠΈ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΌΠ΅ΡΡΡΡ. ΠΡΠ΄ΡΡΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΠΈ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΏΡΠΎ ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΈ ΡΠ°ΠΌΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ Π΄Π²Π° Π²ΠΎΠΏΡΠΎΡΠ°: Π²ΡΠ΅Π³Π΄Π° ΡΡΠ°Π²ΡΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π·Π°Π΄Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ΅ΡΠ°ΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ, ΠΈ Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΌΡΠΉ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈ Π»Π΅Π³ΠΊΠΈΠΉ Π΄Π»Ρ Π²Π°Ρ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΡΠ΅ΡΠ΅ΡΡ. ΠΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ ΠΈΠ΄ΡΠΈ ΠΏΡΡΠ΅ΠΌ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»Π΅Π½ΠΈΡ.
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Progressive Web Apps: ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π½ΠΎΠ²ΠΈΡΠΊΠ°
Π‘Π²Π΅ΡΠ»Π°Π½Π° Π¨Π°ΠΏΠΎΠ²Π°Π»ΠΎΠ²Π°, ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π±Π»ΠΎΠ³Π° Β«ΠΠ΅ΡΠΎΠ»ΠΎΠ³ΠΈΠΈΒ», Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π»Π° ΡΡΠ°ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ uve, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Progressive Web Apps.
Π£Π²Π΅ΡΠ΅Π½, Π²Ρ ΡΠ»ΡΡΠ°Π»ΠΈ ΠΎ Progressive Web Apps, ΠΈΠ»ΠΈ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΠΎ PWA. ΠΠ΅ Π±ΡΠ΄Ρ Π²Π΄Π°Π²Π°ΡΡΡΡ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ ΠΈ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ»Ρ Π½Π°ΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ PWA β ΡΠ°ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π° Π³Π»Π°Π²Π½ΡΠΉ ΡΠΊΡΠ°Π½ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, ΠΈ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
ΠΠ½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ HTML, CSS, JavaScript ΠΈ Ρ ΡΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ GitHub. ΠΠ΄Π½Π°ΠΊΠΎ Ρ Π²ΡΠ΅ Π΅ΡΠ΅ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ ΠΌΠ½Π΅ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΎΡ ΠΎΡΠ° Π³Π»ΡΠ±ΠΎΠΊΠΎ Π²Π½ΠΈΠΊΠ°ΡΡ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π±ΠΎΡΡ ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΡΠ²Π»Π΅Π½ΠΈΡ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΌΠ½Π΅ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ΅Π½ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡ, Π½Π΅ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠ½Π½Ρ ΡΡΠ°ΡΠ΅ΠΉ. ΠΠΎΡΡΠΎΠΌΡ Ρ Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΏΠΎΡΡ Π΄Π°ΡΡ Π²Π°ΠΌ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ PWA.
ΠΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ PWA, Π½ΡΠΆΠ΅Π½ ΡΠ°ΠΉΡ. ΠΠ΄Π΅ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ ΡΠΌΠ΅Π΅ΡΠ΅ Π΄Π΅Π»Π°ΡΡ Ρ ΠΎΡΠΎΡΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠ΅ Π½Π° Π²ΡΠ΅Ρ ΡΠΊΡΠ°Π½Π°Ρ ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ ΡΠ°ΠΉΡΡ. Π ΡΡΠ°ΡΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΌΠ΅Π΅ΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½. ΠΠ½Π΅ Π½ΡΠ°Π²ΡΡΡΡ ΡΠ΅, ΡΡΠΎ Π½Π° HTML5 UP ΠΈ Start Bootstrap. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ΅ΠΌΡ, Π·Π°ΠΌΠ΅Π½ΠΈΠ² Π²Π΅ΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΡΠ²ΠΎΠΈΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ Π² index.html. ΠΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²Π΅ΡΠ°, Π΅ΡΠ»ΠΈ Ρ Π²Π°ΡΠΈΡ ΡΠΌΠ΅Π»ΠΎΡΡΠΈ Π²Π»Π΅Π·ΡΡ Π² CSS.
ΠΠ»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ ΡΠ΄Π΅Π»Π°Π» Π»Π΅Π½Π΄ΠΈΠ½Π³ Web Community Leads UK and IE. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΎΠ½ Π½Π΅ Π½ΡΠΆΠ΅Π½ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ PWA, ΠΈ Ρ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Ρ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ Π΅Π³ΠΎ ΡΠ΅Π±Π΅. ΠΡΠΎΡΡΠΎ ΠΌΠ½Π΅ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½ΡΠΆΠ΅Π½ Π±ΡΠ» ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠ°ΠΉΡ.
ΠΠ½Π΅ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΡΡ Hacksmiths, ΠΈ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ» open source, Ρ Π΅Π³ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΠ» ΠΈ ΡΠ°ΡΠΏΠΎΡΡΠΎΡΠΈΠ». Π’Π°ΠΊΠΆΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΠ» ΡΡΡΠ»ΠΊΡ Π½Π° Π½Π΅Π³ΠΎ ΠΈ Π½Π° ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ°Π·Π²Π΅ΡΠ²ΠΈΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡΡ ΡΠ°ΠΉΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡ Π΅Π³ΠΎ Π² PWA. Π§ΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ, ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π΄Π°Π»Π΅Π΅.
ΠΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ PWA
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ ΡΠ°ΠΉΡ ΠΊΠ°ΠΊ PWA, ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ Lighthouse. Lighthouse β ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Chrome, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ PWA Π³ΠΎΠ΄Π΅Π½ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π΅Π³ΠΎ ΡΠ»ΡΡΡΠΈΡΡ.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΡ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π·Π½Π°ΡΠΎΠΊ ΠΌΠ°ΡΠΊΠ° Π² Π²Π΅ΡΡ Π½Π΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΌ ΡΠ³Π»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ Β«Generate ReportΒ». Π§Π΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π½ΠΎΠ²Π°Ρ Π²ΠΊΠ»Π°Π΄ΠΊΠ° Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΡΠ°ΠΉΡΠ΅: Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ, Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΡΠΈΡΠ»Π°Ρ ΡΠ²Π΅ΡΡ Ρ ΠΈ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅:
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Lighthouse 36/100 Π΅ΡΠ΅ Π΄ΠΎ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ β ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ ΡΠΆ ΠΏΠ»ΠΎΡ
ΠΎ, ΡΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ Ρ Π΅ΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°Π» Ρ ΡΠ°ΠΉΡΠΎΠΌ
Π‘Π΄Π΅Π»Π°ΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π‘Π°ΠΉΡ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅, Π° Π·Π½Π°ΡΠΈΡ, Π½ΡΠΆΠ½Π° ΠΈΠΊΠΎΠ½ΠΊΠ°. ΠΠ΅ Π½Π°Π΄ΠΎ Π±ΡΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΎΡΠΎΡΠΈΠΉ Π»ΠΎΠ³ΠΎΡΠΈΠΏ. ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ ΠΈΠ΄Ρ Π½Π° the noun project ΠΈ ΠΏΠΎΠ΄ΡΡΠΊΠΈΠ²Π°Ρ ΠΏΠ°ΡΠΎΡΠΊΡ Π·Π½Π°ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ½Π΅ Π½ΡΠ°Π²ΡΡΡΡ. ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΠ°Ρ ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ GIMP ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΡΠΎΠ½. ΠΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±, Π³Π»Π°Π²Π½ΠΎΠ΅, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΈΠΊΠΎΠ½ΠΊΠ° Π²ΡΡΠ»Π° ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½Π°Ρ.
ΠΠΎΡ ΠΈΠΊΠΎΠ½ΠΊΠ°. ΠΠ°Π΄Π½ΠΈΠΌ ΡΠΌΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ Π½Π°Π΄ΠΎ Π±ΡΠ»ΠΎ ΡΠΊΡΡΠ³Π»ΠΈΡΡ ΡΠ³Π»Ρ
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ Π·Π½Π°ΡΠΎΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘Π°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠΈΡΡ Π΅Π³ΠΎ ΠΊ ΡΠ°ΠΉΡΡ. Π― ΡΠ΄Π΅Π»Π°Π» ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΈΠΊΠΎΠ½ΠΎΠΊ. Π‘ΠΊΠΎΡΠΌΠΈΡΠ΅ Π΅ΠΌΡ Π·Π½Π°ΡΠΎΠΊ, ΠΈ ΠΎΠ½ Π²ΡΠΏΠ»ΡΠ½Π΅Ρ ΠΊΡΡΡ ΡΠ°Π·Π½ΠΎΡΠ°Π·ΠΌΠ΅ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ, ΠΏΡΠΈΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ HTML-ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ°Π»Π΅Π΅:
β ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°ΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, ΠΈ ΡΠ°Π·Π°ΡΡ
ΠΈΠ²ΠΈΡΡΠΉΡΠ΅ Π΅Π³ΠΎ;
β ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π² ΠΏΠ°ΠΏΠΊΡ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°;
β Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊΠΎΠ΄, Π²ΡΠ΄Π°Π½Π½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ, Π² ΠΈΠ· ΡΠ°ΠΉΠ»Π° index.html;
β ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΡΡ ΠΊ Π·Π½Π°ΡΠΊΠ°ΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π― ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ» ΠΈΡ
Π²ΡΠ΅ Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π΄ΠΎΠΏΠΈΡΠ°ΡΡ Β«icons/Β» Π² ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΠΊΡ.
ΠΡΠΎΠΏΠΈΡΠ°ΡΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ. ΠΠ°Π½ΠΈΡΠ΅ΡΡ β ΡΡΠΎ ΡΠ°ΠΉΠ», ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ°ΠΉΡΠ΅: ΠΈΠΌΡ, ΡΠ²Π΅ΡΠΎΠ²Π°Ρ ΡΠ΅ΠΌΠ°, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΠΊΠΎΠ½ΠΊΠ°Ρ . Π£ Π½Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΈΠΊΠΎΠ½ΠΎΠΊ, Π½ΠΎ ΠΌΡ Π΅Π³ΠΎ ΡΠ°ΡΡΠΈΡΠΈΠΌ.
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π² Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΎΠ² ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΉΡΠ΅. ΠΡΠ»ΠΈ Π² ΡΠ΅ΠΌ-ΡΠΎ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΠΎΡΡΠ°Π²ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡΡΠ°Π½ΠΈΡΡ Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ JSON. Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈ Π²ΡΡΠ°Π²ΡΡΠ΅ ΠΈΡ ΠΏΠΎΠ²Π΅ΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° manifest.json, ΡΠ±Π΅Π΄ΠΈΠ²ΡΠΈΡΡ, ΡΡΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΡΠ»ΠΎΠΌΠ°Π»ΠΎΡΡ: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π³Π΄Π΅-ΡΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°ΠΏΡΡΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΊΠΎΠ±ΠΊΡ. ΠΠΎΠΉ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΡΠ΅ΡΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Lighthouse ΡΠ½ΠΎΠ²Π° ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ.
ΠΠ°Π½Π½ΡΠ΅ Lighthouse ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° ΠΈ ΠΈΠΊΠΎΠ½ΠΎΠΊ
ΠΠΎΠ±Π°Π²ΠΈΡΡ service worker
Service worker β ΡΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠ°ΠΉΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΠ°Π»ΠΈΡΠΈΠ΅ service worker β ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ PWA, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ.
Service worker β Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΡΡΡΠΊΠ°. Π ΡΡΠ°ΡΡΡΡ, ΠΌΠ½Π΅ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ sw-toolbox ΠΈ Π΄Π°Π»ΠΈ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΊΠΎΠ΄. Π― ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π» ΠΊΠΎΠ΄ ΠΈ ΡΠ»Π΅Π³ΠΊΠ° ΡΠΏΡΠΎΡΡΠΈΠ» Π΅Π³ΠΎ, ΡΠ΄Π°Π»ΠΈΠ² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² JavaScript, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π² Π²ΡΠ΅ Π² service worker.
Π‘ΠΎΠ·Π΄Π°ΡΡ service worker ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΡΠΈ ΡΡΠ°ΠΏΠ°.
β ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ service worker, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΡΠΎΡ ΠΊΠΎΠ΄ Π² Π²Π°ΡΠ΅Π³ΠΎ index.html:
β ΠΠΎΠ±Π°Π²ΠΈΡΡ sw-toolbox Π² ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ β ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΊΠΈΠ½ΡΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π² ΠΊΠΎΡΠ½Π΅Π²ΡΡ ΠΏΠ°ΠΏΠΊΡ.
β Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π½Π°Π·Π²Π°ΡΡ Β«sw.jsΒ» ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ Π² Π½Π΅Π³ΠΎ ΡΡΠΎ:
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΠΏΡΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ° ΡΠΎΠ»ΡΠΊΠΎ index.html ΠΈ style.css, Π½ΠΎ Ρ Π²Π°Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ½ΠΎΠ²Π° ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ ΡΠ°ΠΉΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Lighthouse:
ΠΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ service worker β ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π½Π° localhost
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ service worker Π΄Π΅Π»Π°Π» ΡΡΠΎ-ΡΠΎ Π΅ΡΠ΅, ΠΊΡΠΎΠΌΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π» ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ° Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ pwabuilder, Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² service worker, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° GitHub
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ PWA, ΠΏΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΈΠΌ Ρ ΠΌΠΈΡΠΎΠΌ. Π― Π½Π°ΡΠ΅Π» ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ β ΡΠ΅ΡΠ΅Π· GitHub Pages. GitHub GUI ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π² Github, ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° ΡΠ°ΠΉΡΠ΅, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΏΡΠΎΠΊΡΡΡΠΈΡΠ΅ Π²Π½ΠΈΠ· ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ GitHub Pages, Π²ΡΠ±ΡΠ°Π² Π²Π΅ΡΠΊΡ master. ΠΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡΡΡ ΠΆΠΈΠ²ΠΎΠΉ URL-Π°Π΄ΡΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ PWA.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Lighthouse Π»ΡΡΡΠ΅, ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΡΠ°ΠΉΡΠΎΠΌ Ρ Π΄ΡΡΠ·ΡΡΠΌΠΈ ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π΅Π³ΠΎ Π½Π° ΡΠΊΡΠ°Π½ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°:
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Lighthouse ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ
GitHub Pages
Π‘Π°ΠΉΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²Π½Π°ΡΠ°Π»Π΅, Π½ΠΎ ΠΏΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ ΡΠ΅ΡΠ΅Π· Samsung Internet Π°Π΄ΡΠ΅ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°ΡΡ Π½Π° ΡΠ²Π΅ΡΠ»ΠΎ-ΡΠΈΠΎΠ»Π΅ΡΠΎΠ²ΡΠΉ ΡΠ²Π΅Ρ ΡΠ΅ΠΌΡ. ΠΠΎΡΠ²ΠΈΠ»ΡΡ Π·Π½Π°ΡΠΎΠΊ Β«ΠΏΠ»ΡΡΒ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°ΠΉΡ Π½Π° Π³Π»Π°Π²Π½ΡΠΉ ΡΠΊΡΠ°Π½, ΠΎΡΠΊΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π½Π° Π²Π΅ΡΡ ΡΠΊΡΠ°Π½ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
Π ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π» Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ ΠΎ PWA: ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²ΡΡ ΠΎΠ΄ΠΈΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ. Π£Π·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ PWA ΠΌΠΎΠΆΠ½ΠΎ Π·Π΄Π΅ΡΡ.









