ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ β€” Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½, Π²ΠΈΠ΄Ρ‹ интСрфСйсов

ЗдравствуйтС, ΡƒΠ²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ Π±Π»ΠΎΠ³Π° KtoNaNovenkogo.ru. Π’ эру массовой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ ΠΎΡ‚ΡΡ‚Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚ послСдних Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΉ ΠΈ постоянно Π²ΠΎΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π» Π² знаниях.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Π’Ρ‹ ΠΆΠ΅ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΠΌ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π½Π°Π²Π΅Ρ€ΡΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡƒΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ΅? БСгодня рассмотрим Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ‚Π΅Ρ€ΠΌΠΈΠ½, связанный с ПК.

Π― ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ простыми словами ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ понятиС ΠΊΠ°ΠΊ интСрфСйс: Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈ Π·Π°Ρ‡Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ. Π˜Ρ‚Π°ΠΊ, Π½Π°Ρ‡Π½Π΅ΠΌ.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ β€” это.

Как ΠΈ всС Π½ΠΎΠ²ΠΎΠΌΠΎΠ΄Π½Ρ‹Π΅ Ρ„Ρ€Π°Π·Ρ‹, слово «интСрфСйс» ΠΏΡ€ΠΈΡˆΠ»ΠΎ ΠΊ Π½Π°ΠΌ ΠΈΠ· английского языка. Π’ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ interface ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ «мСсто соприкосновСния».

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ β€” это Π½Π°Π±ΠΎΡ€ инструмСнтов, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, мобильного устройства ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Π’ качСствС ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… инструмСнтов взаимодСйствия ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ:

Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ понятно, Ρ‡Ρ‚ΠΎ Π·Π° Ρ„Ρ€ΡƒΠΊΡ‚-Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ этот интСрфСйс, рассмотрим наглядный ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Допустим, Π²Ρ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΎΡ‚Π΄Ρ‹Ρ… Π² Π΄Π°Π»Π΅ΠΊΠΈΠ΅ края ΠΈ Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π°Π±Ρ€ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΅Π»ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.

Π—Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° сайт, Π° Ρ‚Π°ΠΌ вас ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ нСсколько интСрфСйсов: поиск, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², Π²Π²ΠΎΠ΄ Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠΏΠ»Π°Ρ‚Π°. Π’ΠΎ врСмя ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ этапа взаимодСйствия с сайтом бронирования ΠΎΡ‚Π΅Π»Π΅ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ выполняСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ дСйствия.

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ интСрфСйс? ВсС просто, ΠΊΠ°ΠΊ Π½ΠΈΠΊΠΎΠ³Π΄Π°: Ρ‡Π΅ΠΌ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, сайтом ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ, Ρ‚Π΅ΠΌ счастливСС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ.

Π”Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ интСрфСйс Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ Π½Π° коммСрчСских сайтах, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ посСтитСли Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Π²ΠΎ врСмя ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΆΠ΅ сСкунд пользования сайтом.

Π‘Π°ΠΉΡ‚Ρ‹ с Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ большСй ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒΡŽ срСди ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π±ΠΎΠ»Π΅Π΅ посСщаСмы, Π°, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, приносят Π»ΡƒΡ‡ΡˆΠΈΠΉ Π΄ΠΎΡ…ΠΎΠ΄ своим Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°ΠΌ.

Π’ΠΈΠ΄Ρ‹ интСрфСйсов

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ принято ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹:

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

ΠžΠ±Ρ‰Π΅Π½ΠΈΠ΅ с машиной происходит Π½Π° Π΅Π΅ языкС. Командная строка ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² BIOS.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Π‘ графичСским интСрфСйсом ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ПК. Для Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ взаимодСйствия рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΡƒΡŽ ΠΌΡ‹ΡˆΡŒ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Π­Ρ‚Π° Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ появилась Π½Π΅Π΄Π°Π²Π½ΠΎ благодаря ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.

Но ΡƒΠΆΠ΅ сСгодня ΠΎΠ½Π° ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ΠΌΠ°Π»ΠΎΠΉ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒΡŽ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ позволяСт Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ряд Π²Π°ΠΆΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ дСвайсами (Ρ‡Ρ‚ΠΎ это?) β€” ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ устройствами, автомобилями, Π±Ρ‹Ρ‚ΠΎΠ²ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΎΠΉ, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ β€” ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ голосовых ΠΊΠΎΠΌΠ°Π½Π΄.

Каким Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ интСрфСйс

Главная Π·Π°Π΄Π°Ρ‡Π° любого интСрфСйса β€” ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½ΠΈΠ΅ пользования ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, сайтом ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ.

НапримСр, ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²Π΅Π±-ΠΏΠΎΡ€Ρ‚Π°Π»Π° рСкомСндуСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°ΠΊΡ†Π΅Π½Ρ‚ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… элСмСнтах:

Π―Ρ€ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½ΠΎΠ³ΠΎ интСрфСйса являСтся Π±Π»ΠΎΠ³ KtoNaNovenkogo.ru. На сайтС ΡƒΠ΄Π°Ρ‡Π½ΠΎΠ΅ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятноС мСню, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ поиска, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ статСй ΠΏΠΎ Π΄Π°Ρ‚Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ пользованиС рСсурсом быстрым ΠΈ приятным.

Π’ΠΎΡ‚ ΠΈ всС, Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ·ΡŒΡ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ интСрфСйс β€” это, попросту говоря, внСшняя ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ»ΠΈ сайтов, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ пользованиС ΠΈΠΌΠΈ.

НадСюсь, Ρ‡Ρ‚ΠΎ послС прочтСния ΡΡ‚Π°Ρ‚ΡŒΠΈ Ρƒ вас большС Π½Π΅ останСтся вопросов. Π’ любом случаС Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ³Π»Π°ΡΠΈΡ‚ΡŒ вас Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΈΡΠΊΡƒΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° эту Ρ‚Π΅ΠΌΡƒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ читатСлями Π±Π»ΠΎΠ³Π° KtoNaNovenkogo.ru.

А для закрСплСния Π·Π½Π°Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ ΠΎ Π½ΠΎΠ²ΠΎΠΌ интСрфСйсС для Android ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Samsung:

Π£Π΄Π°Ρ‡ΠΈ Π²Π°ΠΌ! Π”ΠΎ скорых встрСч Π½Π° страницах Π±Π»ΠΎΠ³Π° KtoNaNovenkogo.ru

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ относится ΠΊ Ρ€ΡƒΠ±Ρ€ΠΈΠΊΠ°ΠΌ:

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ (4)

>Как ΠΈ всС Π½ΠΎΠ²ΠΎΠΌΠΎΠ΄Π½Ρ‹Π΅ Ρ„Ρ€Π°Π·Ρ‹, слово «интСрфСйс» ΠΏΡ€ΠΈΡˆΠ»ΠΎ ΠΊ Π½Π°ΠΌ ΠΈΠ· английского языка.

Π”Π°Π»ΡŒΡˆΠ΅ Π½Π΅ Ρ‡ΠΈΡ‚Π°Π». Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ»ΠΎΠ³ΠΈΠ·ΠΌ. Π—Π°Ρ‡Π΅ΠΌ Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ Π² Π½Π°ΡƒΡ‡Π½ΡƒΡŽ (Π² вашСм случаС скорСС ΠΏΡΠ΅Π²Π΄ΠΎΠ½Π°ΡƒΡ‡Π½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ) эти Π±Ρ‹Π΄Π»ΡΡ‡ΡŒΠΈ, ΡƒΠ»ΠΈΡ‡Π½Ρ‹Π΅ слова? ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊ Π½ΠΈΠΌ ΠΏΡ€ΠΈΠ±Π΅Π³Π°ΡŽΡ‚ ΠΌΠ°Π»ΠΎΠ³Ρ€Π°ΠΌΠΎΡ‚Π½Ρ‹Π΅, Π½Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ люди, ΠΊ ΠΊΠΎΠΈΠΌ Π²Ρ‹, Π²ΠΈΠ΄ΠΈΠΌΠΎ, ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅ΡΡŒ.

Π’ΡΠΏΠΎΠΌΠΈΠ½Π°ΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму MS DOS, Π²ΠΎΡ‚ Ρ‚Π°ΠΌ ΠΈ Π±Ρ‹Π»Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ командная строка, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° появилась ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Нортон ΠšΠΎΠΌΠ°Π½Π΄Π΅Ρ€, Ρ‚ΠΎΠ³Π΄Π° ОБ стала понятна Π΄Π°ΠΆΠ΅ Ρ€Π΅Π±Ρ‘Π½ΠΊΡƒ.

Бпасибо, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ объяснСно!

Π—Π°Ρ‡Π΅ΠΌ ΠΆΠ΅ нСпонятноС ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ нСпонятным. Π’ΠΎ Ρ‡Ρ‚ΠΎ тСрминология примСняСтся Π±Π΅Π· всякого Π½Π°ΡƒΡ‡Π½ΠΎΠ³ΠΎ обоснования становится ясно с ΠΏΠ΅Ρ€Π²Ρ‹Ρ… строк, Π½ΠΎ ΠΊ этому добавляСтся ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ Ρ‚Π΅ΠΌ ΠΊΡ‚ΠΎ Π½Π΅ ΠΏΠΎΠΏΠ°Π» Π² ΠΊΡ€ΡƒΠ³ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌΠΈ употрСбляСмыми Π²Π°ΠΌΠΈ.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ОбъяснСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «Π–Сстовый интСрфСйс. Бмысл ТСстового интСрфСйса Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ понятиями «сСнсорныС экраны» β€” это Ρ‡Ρ‚ΠΎ? ДТойстики? Бтилусы β€” ΠΏΡ€ΠΈΠ΅Ρ…Π°Π»ΠΈ.

Если это ΠΈ Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† Ρ€Π°Π±ΠΎΡ‚Ρ‹ IT спСциалиста, Ρ‚ΠΎ нСпонятно Π·Π° Ρ‡Ρ‚ΠΎ ΠΈΠΌ дСньги платят. ΠŸΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π² Ρ‚Π°ΠΊΠΎΠΌ тСкстС Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ SystemUI Π² Android

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ€Π°Π·Π±Π΅Ρ€Ρƒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ основного прилоТСния Android β€” SystemUI. МСня заинтСрСсовала эта Ρ‚Π΅ΠΌΠ°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ интСрСсно, ΠΊΠ°ΠΊ устроСна систСма, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Π²Ρ‹ΠΊΠ°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ тысячи ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Google Play ΠΈΠ»ΠΈ просто Π½Π° просторы ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°. Помимо этого мСня интСрСсуСт вопрос ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ бСзопасности Android ΠΈ создаваСмых ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π’ систСмС Android, SystemUI β€” это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡƒΡ‚ΡŒ ΠΊ исходному ΠΊΠΎΠ΄Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ находится Π² platform_frameworks_base/packages/SystemUI/, Π½Π° дСвайсС ΠΎΠ½ΠΎ находится Π² system/priv-app/-SystemUI.

priv-app β€” это ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π³Π΄Π΅ хранятся ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ прилоТСния. К слову, ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ system/app Π»Π΅ΠΆΠ°Ρ‚ прСдустановлСнныС прилоТСния, Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ устанавливаСм Π½Π° свой дСвайс ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, хранятся Π² data/app.

Π’ΡƒΡ‚ сразу Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: ΠΏΠΎΡ‡Π΅ΠΌΡƒ нСльзя Π·Π°ΡΡƒΠ½ΡƒΡ‚ΡŒ всС прСдустановлСнныС ΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ прилоТСния Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ это Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅?

Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прилоТСния Π±ΠΎΠ»Π΅Π΅ систСмныС, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅:) И это Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ эксплойтами систСмных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, для получСния доступа ΠΊ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΌ опСрациям. МоТно ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ApplicationInfo.FLAG_SYSTEM ΠΈ Π² систСмС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ большС ΠΏΡ€Π°Π², ΠΎΠ΄Π½Π°ΠΊΠΎ apk Ρ„Π°ΠΉΠ» с Ρ‚Π°ΠΊΠΈΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ Π² Ρ€Π°Π·Π΄Π΅Π» system.

Π˜Ρ‚Π°ΠΊ, SystemUI β€” это apk-Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ сути своСй ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Однако, Ссли ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° слоТноС устройство SystemUI, пСрСстаСт ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ это всСго лишь простоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²Π΅Ρ€Π½ΠΎ?

Π”Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ выполняСт вСсьма Π²Π°ΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Запуск SystemUI

Как я ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»Π° Π²Ρ‹ΡˆΠ΅, SystemUI Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ запуск Π½Π΅ сопровоТдаСтся запуском активности, ΠΊΠ°ΠΊ это происходит Ρƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. SystemUI β€” это Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСтся Π²ΠΎ врСмя процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ систСмы ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½.

Если ΠΌΡ‹ Π·Π°Π»Π΅Π·Π΅ΠΌ Π² SystemServer, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… столпов Π² ΠΌΠΈΡ€Π΅ Android (Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Zygote, Π½ΠΎ ΠΎΠ± этом я расскаТу ΠΊΠ°ΠΊ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π°Π·), Ρ‚ΠΎ ΠΌΡ‹ моТСшь Π½Π°ΠΉΡ‚ΠΈ мСсто, Π³Π΄Π΅ стартуСт SystemUI ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ систСмы.

Π’ΡƒΡ‚ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ запускаСтся сСрвис SystemUI с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ API startServiceAsUser. Если Π±Ρ‹ Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это, Ρ‚ΠΎ Π²Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ рСфлСксии. Но Ссли Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ reflection API Π² Android β€” ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ нСсколько Ρ€Π°Π·, стоит Π»ΠΈ это Ρ‚ΠΎΠ³ΠΎ. ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ Ρ€Π°Π· сто:)

Π˜Ρ‚Π°ΠΊ, Ρ‚ΡƒΡ‚ создаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ процСсс для прилоТСния ΠΈ ΠΏΠΎ Ρ„Π°ΠΊΡ‚Ρƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» SystemUI являСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ сСрвисом ΠΈΠ»ΠΈ нСзависимым ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ.

ΠœΠ΅Ρ‚ΠΎΠ΄ start() вызываСтся для запуска ΠΊΠ°ΠΆΠ΄ΠΎΠΉ слуТбы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ пСрСчислСны Π½ΠΈΠΆΠ΅.

Π Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ громкости

ΠœΡ‹ рСгулярно ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ громкости Π½Π° своих устройствах, Π½ΠΎ Π½Π΅ задумываСмся ΠΊΠ°ΠΊΠΈΠ΅ процСссы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ Π² систСмС для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π²ΡƒΠΊ. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ каТСтся довольно простой Π½Π° словах, Π½ΠΎ Ссли Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π² VolumeUI, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠ΅ SystenUI/volume, Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… интСрфСйс ΠΈΠΌΠ΅Π΅Ρ‚ свою Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΡŽ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это
Π― ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»Π° ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сСрвисы SystemUI Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ start(). Если ΠΌΡ‹ посмотрим Π½Π° класс VolumeUI, Ρ‚ΠΎ ΠΎΠ½ Ρ‚ΠΎΠΆΠ΅ наслСдуСтся ΠΎΡ‚ SystemUI.

Π’ΡƒΡ‚ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ mEnabled ΠΌΡ‹ опрСдСляСм, слСдуСт Π»ΠΈ Π½Π°ΠΌ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ панСль с настройкой Π·Π²ΡƒΠΊΠ°. И судя ΠΏΠΎ VolumeDialogComponent, VolumeUI ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π·Π²ΡƒΠΊΠΎΠ²ΡƒΡŽ панСль Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π°. Но всС дСйствия ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ наТатия Π½Π° клавиши громкости ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² PhoneWindow.

Насколько ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, KEYCODE_VOLUME_UP (+) Π½Π΅ обрабатываСтся ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ KEYCODE_VOLUME_DOWN (-). И Π² ΠΎΠ±ΠΎΠΈΡ… событиях, ΠΊΠ°ΠΊ Π² onKeyDown, Ρ‚Π°ΠΊ ΠΈ Π² onKeyUp вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ dispatchVolumeButtonEventAsSystemService.

Π˜Ρ‚Π°ΠΊ, Ρ‚ΡƒΡ‚ Ρƒ нас вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ adjustVolume, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ наш direction, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ присвоСн ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ события.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ добСрСмся Π΄ΠΎ AudioService, Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ sendVolumeUpdate, Π³Π΄Π΅ ΠΏΠΎΠΌΠΈΠΌΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° postVolumeChanged, Π±ΡƒΠ΄Π΅Ρ‚ установлСн интСрфСйс HDMI.

RingtonePlayer

RingtonePlayer Π² Android выполняСт Ρ€ΠΎΠ»ΡŒ проигрыватСля. Он Ρ‚Π°ΠΊ ΠΆΠ΅ наслСдуСтся ΠΎΡ‚ SystemUI ΠΈ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ start() ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ:

Π—Π΄Π΅ΡΡŒ Ρƒ нас устанавливаСтся mCallback, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ сути являСтся экзСмпляром IRingtonePlayer.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ RingtonePlayerService с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Binder для воспроизвСдСния Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

PowerUI

PowerUI ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ ΠΈ увСдомлСниями. Аналогично наслСдуСтся ΠΎΡ‚ SystemUI ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ start().

Как ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π°, происодит подписка Π½Π° измСнСния Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, Π° послС β€” Π²Ρ‹Π·ΠΎΠ² mReceiver.init().

Π’ΡƒΡ‚ рСгистрируСтся ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ происходит отслСТиваниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Π—Π°Π΄Π°Ρ‡ΠΈ

Recents β€” это основная ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ функция Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах Π½Π° Π±Π°Π·Π΅ Android.

Π“Π»Π°Π²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Помимо этого Recents Ρ‚Π°ΠΊ ΠΆΠ΅ наслСдуСтся ΠΎΡ‚ SystemUI. Π’ RecentsActivity происходит созданиС ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ послСдних Π·Π°Π΄Π°Ρ‡, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΡ… Π½Π° нашСм экранС.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это
А Π² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ RecentTaskInfo ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅.

Π’ΠΎΠΎΠ±Ρ‰Π΅, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ вынСсти Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ. Π― ΠΈΠ·ΡƒΡ‡ΠΈΠ»Π° Π΅Π΅ со всСх сторон, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ…ΠΎΡ‚Π΅Π»Π° Ρ€Π°Π·ΠΌΡ‹Π²Π°Ρ‚ΡŒ экран прилоТСния ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ прилоТСния Π² background, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² RecentsTask ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»Π°ΡΡŒ нСчитаСмая вСрсия ΡΠ½Π°ΠΏΡˆΠΎΡ‚Π°. Однако, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΡΠ½Π°ΠΏΡˆΠΎΡ‚ прилоТСния бСрСтся Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ вызываСтся onPause(). Π­Ρ‚Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ нСсколькими способами. Π›ΠΈΠ±ΠΎ Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ„Π»Π°Π³, Ρ‡Ρ‚ΠΎΠ±Ρ‹ систСма просто скрывала содСрТимоС экрана с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ

О Ρ‡Π΅ΠΌ я Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»Π° Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅, посвящСнной ΠΊΠ°ΠΊ Ρ€Π°Π· ΡΠ½Π°ΠΏΡˆΠΎΡ‚Π°ΠΌ.

МоТно Π²ΠΎΠΎΠ±Ρ‰Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ конкрСтная activity прилоТСния Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΎΡΡŒ Π² Π·Π°Π΄Π°Ρ‡Π°Ρ…, проставив Π² манифСстС

Π›ΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ…ΠΈΡ‚Ρ€ΠΎΡΡ‚ΡŒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ

МоТно Π·Π°Π΄Π°Ρ‚ΡŒ основной активности Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Ρ„Π»Π°Π³ excludeFromRecents = true, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π΅ экран отсутствовал Π² Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ…, Π½ΠΎ Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ прилоТСния Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ Ρ€Π°Π·ΠΌΡ‹Ρ‚Ρ‹ΠΉ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ с основной активности, Π»ΠΈΠ±ΠΎ любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ описано Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Google Drive.

Π­ΠΊΡ€Π°Π½ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ

Keyguard ΡƒΠΆΠ΅ послоТнСС всСх Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Он прСдставляСт ΠΈΠ· сСбя сСрвис, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСтся Π² SystemUI, Π° управляСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ KeyguardViewMediator.

Однако Π½Π° самом Π΄Π΅Π»Π΅ KeyguardService ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с интСрфСйсом экрана Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΎΠ½ лишь ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ StatusBar, Π³Π΄Π΅ ΡƒΠΆΠ΅ ΠΈ производятся дСйствия ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° экрана ΠΈ отобраТСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

ПанСль ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ

Π’ΠΎ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ ссылку Π½Π° рСсурс ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ читаСтся имя класса ΠΈ создаСтся Π΅Π³ΠΎ экзСмпляр.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Ρ‡Ρ‚ΠΎ Ρ‚ΡƒΡ‚ вызываСтся StatusBar, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΈ UI.

Π― Π΄ΡƒΠΌΠ°ΡŽ Π½ΠΈΠΊΡ‚ΠΎ ΠΈ Π½Π΅ сомнСвался Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Android устроСн ΠΎΡ‡Π΅Π½ΡŒ слоТно ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбС ΠΌΠ½ΠΎΠ³ΠΎ хитростСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ описаны Π² ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΌ количСствС строчСк ΠΊΠΎΠ΄Π°. SystemUI являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых Π²Π°ΠΆΠ½Ρ‹Ρ… частСй этой систСмы ΠΈ ΠΌΠ½Π΅ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΠΎΡΡŒ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π΅Π΅. Из-Π·Π° Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π½Π° эту Ρ‚Π΅ΠΌΡƒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ, Ссли Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ошибки, ΠΏΡ€ΠΎΡˆΡƒ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ мСня.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ создали классноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ ΠΈ возмоТностями. Но ΠΈΠΊΠΎΠ½ΠΊΠ° Π½Π΅ выдСляСтся срСди тысяч Π΄Ρ€ΡƒΠ³ΠΈΡ…, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅, Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Ρ‹ Ρ†Π²Π΅Ρ‚Π°, ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ большим ΠΏΠ°Π»ΡŒΡ†Π΅ΠΌ Π½Π° смартфонС ΠΈΡ… просто Π½Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ. Π’Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ успСха. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ разрабатываСтся интСрфСйс мобильного прилоТСния, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ, простой, ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ интСрфСйс прилоТСния?

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ мобильного прилоТСния ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ условия Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ. Π­Ρ‚ΠΎ комплСкс, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π³Π΄Π΅ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ всС элСмСнты, какая Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π½Π° простоту, ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, Π²ΠΎΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅, Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒ освоСния – основныС ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Как ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс мобильного прилоТСния?

НСобходимо Ρ‡Π΅Ρ‚ΠΊΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΈ Π·Π°ΠΊΠΎΠ½Π°ΠΌ построСния Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ интСрфСйса мобильного прилоТСния состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… частСй.

ПониманиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π΅Π³ΠΎ потрСбности. Для этого создаСтся «пСрсонаТ», Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ имя, возраст, статус, Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠΈ, потрСбности, интСрСсы. На основС взаимодСйствия с Ρ‚Π°ΠΊΠΈΠΌ «пСрсонаТСм» создаСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ сцСнарий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

ΠžΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Π½Π° повСдСнчСскиС ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠΈ ΠΈ нСписанныС стандарты

Π•ΡΡ‚ΡŒ ряд шаблонов повСдСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ элСмСнты ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, большой ΠΏΠ°Π»Π΅Ρ† Ρ€ΡƒΠΊΠΈ всСгда находится Π²Π½ΠΈΠ·Ρƒ экрана смартфона, поэтому всС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΌ. Π’Π°ΠΊΠΆΠ΅ слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ особСнности ТСстов, Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, анатомичСскиС Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹. Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄Π΅Ρ€ΠΆΠΈΡ‚ смартфон, ΠΊΡƒΠ΄Π° смотрит, ΠΊΠ°ΠΊ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ Π½Π° экран.

ИспользованиС ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°

Π­Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ интСрфСйса мобильного прилоТСния быстрым ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Π° Π³Π»Π°Π²Π½ΠΎΠ΅, Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самыС Π²Π°ΠΆΠ½Ρ‹Π΅ инструмСнты. Он Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сначала Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» с самыми Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ инструмСнтами. Π’ дальнСйшСм постСпСнно Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ сокращаСт врСмя Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ риски ΠΈ снимаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ с интСрфСйса.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ интСрфСйса мобильного Π²Π΅Π± прилоТСния

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ мобильного прилоТСния: основныС трСбования

Выполняя эти трСбования, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ получится эффСктивным, понятным ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ. ΠžΡΡ‚Π°Π΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°ΠΊΡ†Π΅Π½Ρ‚ Π½Π° Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ сопровоТдСнии, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π±Ρ‹Π»ΠΎ приятно Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π΅Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Π­Ρ‚Π°ΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ интСрфСйса ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π­Ρ‚Π°ΠΏΡ‹ создания интСрфСйса Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ ΠΈ понятныС. Они ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΈ ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π½Ρƒ. Π’ ΠΈΡ‚ΠΎΠ³Π΅, получаСтся качСствСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ со ΡΡ‚ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ интСрфСйсом.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ†Π΅Π»ΠΈ выполняСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΈ для ΠΊΠΎΠ³ΠΎ создаСтся. Наши спСциалисты ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ†Π΅Π»Π΅Π²ΡƒΡŽ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΡŽ, ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ Π½ΠΈΡˆΡƒ бизнСса, ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΡŽ. На основС собранных Π΄Π°Π½Π½Ρ‹Ρ… формируСтся концСпция, которая Π΄Π°Π΅Ρ‚ Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ прСдставлСниС ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ. Π•Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡƒΠΆΠ΅ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΈΠ½Π°Ρ‡Π΅ Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π±ΠΎΡ‚ придСтся ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Ρ‹Π²Π°Ρ‚ΡŒ.

БрСйнсторминг ΠΈ эскизы

На основС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ проводится обсуТдСниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ зарисовки, Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠΈ ΠΈ эскизы. Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ сопровоТдСниС ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅ ΠΈ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Π΅ мСста. Π’Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π·Π°Π΄Π°Ρ‡ΠΈ для UX Π΄ΠΈΠ·Π°ΠΉΠ½Π°. На Π΄Π°Π½Π½ΠΎΠΌ этапС создания интСрфСйса Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ВыбираСтся цвСтовая Π³Π°ΠΌΠΌΠ°, Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΡΡ‚ΠΈΠ»ΡŒ.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ²

ΠŸΡ€ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ΡΡ каТдая страница прилоТСния, создаСтся Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ связаны ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Π˜Π½Ρ‹ΠΌΠΈ словами, становится понятно, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΌΠ΅Ρ‚ Π½Π° Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΈΠ½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт пошагово Ρ€Π°ΡΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ страницу ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ прилоТСния.

Π’Ρ‹Π±ΠΎΡ€ стиля интСрфСйса

БоздаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠ°Π»ΠΈΡ‚Ρ€Π° Ρ„ΠΈΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ†Π²Π΅Ρ‚ΠΎΠ², формируСтся своСобразный Π±Ρ€Π΅Π½Π΄Π±ΡƒΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ интСрфСйсов ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ интСрфСйсов: тСхничСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅

ПослС сбора всСй Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, статистики, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ стиля ΠΈ количСства страниц, создаСтся тСхничСскоС Π·Π°Π΄Π°Π½ΠΈΠ΅. По сути, это Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ спСциалистов. Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых Π²Π°ΠΆΠ½Ρ‹Ρ… этапов создания интСрфСйса. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹ Π½Π΅ΡƒΠΊΠ»ΠΎΠ½Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ этому Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€Π°Π²ΠΎΠΊ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ зависит ΠΎΡ‚ качСства созданного Π’Π—. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ удСляСм особоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ ΠΈΡ… дСмонстрация

РазрабатываСтся ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ приступаСт ΠΊ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ прорисовкС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся UX Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΌΡƒ Π·Π° удобство располоТСния элСмСнтов ΠΈ ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. ΠŸΡ€ΠΎΡ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ каТдая страница со всСми особСнностями. По сути, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ создаСтся Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ.

Π”ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π° интСрфСйсов ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π’ Ρ…ΠΎΠ΄Π΅ ΠΏΠ΅Ρ€Π΅Π³ΠΎΠ²ΠΎΡ€ΠΎΠ² Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ оказываСтся Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ слоТно Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ просто вносятся ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹. Π­Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс, поэтому ΠΎΠ½ относится ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· этапов создания интСрфСйса. ПослС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ основного Π΄ΠΈΠ·Π°ΠΉΠ½Π° становится понятно, Π³Π΄Π΅ Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹ ошибки ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€Π°Π²ΠΊΠΈ вносятся Π΄Π°ΠΆΠ΅ Π½Π° этап Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ. Иногда ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠžΡ‚ внСшнСго Π²ΠΈΠ΄Π° ΠΈ удобства использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ зависит ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΈ Π²ΠΎΡΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сколь ΡƒΠ³ΠΎΠ΄Π½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ, Π½ΠΎ Ссли ΠΎΠ½ΠΎ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅, нСпонятноС, Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ: 3 критСрия ΠΎΡ†Π΅Π½ΠΊΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, насколько эффСктивСн интСрфСйс мобильного прилоТСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹. Они ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ качСство интСрфСйса ΠΈ Π΅Π³ΠΎ возмоТности.

Π­Ρ€Π³ΠΎΠ½ΠΎΠΌΠΈΠΊΠ°, ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚ ΠΈ простота, соврСмСнныС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ – всС это Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ Π² ΠΎΠ΄Π½Ρƒ систСму. Π’ΠΎΠ³Π΄Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ довСрия ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ растСт.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

5 ΠΏΡ€Π°Π²ΠΈΠ» для создания интСрфСйса ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

1. Π”ΡƒΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ

ΠŸΠΎΠΉΠΌΠΈΡ‚Π΅, ΠΊΡ‚ΠΎ ваш ΠΊΠ»ΠΈΠ΅Π½Ρ‚, ΠΊΡ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, для ΠΊΠ°ΠΊΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ ΠΎΠ½ΠΎ потрСбуСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Если это инструмСнт ΠΏΡ€ΠΎΠ΄Π°ΠΆ, основной ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Β«ΠšΡƒΠΏΠΈΡ‚ΡŒΒ». Если это ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, удобная навигация – Π³Π»Π°Π²Π½Ρ‹ΠΉ элСмСнт. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠΈ, увлСчСния, потрСбности Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

2. НичСго лишнСго

3. ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ использования Π²Π°ΠΆΠ΅Π½!

Π“Π΄Π΅, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅? КакиС условия для этого созданы? Π”Π°Π»Π΅ΠΊΠΎ Π½Π΅ всСгда Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ примСняСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Ρ… условиях. Π”ΠΎΠΌΠ°, Π² ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎΠΉ обстановкС, ΡƒΡŽΡ‚Π΅ ΠΈ Ρ‚Π΅ΠΏΠ»Π΅. НСрСдко это стрСссовыС мСста. Автобус, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ постоянная тряска, ΡƒΠ»ΠΈΡ†Π°, Π³Π΄Π΅ ΡˆΡƒΠΌΠ½ΠΎ ΠΈ Π΄Π½Π΅Π²Π½ΠΎΠΉ свСт ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΡΡ€ΠΊΠΎΡΡ‚ΡŒ экрана. Или Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, поздняя Π½ΠΎΡ‡ΡŒ, плохая ΠΏΠΎΠ³ΠΎΠ΄Π°. Π£Ρ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅, Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. НапримСр, слуТбу такси часто Π·Π°ΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΡƒΠ»ΠΈΡ†Π΅, Π° Π½Π΅ Π΄ΠΎΠΌΠ°.

4. ВсС взаимосвязанныС элСмСнты логичСски соСдинСны

Π›ΠΎΠ³ΠΈΠΊΠ° – основа ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎΠ³ΠΎ взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ссли Π±Ρ‹ ΠΏΠ΅Ρ‡ΡŒ стояла Π½Π΅ Π½Π° ΠΊΡƒΡ…Π½Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ соль Π² блюдо, ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΈΠ΄Ρ‚ΠΈ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ Π·Π° Π½Π΅ΠΉ, ΠΏΠΎΡ‚ΠΎΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ всС элСмСнты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ соСдинСны ΠΈ логичСски связаны. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠΏΠ»Π°Ρ‚Ρ‹ ΠΏΡƒΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ способ ΠΎΠΏΠ»Π°Ρ‚Ρ‹ ΠΈ доставки, Π° Π½Π΅ ΠΈΡ‰Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

5. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ ΠΏΠΎ ваТности

ΠœΡ‹ всСгда Ρ‡ΠΈΡ‚Π°Π΅ΠΌ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠ°. РасполоТСниС Π²Π°ΠΆΠ½Ρ‹Ρ… элСмСнтов Π² Π»Π΅Π²ΠΎΠΉ части прилоТСния – это ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ. Оно Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ связано с ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠΎΠΉ. Π’ ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ – Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ элСмСнты. ΠšΡ€Π΅Π°Ρ‚ΠΈΠ² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² Π½Π΅ способСн ΡΡ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ с ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠΎΠΉ. Π’Π°ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ располоТСния элСмСнтов, Ρ‚ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΡ‡Π½Ρ‹ΠΌ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ Π² использовании.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Wezom

Π’ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Wezom ΠΌΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ услугу Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ интСрфСйса мобильного прилоТСния. Наша Ρ†Π΅Π»ΡŒ – ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ эффСктивным, вострСбованным, популярным ΠΈ Π½ΡƒΠΆΠ½Ρ‹ΠΌ.

ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ заявку ΠΈ ΠΌΡ‹ свяТСмся с Π²Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, наши Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ Ρ†Π΅Π»Π΅Π²ΡƒΡŽ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΡŽ, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. На Π΅Π³ΠΎ основС ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ†Π΅Π»ΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ прилоТСния. Π”Π΅Π»Π°ΡŽΡ‚ΡΡ эскизы, наброски, ΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ этапС создания интСрфСйса ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ. Π”ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ интСрфСйс мобильного прилоТСния, прорисовывая ΠΊΠ°ΠΆΠ΄ΡƒΡŽ страницу. По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚ вводятся ΠΏΡ€Π°Π²ΠΊΠΈ, Π²Π½Π΅Π΄Ρ€ΡΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты. Π’ ΠΈΡ‚ΠΎΠ³Π΅, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ смСло Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ.

ΠŸΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚Π΅ Π½Π°ΠΌ ΠΈΠ»ΠΈ ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ заявку, ΠΈ наш ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π²Π°ΠΌ ΠΏΠ΅Ρ€Π΅Π·Π²ΠΎΠ½ΠΈΡ‚. ΠœΡ‹ обсудим всС Π΄Π΅Ρ‚Π°Π»ΠΈ, ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠΌ Π½Π° ваши вопросы. Π’Π°ΠΊΠΆΠ΅ расскаТСм ΠΎ стоимости, особСнностях ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… дСталях.

Π’Ρ‹Π²ΠΎΠ΄

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ мобильного прилоТСния – это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ зависит успСх ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Каким Π±Ρ‹ классным Π½Π΅ Π±Ρ‹Π» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», Ссли интСрфСйс нСкачСствСнный, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ просто Π½Π΅ смоТСт ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ всС возмоТности. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ особоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ΄Π΅Π»ΡΡ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ интСрфСйсов ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π•ΡΡ‚ΡŒ ряд ΠΏΡ€Π°Π²ΠΈΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ. Π•ΡΡ‚ΡŒ Π·Π°ΠΊΠΎΠ½Ρ‹ Π»ΠΎΠ³ΠΈΠΊΠΈ, особСнности психологии Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° располоТСниС элСмСнтов. ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ мноТСство нюансов, ΠΈ Ρ‚ΠΎΠ³Π΄Π° интСрфСйс получится эффСктивным. А ΠΌΡ‹ Π²Π°ΠΌ Π² этом ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

ЭкспСртная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Android ΠΈ iOS, для продвиТСния Π’Π°ΡˆΠ΅Π³ΠΎ бизнСса.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ β€” ваТнСйшая концСпция Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ своСобразным Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ систСмой ΠΈ внСшним ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ «систСма» β€” рассматриваСмая функция ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π° Β«ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅Β» β€” вСсь ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ описываСт, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ систСмой ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ. А Β«Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽΒ» ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ «систСма минус интСрфСйс». Π’ языках Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Haskell интСрфСйсы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΡ€Π°ΠΉΠ½Π΅ спСцифичСскими. А Π² языках Π²Ρ€ΠΎΠ΄Π΅ Python ΠΎΠ½ΠΈ, Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², ΠΎΡ‡Π΅Π½ΡŒ ΠΎΠ±Ρ‹Π΄Π΅Π½Π½Ρ‹. Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ интСрфСйса ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ созданного тСхничСского Π΄ΠΎΠ»Π³Π° ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ программиста. О Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ это ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, написано Π½ΠΈΠΆΠ΅. Π’Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ для ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΈ сравнСния Ρ€Π°Π·Π½Ρ‹Ρ… интСрфСйсов. На основании этих сравнСний Π²Ρ‹ смоТСтС сами ΠΏΠΎΠ½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π·Π° способами использования языка ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ инструмСнта.

Π’Π°ΠΆΠ½Π΅ΠΉΡˆΠ°Ρ концСпция Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО β€” концСпция интСрфСйса. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ ΠΎΠ± интСрфСйсах Π½Π° Java, Π° ΠΎΠ± интСрфСйсах Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅. И Π² мСньшСй стСпСни β€” ΠΎΠ± интСрфСйсах Π² ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΌ ΠΌΠΈΡ€Π΅. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ΠΌΠ°Π»ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ, Π½ΠΎ я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· Π½ΠΈΡ… Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ зависят ΠΎΡ‚ ваТности интСрфСйса.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ интСрфСйс?

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ ΠΈΠ· нас Π·Π½Π°ΠΊΠΎΠΌΡ‹ Π΄Π²Π΅ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ:

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ β€” это Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ систСмой ΠΈ внСшним ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ β€” это сопряТСниС систСмы с внСшним ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ = БистСма ∩ ΠžΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ с сопряТСниСм ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΡƒΡ‡ΡˆΠ΅, Ссли систСма β€” это физичСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Оба опрСдСлСния ΠΎΡ‡Π΅Π½ΡŒ абстрактны, поэтому Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΈΡ… Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ пСчатания Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅:

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Π—Π΄Π΅ΡΡŒ систСма β€” Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ, ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ β€” Ρ€ΡƒΠΊΠΈ (Π° Ρ‚Π°ΠΊΠΆΠ΅ Π»Π°ΠΏΡ‹ ΠΊΠΎΡ‚Π°, Π·Π°Π±Ρ€Π°Π²ΡˆΠ΅Π³ΠΎΡΡ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ). Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, интСрфСйс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ любой Ρ‡Π°ΡΡ‚ΡŒΡŽ взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€ΡƒΠΊΠ°ΠΌΠΈ ΠΈ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ нСльзя отнСсти лишь ΠΊ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· сторон, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΎΠ±Π΅ΠΈΠΌ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ Π΄ΡƒΠΌΠ°Π΅ΠΌ ΠΎ Ρ€ΡƒΠΊΠ°Ρ… ΠΈ ΠΎ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ обособлСнно, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ интСрфСйса Π² Π΄Π°Π½Π½ΠΎΠΌ случаС β€” ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ философского спора. Π’Π°ΠΌ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ: Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ это ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° Π² Ρ†Π΅Π»ΠΎΠΌ ΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ‚ΠΎΠΌΡ‹, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΡ€ΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ ΠΏΠ°Π»ΡŒΡ†Π΅Π² ΠΈ клавиш.

НавСрноС, вас ΡƒΠ΄ΠΈΠ²ΠΈΡ‚, ΠΊΠ°ΠΊ этот ΠΏΡ€ΠΈΠΌΠ΅Ρ€ соотносится с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ интСрфСйса ΠΊΠ°ΠΊ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π°. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΠΎΠ΄ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠΌ подразумСваСтся соглашСниС, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π² своё врСмя ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ»ΠΈ достаточно усилий, ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ располоТСниС клавиш ΠΈ Π½Π°Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈ ΠΌΡ‹ΡˆΠ΅Ρ‡Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π‘ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠΌ связан Π΅Ρ‰Ρ‘ ряд нюансов. НапримСр, Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΈ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ клавиши ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с простым ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ.

Всё это Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ философскиС рассуТдСния, Π½ΠΎ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ относятся ΠΊ написанию ПО? Ну, Π½Π°Ρ‡Π½Ρ‘ΠΌ с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ интСрфСйсы Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‚ вас со всСх сторон, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ Π½Π° это внимания. НапримСр, Ссли Π²Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π½Π° Java, Ρ‚ΠΎ явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΠΌΠ΅Π½ΡƒΠ΅Ρ‚Π΅ интСрфСйсы Π² зависимости ΠΎΡ‚ ΠΈΡ… назначСния. И Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках ΠΎΠ½ΠΈ Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ интСрфСйса Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ add_numbers :

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Ρ‚Ρƒ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΡƒ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Ρ†ΠΈΠΈ ΡˆΡ‚Π°Π½ΠΎΠ² для описания окруТСния, систСмы add_numbers ΠΈ интСрфСйса:

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, здСсь Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° чСтвёртая концСпция: «рСализация». Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ слоТно Π΄ΠΈΡΠΊΡƒΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ‚Π΅ΠΌΡƒ интСрфСйсов Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ этот Ρ‚Π΅Ρ€ΠΌΠΈΠ½:

РСализация β€” это систСма минус интСрфСйс.

Implementation = System βˆ– Interface
Implementation = System βˆ– (System ∩ Environment)

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Π”ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Ρ€Π°Π½ΡŒΡˆΠ΅ Π½Π΅ попадалось Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Но это Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ интСрфСйса, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ ряд прСимущСств. Если Π²Ρ‹ Π±Π΅Π΄Π½Ρ‹ΠΉ студСнт ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅ΡΡŒ ΠΊ экзамСну, Ρ‚ΠΎ навСрняка ваш ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ»Ρ‹ΡˆΠ°Π» ΠΎ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ. НС ΡƒΠ΄ΠΈΠ²Π»ΡŽΡΡŒ, Ссли ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ таксономии ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования. Но Π΄Π°ΠΆΠ΅ Π² этом случаС я Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ Π΅Π³ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ. ΠŸΡƒΡΠΊΠ°ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ Ρ„Π°Π½Π°Ρ‚Ρ‹ ООП ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ свои конспСкты Π² соотвСтствии с ΠΌΠΎΠΈΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ.

Оно, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ нас ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ логичСскому Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ: ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± интСрфСйсах физичСской систСмы, Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ прСдставляСм сСбС Β«Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽΒ» этой систСмы Π² Π²ΠΈΠ΄Π΅ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ физичСского ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’Π΅Π΄ΡŒ Π±Ρ‹Π»ΠΎ Π±Ρ‹ странно Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Β«Π½Π°ΡΡ‚ΠΎΡΡ‰ΡƒΡŽΒ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° ΠΊΠ½ΠΎΠΏΠΎΠΊ, дисплССв ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². И это ΠΏΠΎΠ΄Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ нас ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ интСрфСйс большС ΠΊΠ°ΠΊ «соглашСниС», Π° Π½Π΅ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ физичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’ΠΎ Π΅ΡΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€Π° ΠΎΠ±Π΅Ρ‰Π°Π½ΠΈΠΉ, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΉ ΠΈΠ»ΠΈ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ вродС… Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π° ΠΌΠ΅ΠΆΠ΄Ρƒ систСмой ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΊΠ°ΠΊ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€

Если Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ интСрфСйс Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ add_numbers Π² Π²ΠΈΠ΄Π΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π°, Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Π°ΠΊΠΈΠ΅:

unsigned int add_numbers();

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ интСрфСйса ΠΊΠ°ΠΊ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π° ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для программирования. Π’Π΅Π΄ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ программистских Π·Π°Π΄Π°Ρ‡ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠΈ Π½Π°Π±ΠΎΡ€ΠΎΠ² аксиом. ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ условия ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ свойства ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΄Π²Π΅ стороны Π·Π°Π²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π΄Π΅Π»ΠΎΠ²Ρ‹Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ, ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€. Π’ Π½Ρ‘ΠΌ сформулирован ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, сумма ΠΈ сроки ΠΎΠΏΠ»Π°Ρ‚Ρ‹. Π’Π°ΠΊΠΆΠ΅ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠ³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ условия досрочного расторТСния, Π²ΠΎΠ·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ ΠΈ ΠΈΠ·Π΄Π΅Ρ€ΠΆΠ΅ΠΊ. Если Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ΡΡ, Ρ‚ΠΎ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ Ρ€Π°Π·Ρ€ΡƒΠ»ΠΈΠ²Π°Π΅Ρ‚ суд ΠΈΠ»ΠΈ Π°Ρ€Π±ΠΈΡ‚Ρ€Π°ΠΆ. Но Ссли Π²Ρ‹ Π·Π°Π±Ρ‹Π»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π΅, Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΡΡŽΡ€ΠΏΡ€ΠΈΠ·Ρ‹.

Π‘ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ всё Ρ‚ΠΎ ΠΆΠ΅ самоС. ΠœΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ говорят, Ρ‡Ρ‚ΠΎ ΠΈΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈ (ΠΈΠ½ΠΎΠ³Π΄Π°) Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄Π°Π΄ΡƒΡ‚ Π²Π·Π°ΠΌΠ΅Π½. ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ этого Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ошибкС компиляции, ΠΊ ошибкС выполнСния, ΠΊ сбою прилоТСния, систСмы, срСдств контроля качСства ΠΊΠΎΠ΄Π° ΠΈ ΠΊ Π²Ρ‹Π³ΠΎΠ²ΠΎΡ€Ρƒ ΠΎΡ‚ руководства. Π― Π±Ρ‹ Π΄Π°ΠΆΠ΅ сказал, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ интСрфСйса ΠΊΠ°ΠΊ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π° Π½Π΅ мСтафоричСскоС. Π—Π΄Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π΅ ΠΆΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹, Ρ‡Ρ‚ΠΎ ΠΈ Π² коммСрчСском Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π΅, хотя ΠΎΠ½ ΠΈ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½.

ΠŸΠ°Ρ‚Π΅Π½Ρ‚Ρ‹, авторскиС ΠΏΡ€Π°Π²Π° ΠΈ интСрфСйсы

Π― Π½Π΅ Π±ΡƒΠ΄Ρƒ Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π°ΠΌ совСты Π² области ΠΏΡ€Π°Π²Π°. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· мною сказанного Π΄Π°ΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΡ‚ΡŒ Π·Π°ΠΊΠΎΠ½Π°ΠΌ. Всё Π½ΠΈΠΆΠ΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ β€” лишь частноС ΠΌΠ½Π΅Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎΡ€Π°.

Π˜Ρ‚Π°ΠΊ, я склонСн Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ интСрфСйс ΠΊΠ°ΠΊ «коммСрчСский Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Β» ΠΌΠ΅ΠΆΠ΄Ρƒ двумя сущностями. ΠŸΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°ΡŽ β€” я Π½Π΅ ΡΡ‡ΠΈΡ‚Π°ΡŽ это ΠΌΠ΅Ρ‚Π°Ρ„ΠΎΡ€ΠΎΠΉ. ОсобСнно я Π°Π΄Ρ€Π΅ΡΡƒΡŽ эту ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ спСциалистам ΠΏΠΎ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… машин ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ°ΠΌ авторских ΠΏΡ€Π°Π².

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π»ΠΈ ΠΏΠ°Ρ‚Π΅Π½Ρ‚ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс? Учитывая Π΅Π³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π° ΠΌΠ΅ΠΆΠ΄Ρƒ систСмой ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ, я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ использованиС ΠΏΠ°Ρ‚Π΅Π½Ρ‚ΠΎΠ² Π±Ρ‹Π»ΠΎ Π±Ρ‹ ошибкой. И, судя ΠΏΠΎ всСму, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€Π΅Ρ†Π΅Π΄Π΅Π½Ρ‚Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мою ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Но ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ слово «интСрфСйс» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΎ, ΠΈ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ совсСм Π½Π΅ Π² Ρ‚ΠΎΠΌ смыслС, ΠΊΠ°ΠΊ я описал Π²Ρ‹ΡˆΠ΅.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π»ΠΈ Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ интСрфСйс авторскими ΠΏΡ€Π°Π²Π°ΠΌΠΈ? ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, учитывая Β«Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π½ΡƒΡŽΒ» ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ, я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ авторского ΠΏΡ€Π°Π²Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ «исходный ΠΊΠΎΠ΄Β» интСрфСйса. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя авторскиС ΠΏΡ€Π°Π²Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ Ρ‚Π΅ΠΌ аспСктам интСрфСйсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΈΡ… Ρ‚Π°ΠΊΠΈΠΌΠΈ особСнными. Достаточно лишь Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ исходный ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ рукописноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ ΠΈΠ»ΠΈ ограничСния. Если Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ ΠΈΠ»ΠΈ ограничСния интСрфСйса станут Π½Π΅ΠΎΡ‚Π΄Π΅Π»ΠΈΠΌΡ‹ ΠΎΡ‚ любой ΠΈΠ· частСй Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Ρ‚ΠΎ эти части слСдуСт Π»ΠΈΡˆΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Π·Π°Ρ‰ΠΈΡ‚Ρ‹.

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ простой тСст, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ, Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ авторскими ΠΏΡ€Π°Π²Π°ΠΌΠΈ.

Если Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π»ΡŽΠ±Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΎΡ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ стороны, ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ интСрфСйсом, Ρ‚ΠΎ всСгда ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ Π·Π°ΠΌΠ΅Π½Ρƒ. Π—Π°ΠΌΠ΅Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый интСрфСйс ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ПО ΠΎΡ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ стороны, Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ этого самого ПО, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ Π»ΡŽΠ±Ρ‹Ρ… авторских ΠΏΡ€Π°Π². Если любая Π·Π°ΠΌΠ΅Π½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡŽ авторских ΠΏΡ€Π°Π², ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ПО ΠΎΡ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ стороны, ΠΈΠ»ΠΈ ΡƒΡ…ΡƒΠ΄ΡˆΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² слишком агрСссивСн ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ сокращён.

Π‘Ρ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого тСста цСлСсообразно ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΈ Π½Π° ΠΏΠ°Ρ‚Π΅Π½Ρ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ρ†Π΅Π»ΡŒ тСста β€” ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π΅Ρ†Π΅Π»Π΅ΡΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ авторскими ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠ°Ρ‚Π΅Π½Ρ‚ΠΎΠΌ. Он Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ слСдуСт ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π½ΡƒΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Π΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, этот тСст β€” лишь ΠΌΠΎΡ‘ ΠΌΠ½Π΅Π½ΠΈΠ΅, Π° Π½Π΅ Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π°ΠΊΡ‚ ΠΈΠ»ΠΈ Π·Π°ΠΊΠΎΠ½.

Π’Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ‡Ρƒ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ любой ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ, рассматриваСмый ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ интСрфСйса Π² ΠΎΠ΄Π½ΠΎΠΌ языкС, ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΠ²Π»ΡΡ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΎΠ²Ρ‹ΠΌ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ языкС. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π² Java порядок объявлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π΅ влияСт Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. И Ссли Π²Ρ‹ случайно скаТСтС, Ρ‡Ρ‚ΠΎ порядок слСдования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ ошибкой ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° Python:

ВсС эти Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Ρ‹ ΠΎ Π·Π°ΠΊΠΎΠ½Π°Ρ… Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈ ΠΌΠ½Π΅ Π΄Π΅Π»ΠΎ Oracle ΠΏΡ€ΠΎΡ‚ΠΈΠ² Google. По ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΉ ссылкС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ интСрСсныС для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² подробности, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ я Π±ΡƒΠ΄Ρƒ ΠΎΠΏΠΈΡ€Π°Ρ‚ΡŒΡΡ Π½Π° Π½ΠΈΡ… Π² своём Π°Π½Π°Π»ΠΈΠ·Π΅. Учитывая всС аспСкты, Π½Π΅ Π²ΠΈΠΆΡƒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Π½Π΅ ΡΠΎΠ³Π»Π°ΡˆΠ°Ρ‚ΡŒΡΡ с Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π΅Π»Π° Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Oracle. НС ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±Π΅Π·ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΡ‡Π½ΠΎ ΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π°ΠΌ доступно Π½Π΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°.

Π”ΡƒΠΌΠ°ΡŽ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ создан ΠΏΡ€Π΅Ρ†Π΅Π΄Π΅Π½Ρ‚, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ ΠΏΠ°Ρ‚Π΅Π½Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ авторскими ΠΏΡ€Π°Π²Π°ΠΌΠΈ элСмСнты интСрфСйса. Как Ρ€Π°Π· Ρ‚ΠΎΡ‚ случай, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π΅ Π±Ρ‹Π» Π±Ρ‹ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½ ΠΌΠΎΠΉ тСст. ΠžΠΊΡ€ΡƒΠΆΠ½ΠΎΠΉ суд принял Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: Β«Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° API ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹ авторским ΠΏΡ€Π°Π²ΠΎΠΌΒ». НС Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ «структура, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Β» ΠΏΠΎ своСму ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡ€ΠΎΠΉΠ΄ΡƒΡ‚ ΠΌΠΎΠΉ тСст. ΠŸΡ€ΠΈΠ²Π΅Π΄Ρƒ ΠΏΠ°Ρ€Ρƒ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΈΠ· ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ссылкС:

Β«ΠžΠΊΡ€ΡƒΠΆΠ½ΠΎΠΉ суд Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΠ», Ρ‡Ρ‚ΠΎ β€žΠ΅ΡΡ‚ΡŒ лишь ΠΎΠ΄ΠΈΠ½ способ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡβ€œ объявлСний для взаимодСйствия с Java. Если это Ρ‚Π°ΠΊ, Ρ‚ΠΎ использованиС ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… объявлСний Π½Π΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ‚ Π·Π°Ρ‰ΠΈΡ‚Π΅ авторским ΠΏΡ€Π°Π²ΠΎΠΌ. Π’ Google Π½Π΅ ΠΎΡΠΏΠ°Ρ€ΠΈΠ²Π°ΡŽΡ‚ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свои собствСнныС API для доступа ΠΊ Java, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Ρ€Ρ‘Ρ…Β». И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Β«Π’ Google ΠΏΡ€ΠΈΠ·Π½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ дословно скопировали объявлСния».

Π”ΡƒΠΌΠ°ΡŽ, суд принял Π²Π΅Ρ€Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΠ², Ρ‡Ρ‚ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎ сути свойства интСрфСйса Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°Ρ‚ΡŒΡΡ Π·Π°Ρ‰ΠΈΡ‚Π΅. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π² Google ΠΏΡ€ΠΈΠ·Π½Π°Π»ΠΈ «дословноС» ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Если ΠΏΠΎΠ΄ этим подразумСваСтся копипастинг, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ всС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ орфографичСскиС ошибки Π² коммСнтариях, Ρ‚ΠΎ я ΡΡ‡ΠΈΡ‚Π°ΡŽ это Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€Π°Π². Π”Π°ΠΆΠ΅ Ссли нСльзя Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ интСрфСйс, Ρ‚ΠΎ это Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Π΅ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ творчСского самовыраТСния.

Об этой тяТбС я знаю лишь ΠΈΠ· ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… сСтСвых источников, Π½ΠΎ, судя ΠΏΠΎ всСму, Π² Google ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ скопировали исходный Java-ΠΊΠΎΠ΄, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ интСрфСйсы. ΠŸΠΎΡ…ΠΎΠΆΠ΅, ΠΎΠ½ΠΈ ΠΈ сами считали, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ своё использованиС Java, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π³ΠΎΠ²ΠΎΡ€ΠΎΠ² ΠΏΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹ΠΌ соглашСниям с Sun Π΅Ρ‰Ρ‘ Π΄ΠΎ 2010 Π³ΠΎΠ΄Π°. Но эти соглашСния ΠΏΠΎΡ‚Π΅Ρ€ΠΏΠ΅Π»ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Sun Π±Ρ‹Π»Π° ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Π° Oracle. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Google ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ «дословныС» ΠΊΠΎΠΏΠΈΠΈ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ явно Π½Π΅ пошло Π΅ΠΉ Π½Π° ΠΏΠΎΠ»ΡŒΠ·Ρƒ ΠΏΡ€ΠΈ судСбном Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π΅. ΠŸΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΈΡ… Π°Π΄Π²ΠΎΠΊΠ°Ρ‚Ρ‹ Π·Π½Π°Π»ΠΈ ΠΎ слабости своСй ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, поэтому Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρ‹, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° Π·Π°ΠΊΠΎΠ½Π½ΠΎΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎ нСраспространСнии авторского ΠΏΡ€Π°Π²Π° Π½Π° интСрфСйсы. НадСялись Π²Ρ‹ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π΄Π΅Π»ΠΎ Π·Π° счёт прСдставлСния интСрфСйса Π² Π²ΠΈΠ΄Π΅ исходного ΠΊΠΎΠ΄Π° ΠΈ Π΅Π³ΠΎ объСдинСния с Π±ΠΎΠ»Π΅Π΅ философской ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Β«ΠΌΠΎΠ΄ΡƒΠ»ΡŒΒ», ΠΈΠ»ΠΈ «абстракция»?

ΠŸΡ€ΠΈ словС Β«ΠΌΠΎΠ΄ΡƒΠ»ΡŒΒ» Ρƒ мСня Π² Π³ΠΎΠ»ΠΎΠ²Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ заглавная ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° поста. Π­Ρ‚Π° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ Ρ…ΠΎΡ€ΠΎΡˆΠΎ дСмонстрируСт Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ† модуля ΠΈ Π΅Π³ΠΎ взаимодСйствия с ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΊΡƒΠ±ΠΈΠΊΠ° Тёстко ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ взаимодСйствиС внСшнСй срСды с содСрТимым ΠΊΡƒΠ±ΠΈΠΊΠ°. Π’Ρ‹ Π½Π΅ смоТСтС ΠΎΠ±ΠΎΠΉΡ‚ΠΈ интСрфСйс, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ придётся ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ навязанныС ΠΈΠΌ Β«ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈΠ³Ρ€Ρ‹Β». НаконСц, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΡƒΠ±ΠΈΠΊΠ° Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅Ρ‚, Π½ΠΎ это Π½Π΅Π²Π°ΠΆΠ½ΠΎ: Π²Π°ΠΆΠ½ΠΎ Π½Π΅ Π΅Π³ΠΎ содСрТимоС, Π° интСрфСйс.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: строСниС ΠΊΠ»Π΅Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΌΠ΅ΠΌΠ±Ρ€Π°Π½Ρ‹. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅ΠΌΠ±Ρ€Π°Π½Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… вСщСств ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° это Π½ΡƒΠΆΠ½ΠΎ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Π’ контСкстС этой ΡΡ‚Π°Ρ‚ΡŒΠΈ я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ Β«ΠΌΠΎΠ΄ΡƒΠ»ΠΈΒ» ΠΈ «абстракции» ΠΊΠ°ΠΊ синонимы. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ со ΠΌΠ½ΠΎΠΉ Π½Π΅ согласится, ΠΈ Π΄Π°ΠΆΠ΅ Π² Ρ€Π°Π·Π½Ρ‹Ρ… языках программирования эти Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Но Π² Π΄Π°Π½Π½ΠΎΠΌ случаС мСня интСрСсуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π΅ эти сущности ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π² качСствС систСмы, ΠΊΠ°ΠΊ ΠΎΠ½Π° понимаСтся Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ абстракции ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· интСрфСйса ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ Π² языкС Π‘, Β«ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌΒ» β€” Π² Python, классом ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ β€” Π² Java. Π§Π΅ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, лишь Π±Ρ‹ ΠΎΠ½ΠΎ ΠΈΠΌΠ΅Π»ΠΎ внСшний интСрфСйс ΠΈ Β«ΡΠΊΡ€Ρ‹Ρ‚ΡƒΡŽΒ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ Β«ΡΠΊΡ€Ρ‹Ρ‚ΠΎΡΡ‚ΡŒΒ» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слСдствиСм ΠΏΡ€Π°Π²ΠΈΠ» языка ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ программиста.

ДырявыС абстракции

Насколько я знаю, идСю дырявых абстракций Π²Ρ‹Π΄Π²ΠΈΠ½ΡƒΠ» Π”ΠΆΠΎΠ΅Π» Бполски. Π’ Π΅Π³ΠΎ эссС Π΅ΡΡ‚ΡŒ нСсколько Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Π½ΠΎ я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ привСсти свой. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‡Π΅Π½ΡŒ часто встрСчаСтся концСпция Β«ΠΊΠ°Ρ€Ρ‚Ρ‹Β»: прСдставлСниС структуры Π΄Π°Π½Π½Ρ‹Ρ…, состоящСй ΠΈΠ· ΠΏΠ°Ρ€ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’Π°ΠΆΠ½ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅: ΠΊΠ°Ρ€Ρ‚Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ всС ΠΊΠ»ΡŽΡ‡ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° записи Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ошибкС ΠΈΠ»ΠΈ пСрСзаписи ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ значСния. Π‘ΡƒΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Π§Π°Ρ‰Π΅ всСго ΠΎΡ‚ программистов трСбуСтся ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ всС эти ΠΊΠ»ΡŽΡ‡ΠΈ. А ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°Ρ€Ρ‚Ρ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ порядок сортировки ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° приходится Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ вопросом, Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ послС ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°? Π­Ρ‚ΠΎ β€” слСдствиС Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ интСрфСйс ΠΊΠ°Ρ€Ρ‚Ρ‹ Π½Π΅ Π΄Π°Ρ‘Ρ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΉ ΠΏΠΎ сортировкС. И хотя считаСтся, Ρ‡Ρ‚ΠΎ это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ всё ΠΆΠ΅ хочСтся ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’Π°ΠΊ Π½ΡƒΠΆΠ½ΠΎ для Π±ΠΎΠ»Π΅Π΅ эффСктивной ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для облСгчСния ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ отсортированных Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ совсСм Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ случайных Π΄Π°Π½Π½Ρ‹Ρ…. Допустим, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² спискС:

Π’Π΅Ρ‚ΠΊΠ° else if Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°, Ссли Π΄Π°Π½Π½Ρ‹Π΅ отсортированы ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ. Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π°Ρ‡Π½Ρ‘Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ со случайного мСста списка, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ столкнётся с этой строкой. И это огромная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ссли Π²Ρ‹ помСняСтС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈ ΠΎΠ½Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ отсортированныС ΠΊΠ»ΡŽΡ‡ΠΈ, Ρ‚ΠΎ ваш ΠΊΠΎΠ΄ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ станСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎ Π²Π΅Ρ‚ΠΊΠ΅ с Π±Π°Π³ΠΎΠΌ. А ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ Π²Ρ‹ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π·Π°Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΎΠ± этом ΠΊΠΎΠ΄Π΅ ΠΈ скрытой Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ Π±ΠΎΠΌΠ±Π΅.

Π₯ΠΎΡ‡Ρƒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ своё собствСнноС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ абстракций.

Π£Ρ‚Π΅Ρ‡ΠΊΠΎΠΉ абстракций (abstraction leak) называСтся ситуация, ΠΊΠΎΠ³Π΄Π° рСализация ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π½Π΅ Π±Ρ‹Π»ΠΎ прСдусмотрСно интСрфСйсом.

Богласно этому ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ, ΠΏΠΎΡ‡Ρ‚ΠΈ каТдая абстракция β€” дырявая. Π’Π΅Π΄ΡŒ описаниС Π² интСрфСйсС всСх Π²ΠΈΠ΄ΠΎΠ² воздСйствия Π½Π° ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысл лишь Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ строгих матСматичСских систСмах. А Ρ‡Ρ‚ΠΎ касаСтся физичСских систСм, Ρ‚ΠΎ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒΡΡ Ρ‚Π΅ΠΎΡ€Π΅ΠΌΠ° ГёдСля ΠΎ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΡ‚Π΅.

ИдСя дырявости Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° абстракций Π½Π΅ являСтся нСобоснованной. Π­Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π» ΠΈ Π”ΠΆΠΎΠ΅Π» Бполски Π² своём Β«The Law of Leaky AbstractionsΒ»:

«ВсС Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ абстракции ΡΠ²Π»ΡΡŽΡ‚ΡΡ дырявыми Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ стСпСни».

Π Π°Π· всС абстракции дырявыС, Ρ‚ΠΎ ΠΎ Ρ‡Ρ‘ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ? ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ‡Π°ΡΡ‚ΡŒ окруТСния Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΎΠΏΠΈΡ€Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· нСпрСдусмотрСнных способов воздСйствия систСмы Π½Π° ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅. ИмСнно ΠΎ Ρ‚Π°ΠΊΠΈΡ… ΡƒΡ‚Π΅Ρ‡ΠΊΠ°Ρ… всС ΠΈ говорят.

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π΄Π°Π»Π΅ΠΊΠΎ ΠΈΠ΄ΡƒΡ‰ΠΈΠΌ послСдствиям, Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Π±Π°Π³ΠΎΠ², Π½ΠΎ ΠΈ Π² сфСрС бСзопасности. Π‘ физичСскими систСмами, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ Π²ΠΎ внСшнСС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, связан Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Β«Π°Ρ‚Π°ΠΊΠ° ΠΏΠΎ сторонним ΠΊΠ°Π½Π°Π»Π°ΠΌΒ». Π’ сочСтании с заявлСниСм, Ρ‡Ρ‚ΠΎ всС абстракции дырявы, это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ нас ΠΊ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ:

КаТдая физичСская рСализация криптосистСмы уязвима ΠΊ Π°Ρ‚Π°ΠΊΠ°ΠΌ ΠΏΠΎ сторонним ΠΊΠ°Π½Π°Π»Π°ΠΌ.

Учитывая всё сказанноС Π²Ρ‹ΡˆΠ΅, эту идСю ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° физичСскиС, Π½ΠΎ ΠΈ Π½Π° эмулированныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

ΠžΡ†Π΅Π½ΠΊΠ° ΠΈ сравнСниС интСрфСйсов

Как ΠΌΡ‹ ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ Π²Ρ‹ΡˆΠ΅, Π² интСрфСйсах Π½Π° Π‘ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния ΠΈ количСство ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. А Ρ‡Ρ‚ΠΎ насчёт Python? Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «интСрфСйс» Π² соотвСтствии с контСкстом ΡΡ‚Π°Ρ‚ΡŒΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΈΡˆΡƒΡ‚ Π² ΠΊΠ½ΠΈΠ³Π°Ρ… ΠΎΠ± «интСрфСйсах» Π² Python.

Π’ этом языкС Π½Π°ΠΌ трСбуСтся Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ интСрфСйса Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ мСньшС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны β€” ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ для поиска ошибок, мСньшС.

Π”ΡƒΠΌΠ°ΡŽ, Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ± ΠΎΡ†Π΅Π½ΠΊΠ΅ ΠΈ сравнСнии Ρ€Π°Π·Π½Ρ‹Ρ… характСристик интСрфСйса с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния способов ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠžΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ интСрфСйс, Ρ‚Π°ΠΊ ΠΈ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ всСх интСрфСйсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ языкС. Π”Π°Π²Π°ΠΉΡ‚Π΅ вспомним наш ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с add_numbers ΠΈ ΠΎΡ†Π΅Π½ΠΈΠΌ, сколько ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· интСрфСйс ΠΈ Π² ΠΎΠ±Ρ…ΠΎΠ΄ Π½Π΅Π³ΠΎ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚Π΅Ρ‡Π΅ΠΊ абстракции.

Π§Π΅Ρ€Π΅Π· интСрфСйсВ ΠΎΠ±Ρ…ΠΎΠ΄ интСрфСйса
ОписаниС Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΡΡ‚ΠΈΠΊΠΈΠšΠΎΠ»-Π²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΠΉΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΡΡ‚ΠΈΠΊΠΈΠšΠΎΠ»-Π²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… состояний
Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 11 (unsigned int)Бостояния глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ(ΠΊΠΎΠ»-Π²ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…) * (ΠΊΠΎΠ»-Π²ΠΎ состояний Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…)
Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 21 (unsigned int)Ѐайловая ΡΠΈΡΡ‚Π΅ΠΌΠ°ΠšΠΎΠ»-Π²ΠΎ состояний Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы
Π’ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния1 (unsigned int)ВрСмя использования процСссораНС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 12^(ΠΊΠΎΠ»-Π²ΠΎ Π±ΠΈΡ‚ Π² unsigned int)БостояниС ΠΊΡƒΡ‡ΠΈΠšΠΎΠ»-Π²ΠΎ состояний ΠΊΡƒΡ‡ΠΈ
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 22^(ΠΊΠΎΠ»-Π²ΠΎ Π±ΠΈΡ‚ Π² unsigned int)МногиС Π΄Ρ€ΡƒΠ³ΠΈΠ΅..
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅2^(ΠΊΠΎΠ»-Π²ΠΎ Π±ΠΈΡ‚ Π² unsigned int)

И Π΅ΡΡ‚ΡŒ ряд Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с add_numbers Ρ‡Π΅Ρ€Π΅Π· интСрфСйс Python.

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· интСрфСйс PythonΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΎΠ±Ρ…ΠΎΠ΄ интСрфСйса Python
ОписаниС Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΡΡ‚ΠΈΠΊΠΈΠšΠΎΠ»-Π²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΠΉΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΡΡ‚ΠΈΠΊΠΈΠšΠΎΠ»-Π²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… состояний
Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ бСсконСчноСБостояния глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉΠšΠΎΠ»-Π²ΠΎ состояний Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы
Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 2ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ бСсконСчноСЀайловая систСмаНС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ
Π’ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ бСсконСчноСВрСмя использования ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π°ΠšΠΎΠ»-Π²ΠΎ состояний ΠΊΡƒΡ‡ΠΈ
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ бСсконСчноСБостояниС ΠΊΡƒΡ‡ΠΈ.
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 2ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ΠœΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.(ΠΊΠΎΠ»-Π²ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…) * (ΠΊΠΎΠ»-Π²ΠΎ состояний Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…)
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ бСсконСчноС

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ взглянитС Π½Π° количСство Ρ‚ΠΈΠΏΠΎΠ² интСрфСйсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Haskell:

Учитывая этот ΠΊΠΎΠ΄, интСрфСйс add_numbers ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ:

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· интСрфСйс HaskellΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΎΠ±Ρ…ΠΎΠ΄ интСрфСйса Haskell
ОписаниС Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΡΡ‚ΠΈΠΊΠΈΠšΠΎΠ»-Π²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΠΉΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΡΡ‚ΠΈΠΊΠΈΠšΠΎΠ»-Π²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… состояний
Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 11 (Int)ВрСмя использования процСссораНС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ
Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 21 (Int)ВлияниС Π½Π° кэши процСссора/памятиНС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ
Π’ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния1 (Int)ΠŸΡ€ΠΎΡ‡ΠΈΠ΅..
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 11 (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 3)
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 21 (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 4)
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠšΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 2^30[1]

Для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ интСрфСйса Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ Π²Π°ΠΌΠΈ языкС ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΈ количСство ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… способов ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ:

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· GUIΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΎΠ±Ρ…ΠΎΠ΄ GUI
ОписаниС Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΡΡ‚ΠΈΠΊΠΈΠšΠΎΠ»-Π²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΠΉΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΡΡ‚ΠΈΠΊΠΈΠšΠΎΠ»-Π²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… состояний
Клик ΠΏΠΎ ПапкС 1Кол-Π²ΠΎ пиксСлСй Π½Π° экранС, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Папкой 1 * ΠΊΠΎΠ»-Π²ΠΎ ΠΊΠ»ΠΈΠΊΠΎΠ²Π‘ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ возмоТности UIНС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ
Клик ΠΏΠΎ ПапкС 2Кол-Π²ΠΎ пиксСлСй Π½Π° экранС, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Папкой 2 * ΠΊΠΎΠ»-Π²ΠΎ кликовНСстандартныС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ быстрого Π²Ρ‹Π·ΠΎΠ²Π°ΠšΠΎΠ»-Π²ΠΎ пиксСлСй Π½Π° экранС, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Кнопкой 2
НавСдСниС курсора Π½Π° ΠŸΠ°ΠΏΠΊΡƒ 1Кол-Π²ΠΎ пиксСлСй Π½Π° экранС, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Папкой 1ΠŸΡ€ΠΎΡ‡ΠΈΠ΅ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅ возмоТности UI.
НавСдСниС курсора Π½Π° ΠŸΠ°ΠΏΠΊΡƒ 2Кол-Π²ΠΎ пиксСлСй Π½Π° экранС, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Папкой 2
ВрСмя ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈ кликомБСсконСчно
Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½Ρ‹Π΅ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡΠšΠΎΠ»-Π²ΠΎ стандартных ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ клавиш
ΠŸΠ»ΠΎΡ‰Π°Π΄ΡŒ экрана, занимаСмая GUIКол-Π²ΠΎ пиксСлСй, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для отобраТСния GUI

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим Ρ‚Ρƒ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Ρƒ смСны ΠΏΠ°ΠΏΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ cd :

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· GUIΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΎΠ±Ρ…ΠΎΠ΄ GUI
ОписаниС Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΡΡ‚ΠΈΠΊΠΈΠšΠΎΠ»-Π²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΠΉΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΡΡ‚ΠΈΠΊΠΈΠšΠΎΠ»-Π²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… состояний
Кол-Π²ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΏΠ°ΠΏΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π±Ρ€Π°Ρ‚ΡŒΠΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСнияНС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ Π΄Π²Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ я Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ» Ρ‚Π°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠ°ΠΊ количСство ΡˆΡƒΠΌΠ° Π² сигналС. Если ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ повторСния ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиш (ΠΎΠ΄Π½Π° Π·Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ) ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΌΡ‹ΡˆΠΈ (пиксСль Π·Π° пиксСлСм), Ρ‚ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС ошибок Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС. Π’ графичСских интСрфСйсах это компСнсируСтся благодаря ΠΏΡ€ΠΈΠ½ΡΡ‚ΠΈΡŽ ΠΌΠ΅Π½Π΅Π΅ строгой сСмантики. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ссли Π±Ρ‹ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ… Β«OKΒ» ΠΈ Β«CancelΒ» доступная для ΠΊΠ»ΠΈΠΊΠΎΠ² Π·ΠΎΠ½Π° Π±Ρ‹Π»Π° ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ всСго 1 пиксСль.

МоТно Π΅Ρ‰Ρ‘ большС ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ·, Ссли ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΈ ошибок Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с физичСскими отклонСниями.

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ рассмотрСли ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… способов ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΈ сравнСния интСрфСйсов. На основании ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈ собствСнного ΠΎΠΏΡ‹Ρ‚Π° позволю сСбС ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколько экстраполяций:

ДырявыС ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ интСрфСйсы

Π― ΠΎΠΏΠΈΡˆΡƒ нСсколько наблюдСний Π½Π° основании Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°. Но сначала ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ ΠΏΠ°Ρ€Ρƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ:

Дырявый интСрфСйс (leaky interface) β€” интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ игнорируСтся Π² Ρ…ΠΎΠ΄Π΅ Π»ΡŽΠ±Ρ‹Ρ… взаимодСйствий ΠΌΠ΅ΠΆΠ΄Ρƒ систСмой ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ интСрфСйс (specific interface) β€” интСрфСйс с ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшим количСством Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ².

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ интСрфСйса β€” кусочно-Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для нСбольшого количСства Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Если Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ обоснованно ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Β«Π΄Ρ‹Ρ€ΡΠ²ΠΎΡΡ‚ΡŒΒ» ΠΈΠ»ΠΈ Β«ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΡΡ‚ΡŒΒ» интСрфСйсов, Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΎΡ‡Π΅Ρ€Ρ‚ΠΈΡ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΈ нСдырявыС интСрфСйсы, Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ β€” Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΈ дырявыС.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

ВСроятно, Π²Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚Π΅ ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ Π½Π° шкалС, Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΡ…Π²Π°Ρ‚ΠΈΠ»ΠΈ идСю. МоТно Π΄Π°ΠΆΠ΅ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΡˆΠΊΠ°Π»Ρ‹: ΠΏΠΎ стСпСни дырявости ΠΈ строгости. Π₯отя Π² Ρ†Π΅Π»ΠΎΠΌ эти Π΄Π²Π° понятия Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΡƒΡŽΡ‚.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ коррСляция, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я Ρ…ΠΎΡ‡Ρƒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ, Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° ΠΈΠ· ΠΌΠΎΠ΅Π³ΠΎ ΠΎΠΏΡ‹Ρ‚Π°. На Π»Π΅Π²ΠΎΠΌ ΠΊΡ€Π°ΡŽ ΡˆΠΊΠ°Π»Ρ‹ «ошибки» Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π΅ΠΆΠ΅, ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΈΠ·-Π·Π° сбоСв ΠΏΡ€ΠΈ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ. На ΠΏΡ€Π°Π²ΠΎΠΌ ΠΊΡ€Π°ΡŽ ΡˆΠΊΠ°Π»Ρ‹ ошибки Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Ρ‡Π°Ρ‰Π΅, ΠΈ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΈΡ… ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° кроСтся Π² сбоях ΠΏΡ€ΠΈ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

АсимптотичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ тСхничСского Π΄ΠΎΠ»Π³Π°

Основная Ρ‡Π°ΡΡ‚ΡŒ тСхничСского Π΄ΠΎΠ»Π³Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π»ΠΈΠ±ΠΎ ΠΈΠ·-Π·Π° нСдопустимого полагания Π½Π° ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ абстракций, Π»ΠΈΠ±ΠΎ ΠΈΠ·-Π·Π° полагания Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Ρ‹ ΠΊΡ€Π°ΠΉΠ½Π΅ нСстрогих интСрфСйсов, Ρ‡Ρ‚ΠΎ сильно затрудняСт ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ послСдствий.

Π’ самом Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ содСрТит ΠΎΠ΄ΠΈΠ½-Π΄Π²Π° модуля, ΠΈ для ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π° Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ интСрфСйса Π²Π°ΠΌ понадобится Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΡ‘ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ О(1). Если ваш интСрфСйс ΠΏΠ»ΠΎΡ…, Ρ‚ΠΎ ΠΎΠ±ΡŠΡ‘ΠΌ тСхничСского Π΄ΠΎΠ»Π³Π° Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ О(1), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ придётся ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² порядок Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π° интСрфСйса. Но ΠΏΡ€ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌ ростС количСства ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΎΠ±ΡŠΡ‘ΠΌ ΠΌΠ΅ΠΆΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… связСй ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ О(N^2). Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΡ€ΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠΌ интСрфСйсС, Ссли ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ взаимодСйствуСт со всСми ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ модулями, количСство ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ интСрфСйсу Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ N^2.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ интСрфСйс систСмы Ρ‡Ρ‚ΠΎ это

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π½Π° создании ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½ΠΎΠ³ΠΎ интСрфСйса. Но этот Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ быстро тСряСтся ΠΈΠ·-Π·Π° нарастания ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, связанных с ΠΌΠ΅ΠΆΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΌ взаимодСйствиСм. ΠžΠ±ΡŠΡ‘ΠΌ Ρ€Π°Π±ΠΎΡ‚ ΠΈΠ·-Π·Π° этого увСличиваСтся Π² стСпСни количСства ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌ интСрфСйсС ΠΎΠ½ растёт Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ. Π₯ΡƒΠ΄ΡˆΠΈΠΉ сцСнарий β€” ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ общаСтся с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ всё большС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² процСссС Ρ…Π΅Π½Π΄ΡˆΠ΅ΠΉΠΊΠ°, ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈ проистСкаСт стСпСнной рост.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΌΠ΅ΠΆΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ взаимодСйствия растёт ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ О(N^2), Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎ быстрСС, Ρ‡Π΅ΠΌ О(N). Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΊΡ‚ΠΎΡ€, ΡΠ΄Π²ΠΈΠ³Π°ΡŽΡ‰ΠΈΠΉ Π½Π°Ρ‡Π°Π»ΠΎ быстрого роста Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅: это чСловСчСская ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π”Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ 20 ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Π²Ρ‹, вСроятно, Π΅Ρ‰Ρ‘ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ…. Π’Π°ΠΊ, ΠΈΠ· всСх Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠ² Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ лишь Ρ‚ΡƒΠΌΠ°Π½Π½Ρ‹Π΅ названия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ эзотСричСскиС соглашСния. Но ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ становится достаточно большим, Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΠΈ Π·Π°Π±Ρ‹Π²Π°ΡŽΡ‚ΡΡ, ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ приходят Π½ΠΎΠ²Ρ‹Π΅ люди β€” ΠΈ начинаСтся стСпСнной рост Ρ‚Ρ€ΡƒΠ΄ΠΎΠ²Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ всё Π΅Ρ‰Ρ‘ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой?

На этот вопрос Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡ‚ людСй Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹, Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ½Π΅ Π½Π΅ каТСтся самым Π²Π°ΠΆΠ½Ρ‹ΠΌ:

Π₯отя ΠΌΡ‹ ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· кликаньС ΠΈ экранныС Π³Ρ€Π°Π±Π±Π΅Ρ€Ρ‹, нСльзя Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ взаимодСйствия с машиной ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½ для людСй. Он ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ использованиС нСстрогого интСрфСйса, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅Π³ΠΎ высокой точности. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ваш Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΠΈΠΊΠ΅Ρ€ навСрняка Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ±ΠΎΠΈΡ‚ΡŒ, Ссли ΠΎΠΊΠ½ΠΎ Π²Π΄Ρ€ΡƒΠ³ сдвинСтся со своСй ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈΠ»ΠΈ помСняСтся систСмный ΡˆΡ€ΠΈΡ„Ρ‚. Π‘ GUI связано слишком ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. А командная строка позволяСт Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ‚ΠΎΡ‡Π½Π΅Π΅, Π²Ρ‹ взаимодСйствуСтС Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‡Π΅Π½ΡŒ строгий интСрфСйс. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ люди Π΅Π³ΠΎ Π½Π΅ Π»ΡŽΠ±ΡΡ‚, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π±Ρ‹Π²Π°ΡŽΡ‚ ситуации, ΠΊΠΎΠ³Π΄Π° нСвысокая Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ взаимодСйствия GUI β€” это Π±Π»Π°Π³ΠΎ. НапримСр, ΠΏΡ€ΠΈ создании Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΠ»Π½ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΈ Ρ†Π²Π΅Ρ‚Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСля. Π“Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ Π½Π΅Ρ‡Ρ‚ΠΎ особСнноС для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пиксСля. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡˆΡƒΠΌ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ Ρ€ΡƒΠΊΠΎΠΉ двиТСнию курсора, становится Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅.

Π’Ρ‹Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ языка

ПослС Ρ€Π°Π·Π΄Π΅Π»Π° ΠΏΡ€ΠΎ Π°ΡΠΈΠΌΠΏΡ‚ΠΎΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ тСхничСского Π΄ΠΎΠ»Π³Π° Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ любой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° языкС с ΠΎΡ‡Π΅Π½ΡŒ строгими условиями Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠ² интСрфСйса, Π²Ρ€ΠΎΠ΄Π΅ Haskell ΠΈΠ»ΠΈ Java. Но это Π½Π΅ совсСм Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я Ρ…ΠΎΡ‚Π΅Π» донСсти. ΠžΡ‚Π²Π΅Ρ‚ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ вопрос ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€.

Насколько вСроятно ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ?

ΠŸΡ€ΠΈ Π½Π°Ρ‡Π°Π»Π΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π΅Π»Π° ΠΎΡ‚Π²Π΅Ρ‚ навСрняка Π±ΡƒΠ΄Π΅Ρ‚ Β«ΠΎΡ‡Π΅Π½ΡŒ вСроятно», особСнно Ссли создаСтся нСбольшой ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, Π΄Π° Π΅Ρ‰Ρ‘ ΠΈ ΠΏΡ€ΠΈ нСясности Π΅Π³ΠΎ пСрспСктив Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅. Если ΠΆΠ΅ трСбования Ρ‡Ρ‘Ρ‚ΠΊΠΎ сформулированы, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС с созданиСм компилятора ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Π±Π°Π·Π΅ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Ρ… стандартов, Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ навСрняка Π±ΡƒΠ΄Π΅Ρ‚ Β«Π½Π΅ слишком вСроятно».

Если Π²Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ»ΠΈ Β«ΠΎΡ‡Π΅Π½ΡŒ вСроятно», Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Ρ‚Π΅Ρ€ΡΡ‚ΡŒ мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠ² интСрфСйса: ΠΎΠ½ΠΈ навСрняка Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΈΠ² вас Π² случаС измСнСния Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ. Но главная Π·Π°Π΄Π°Ρ‡Π° здСсь β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, Π° ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ трСбования, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π²Π°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ситуация, ΠΊΠΎΠ³Π΄Π° ваш MVP прСдставляСт собой ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ систСму с сотнями ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Если Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π²ΠΎΠ²Π»Π΅Ρ‡Π΅Π½ΠΎ Π½Π΅ΠΌΠ°Π»ΠΎ Π½Π°Ρ€ΠΎΠ΄Ρƒ, Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ интСрфСйс просто Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π½Π΅ наступали Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ Π½Π° Π½ΠΎΠ³ΠΈ.

Если Π²Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ»ΠΈ Β«Π½Π΅ слишком вСроятно», Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ язык с ΠΎΡ‡Π΅Π½ΡŒ строгими Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Π°ΠΌΠΈ интСрфСйса. Π’Π½Π°Ρ‡Π°Π»Π΅ придётся большС ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π½ΠΎ Π·Π°Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ мСньшС усилий. ЕдинствСнным ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ситуация, Ссли Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠ΅Π»ΠΊΠΈΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ (Π½Π° нСсколько сотСн строк).

Когда-Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сломано Π½Π΅ΠΌΠ°Π»ΠΎ ΠΊΠΎΠΏΠΈΠΉ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Twitter Π½Π°Ρ‡Π°Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° Ruby on Rails, Π° ΠΏΠΎΡ‚ΠΎΠΌ это стало ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ПозднСС Twitter Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ Π½Π° Scala. ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΠ»ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈ ΠΈΠΌ слСдовало сразу Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Scala. Π― Ρ‚Π°ΠΊ Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ. Π’ основС Twitter’а Π»Π΅ΠΆΠΈΡ‚ ΠΎΡ‡Π΅Π½ΡŒ простая идСя, ΠΈ Π² условиях большого количСства ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ² ΠΈΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°Π²ΠΎΠ΅Π²Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅. Им Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ расти ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС, нСвзирая Π½Π° расходы. Π¦ΠΈΠΊΠ»Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ максимально быстро, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это позволяСт Π² ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠΈΠ΅ сроки ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΎΠ½ΠΈ хотят Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ. Врудности ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ – это ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Π½Π΅ Π½Π΅ΡƒΠ΄Π°Ρ‡ΠΈ, Π° успСха. Π‘Ρ‹Π»ΠΎ сформулировано Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅ Twitter’а ΠΊΠ°ΠΊ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΠΈ ΠΎΡΡ‚Π°Π²Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², это просто Π½ΠΈΡ€Π²Π°Π½Π°, всС ΠΎ Ρ‚Π°ΠΊΠΎΠΌ ΠΌΠ΅Ρ‡Ρ‚Π°ΡŽΡ‚, Π½ΠΎ ΠΌΠ°Π»ΠΎ ΠΊΠΎΠΌΡƒ удаётся ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ‚Π°ΠΊΠΈΡ… условиях: Β«ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡˆΠΈ это Π΄Π΅Ρ€ΡŒΠΌΠΎ с нуля Π½Π° своём любимом языкС, ΠΊΠ°ΠΊ Ρ‚Π΅Π±Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, лишь Π±Ρ‹ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ с Π½ΠΈΠΌ Π±Ρ‹Π»ΠΎ Π»Π΅Π³Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΒ». Π“ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ с нуля, имСя ΠΏΠ΅Ρ€Π΅Π΄ Π³Π»Π°Π·Π°ΠΌΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»Π°Π±ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρ‡Π΅ΠΌ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π½Π°Ρ‰ΡƒΠΏΠ°Ρ‚ΡŒ ΠΎΠ±Π»ΠΈΠΊ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π²Π·Π»Π΅Ρ‚Π΅Ρ‚ΡŒ. К соТалСнию, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ участников Ρ€Ρ‹Π½ΠΊΠ° ΠΈΠ΄ΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡƒΡ‚Π΅ΠΌ избСгания Β«Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ…Β» расходов Π½Π° созданиС с нуля ΠΈ тратят массу сил ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ популярСн Python?

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΏΡ€ΠΎ дырявыС ΠΈ строгиС интСрфСйсы я Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» ΠΎ способС классифицирования интСрфСйсов Π² зависимости ΠΎΡ‚ ΠΈΡ… склонности ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌ абстракций, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ строги ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ опрСдСлСния интСрфСйса. И я ΡƒΠΊΠ°Π·Π°Π» Π½Π° Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ Β«Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹Π΅Β» ΠΈ Β«ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅Β» интСрфСйсы ΠΊΡƒΠ΄Π° Π±ΠΎΠ»Π΅Π΅ склонны ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌ, Ρ‡Π΅ΠΌ другая Ρ‡Π°ΡΡ‚ΡŒ спСктра интСрфСйсов.

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Python проистСкаСт ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ это прСкрасный Π²Π²ΠΎΠ΄Π½Ρ‹ΠΉ язык, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΊΡ€Π°ΠΉΠ½Π΅ простыС Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Ρ‹ интСрфСйса. По Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ с ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Python ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ становится всё Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅.

Python ΠΎΡ‡Π΅Π½ΡŒ популярСн Π² Π½Π°ΡƒΡ‡Π½ΠΎΠΌ сообщСствС ΠΈ срСди Π»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с числСнным Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ. Π‘Π°ΠΌΠ° ΡΡƒΡ‚ΡŒ экспСримСнта Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ постоянного ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ создаваСмого ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, Π° строгиС интСрфСйсы это Π·Π°ΠΌΠ΅Π΄Π»ΡΡŽΡ‚.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ПО ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΈΡˆΡƒΡ‚ Π½Π° Java/C++?

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΏΡ€ΠΎ дырявыС ΠΈ строгиС интСрфСйсы я Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» ΠΎ компромиссах, связанных с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ интСрфСйсов. Java ΠΈ Π‘++ относятся большС ΠΊ строгой части спСктра, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Python ΠΈΠ»ΠΈ Ruby. Π”Π°, Π² Π½ΠΈΡ… ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ, ΠΈ Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ строгиС языки (Ρ‚ΠΎΡ‚ ΠΆΠ΅ Haskell), Π½ΠΎ Π·Π°Ρ‚ΠΎ Java ΠΈ Π‘++ Π±ΠΎΠ»Π΅Π΅ сбалансированы с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ, Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ итСрирования. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, эти Π΄Π²Π° языка ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π³ΠΈΠ±Ρ‡Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Ρ‹Ρ€ΡΠ²ΠΎΡΡ‚ΡŒΡŽ интСрфСйсов Π² зависимости ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½Ρ‹Ρ… соглашСний. НапримСр, дСлая ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ частными, ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹ΠΌΠΈ.

Как эффСктивнСС ΡΡ€Π΅Π·Π°Ρ‚ΡŒ ΡƒΠ³Π»Ρ‹

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ вынСсти ΠΈΠ· этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ, поТалуйста: ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΡ€Π΅Π·Π°Ρ‚ΡŒ ΡƒΠ³Π»Ρ‹ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π΄Π΅Π»Π°ΠΉΡ‚Π΅ это Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ Π² ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ интСрфСйс. Π”Π°ΠΆΠ΅ Ссли рСализация Π½Π΅ слишком Ρ…ΠΎΡ€ΠΎΡˆΠ° ΠΈ Π΅Ρ‘ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ‚Π΅ΠΊΠ°ΡŽΡ‚ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ части систСмы, Ρ‚ΠΎ это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ интСрфСйса! Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ нСдопонимания, ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ привСсти список Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽ ΠΏΠΎΠ΄ интСрфСйсами:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *