πŸ“±Android Studio 4.0: Π½ΠΎΠ²Ρ‹Π΅ инструмСнты Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· Π±ΠΈΠ»Π΄ΠΎΠ²

РассказываСм, Ρ‡Π΅ΠΌ нас ΠΏΠΎΡ€Π°Π΄ΠΎΠ²Π°Π»Π° чСтвёртая вСрсия Android Studio: Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ двиТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², инспСктор ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΉ CPU Profiler, ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ сборки.

ЧСтвёртая вСрсия Android Studio – Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ стрСмлСния рСбят ΠΈΠ· Google ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΈΠ»ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹Π΅ инструмСнты для Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΠ½Π³Π°, быстрой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ проСктирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Android Studio 4.0 Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя Π½ΠΎΠ²Ρ‹ΠΉ Motion Editor, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠΆΠΈΠ²ΠΈΡ‚ΡŒ ваши прилоТСния, Build Analyzer для изучСния ΠΏΡ€ΠΈΡ‡ΠΈΠ½ замСдлСния сборки ΠΈ Java 8, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСзависимо ΠΎΡ‚ минимального уровня API вашСго прилоТСния. CPU Profiler Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π»ΠΎΠΏΠ°Ρ‡Π΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятным ΠΈ для простого ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° активности ΠΏΠΎΡ‚ΠΎΠΊΠ°. Layout Inspector Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚Π΄Π°Ρ‘Ρ‚ ΠΆΠΈΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ c UI прилоТСния, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ отобраТаСтся Π½Π° устройствС.

β˜• ΠŸΠΎΠ΄Ρ‚ΡΠ½ΡƒΡ‚ΡŒ свои знания ΠΏΠΎ Java Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π° нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Java для собСса»

Π Π°Π±ΠΎΡ‚Π° с ΠΌΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ двиТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (MotionLayout)

API MotionLayout Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ ΠΈ Π±Π΅Π· Ρ‚ΠΎΠ³ΠΎ Π±ΠΎΠ³Π°Ρ‚Ρ‹Π΅ возмоТности ConstraintLayout, помогая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Android ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ слоТными двиТСниями ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ²

ИспользованиС этого API стало ΠΏΡ€ΠΎΡ‰Π΅ благодаря Π½ΠΎΠ²ΠΎΠΌΡƒ Motion Editor – ΠΌΠΎΡ‰Π½ΠΎΠΌΡƒ интСрфСйсу для создания, рСдактирования ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра. Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ слоТныС XML-Ρ„Π°ΠΉΠ»Ρ‹ – Motion Editor Π΄Π΅Π»Π°Π΅Ρ‚ это Π·Π° нас, ΠΏΡ€ΠΈ этом поддСрТивая Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ constraint-Π½Π°Π±ΠΎΡ€ΠΎΠ², ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ², ΠΊΠ΅ΠΉΡ„Ρ€Π΅ΠΉΠΌΠΎΠ² ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² вьюшСк. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄, создаваСмый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ всСго ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠΊ.

И Π΅Ρ‰Ρ‘ нСбольшоС ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ConstraintLayout – новая вСрсия ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² MotionLayout.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ рСдактирования двиТСния ΠΈΠΊΠΎΠ½ΠΊΠΈ

Π˜Π½ΡΠΏΠ΅ΠΊΡ‚ΠΎΡ€ ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (Layout Inspector)

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΎΠ²ΠΎΠ³ΠΎ Layout Inspector ΠΎΡ‚Π»Π°Π΄ΠΊΠ° UI становится Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ понятнСС. ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ доступ ΠΊ постоянно обновляСмым Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°ΡΡ…ΠΎΠ΄ΡƒΡŽΡ‚ΡΡ рСсурсы.

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ процСсса Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Layout Inspector

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Layout Inspector, Π² Π³Π»Π°Π²Π½ΠΎΠΌ мСню Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ View > Tool Windows > Layout Inspector. ΠŸΡ€ΠΈ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ Π½Π° устройствС ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ API 29 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅ Ρƒ нас Π΅ΡΡ‚ΡŒ доступ ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ функциям: динамичСской ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ², обновляСмой ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ прСдставлСния, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ Π²ΡŒΡŽΡ…ΠΈ ΠΈ 3D-ΠΌΠΎΠ΄Π΅Π»ΠΈ UI Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ прилоТСния.

πŸ§©β˜• Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ Java для ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π°Π΄Π°Ρ‡ ΠΏΠΎ JavaΒ»

Валидация ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (Layout Validation)

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Layout Validation

Когда Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ нСсколько Ρ„ΠΎΡ€ΠΌ-Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² экрана ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, слСдуСт ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ отобраТаСтся Π½Π° любом экранС. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΊΠ½Π° Layout Validation ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΠΊΠ΅Ρ‚Ρ‹ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… экранах ΠΈ конфигурациях ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Layout Validation Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ IDE.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ CPU Profiler

ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ интСрфСйс CPU Profiler

CPU profiler прСдоставляСт большой объСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ активности ΠΈ трассировкС прилоТСния. Π’ Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚ΠΎΠΉ вСрсии записи CPU ΠΎΡ‚Π΄Π΅Π»Π΅Π½Ρ‹ ΠΎΡ‚ основной Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡˆΠΊΠ°Π»Ρ‹ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ для Π°Π½Π°Π»ΠΈΠ·Π° Π³Ρ€ΡƒΠΏΠΏΡ‹. Π“Ρ€ΡƒΠΏΠΏΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Π²Π²Π΅Ρ€Ρ… ΠΈ Π²Π½ΠΈΠ· ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‚Π°ΡΠΊΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π²Π½ΡƒΡ‚Ρ€ΠΈ Π³Ρ€ΡƒΠΏΠΏ для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройки.

Π Π°Π±ΠΎΡ‚Π° с Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ Π² CPU Profiler

Для облСгчСния ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ‚ΠΈ Π½Π° шкалС Thread Activity (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ события) ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ – ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠ°Π½ΠΎΡ€Π°ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ клавиш W, S, A ΠΈ D.

ΠŸΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½ UI трассировки. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π»Π΅Π³Ρ‡Π΅ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΈ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° просмотрС Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ CPU profiler Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ выросло – снизилось число ошибок, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сообщали ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ с Android Studio 3.6. Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΎΠ± ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡΡ… ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€Π° – Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ…Π΅Π»ΠΏΠ΅.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π½ΠΎΠ΅ Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅

R8, прСдставлСнный Π² Android Gradle plugin 3.4.0, Π΄ΠΎΠ±Π°Π²ΠΈΠ» синтаксичСского сахара, сТатия, обфускации ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠΌΡƒ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сборки.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ создании Ρ„Π°ΠΉΠ»ΠΎΠ² для R8, студия прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°: подсвСтку синтаксиса, Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ошибок. Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ интСгрируСтся с вашим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Android, обСспСчивая ΠΏΠΎΠ»Π½ΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ символов всСх классов, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠΎΠ»Π΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³.

ОбновлСниС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ IntelliJ IDEA

ОбновлСно ядро срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Android. Π‘Π»Π΅Π΄ΠΎΠΌ Π·Π° Π½ΠΈΠΌ обновились ΠΈ вСрсии IntelliJ IDEA 2019.3 ΠΈ 2019.3.3. Π­Ρ‚ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² основном Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π° ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π–ΠΈΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹

Live templates – это удобная функция IntelliJ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ конструкции Π² ΠΊΠΎΠ΄ набирая ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова. Android Studio Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с шаблонами: Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Toast, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Tab ΠΈ вставится ΡˆΠ°Π±Π»ΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для Toast. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список шаблонов находится Π² Editor > Live Templates Π² Settings (ΠΈΠ»ΠΈ Preferences).

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Clangd для C++

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΏΠΈΡˆΡƒΡ‰ΠΈΡ… Π½Π° ΠΏΠ»ΡŽΡΠ°Ρ…, ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° clangd Π² качСствС основного ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π°Π½Π°Π»ΠΈΠ·Π° языка, Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ, автодополнСния, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ отобраТСния ошибок/ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Clangd ΠΈΠ»ΠΈ Clang-Tidy, Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ Settings (ΠΈΠ»ΠΈ Preferences) ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ΡΡŒ Π² Languages & Frameworks > C/C++ > Clangd or Clang-Tidy.

Π‘Π±ΠΎΡ€ΠΊΠ°

Плагин Gradle 4.0 Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Android Studio’s Build Analyzer (нСзависимо ΠΎΡ‚ минимального уровня API вашСго прилоТСния) ΠΈ созданиС зависимостСй ΠΌΠ΅ΠΆΠ΄Ρƒ динамичСскими модулями Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ смотритС Π² примСчаниях ΠΊ Ρ€Π΅Π»ΠΈΠ·Ρƒ.

Анализатор сборки (Build Analyzer)

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅Ρ Build Analyzer

Build Analyzer ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста Π² сборкС, выдСляя ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ отвСтствСнны Π·Π° ΠΎΠ±Ρ‰Π΅Π΅ врСмя сборки, Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдлагая шаги ΠΏΠΎ ΡΠΌΡΠ³Ρ‡Π΅Π½ΠΈΡŽ «симптомов».

Java 8 ΠΈ дСсахаризация Π² D8/R8

ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ вСрсии Android Gradle ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ языковыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Java 8 для всСх ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ API с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ процСсса, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ дСсахаризациСй. Π’ Android-студия 4.0 Π΄Π²ΠΈΠΆΠΎΠΊ Π±Ρ‹Π» Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ API языка Java, нСзависимо ΠΎΡ‚ minSdkVersion. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стандартныС языковыС API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ Π±Ρ‹Π»ΠΈ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² послСдних вСрсиях Android (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, java.util.stream, java.util.function ΠΈ java.time).

Feature-on-feature зависимости

Π‘Ρ…Π΅ΠΌΠ° зависимостСй свойств

ΠŸΡ€ΠΈ использовании ΠΏΠ»Π°Π³ΠΈΠ½Π° Gradle 4.0.0 ΠΈ Π²Ρ‹ΡˆΠ΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Dynamic Feature зависит ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ модуля. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ эту взаимосвязь Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ для Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй, Π° это ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΌΡƒ количСству запросов ΠΈ Π±ΠΎΠ»Π΅Π΅ простой структурС прилоТСния. НапримСр, функция :video ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ :camera. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ…ΠΎΡ‡Π΅Ρ‚ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ записи Π²ΠΈΠ΄Π΅ΠΎ, вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ автоматичСски ΠΏΡ€ΠΈ запросС :video Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ :camera.

НовыС ΠΎΠΏΡ†ΠΈΠΈ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ· сборки

Gradle ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ соврСмСнных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ data binding, view binding, build features ΠΈ BuildConfig classes. Однако Π½Π΅ всС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅, Π² вСрсии 4.0 ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сборки – это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сборки для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

android {
    // The default value for each feature is shown below.
    // You can change the value to override the default behavior.
    buildFeatures {
        // Determines whether to support View Binding.
        // Note that the viewBinding.enabled property is now deprecated.
        viewBinding = false
        // Determines whether to support Data Binding.
        // Note that the dataBinding.enabled property is now deprecated.
        dataBinding = false
        ...
    }
}

Для получСния ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ списка Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ, смотритС примСчания ΠΊ Ρ€Π΅Π»ΠΈΠ·Ρƒ.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² Kotlin DSL

Бтудия Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ„Π°ΠΉΠ»ΠΎΠ² сцСнариСв сборки Kotlin DSL (*.kts). Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ сборки Kotlin ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ быстрых исправлСний ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Project Structure dialog. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² долгосрочной пСрспСктивС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ эту Ρ„ΠΈΡ‡Ρƒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ простой Π² использовании DSL.

ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ зависимостСй

ΠŸΡ€ΠΈ создании прилоТСния Gradle Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ зависимости ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. ΠŸΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ прилоТСния Play Console провСряСт эти ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, получая ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± извСстных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… с SDK ΠΈ зависимостями, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π° Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях прСдоставляСт ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этих ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Π­Ρ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΡΠΆΠΈΠΌΠ°ΡŽΡ‚ΡΡ, ΡˆΠΈΡ„Ρ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ подписи Google Play ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Π±Π»ΠΎΠΊΠ΅ подписи вашСго Ρ€Π΅Π»ΠΈΠ·Π°. Если Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π΅, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ Π² Ρ„Π°ΠΉΠ» build.gradle:

build.gradle
android {
    dependenciesInfo {
        // ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ зависимостях ΠΏΡ€ΠΈ построСнии APKs.
        includeInApk = false
        // ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ зависимостях ΠΏΡ€ΠΈ построСнии Android App Bundles.
        includeInBundle = false
    }
}

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Android Studio 4.0 с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ страницы. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Android Studio, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Π΄ΠΎ послСднСго Ρ€Π΅Π»ΠΈΠ·Π°.

Как ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, Π³ΡƒΠ³Π»ΠΎΠ²Ρ†Ρ‹ Π»ΡŽΠ±ΡΡ‚ ΠΈ цСнят ΠΎΡ‚Π·Ρ‹Π²Ρ‹ (Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΈ ΠΏΠ»ΠΎΡ…ΠΈΠ΅) ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ нравится/Π½Π΅ нравится, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ. Если Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅ Π±Π°Π³ – смСло отправляйтС сообщСниС ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅.

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

Π›Π£Π§Π¨Π˜Π• БВАВЬИ ПО Π’Π•ΠœΠ•

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
24 сСнтября 2017

6 сСрвисов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π»ΠΎΠΊ-схСмами

Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ быстрСС Π΅Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°...
admin
05 апрСля 2017

6 ΠΊΠ½ΠΈΠ³ ΠΏΠΎ Java для программистов любого уровня

ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΏΠΎ Java. Если Π²Ρ‹ ΠΈΠ·ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π΅Π³ΠΎ, Ρ‚ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π΄...
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
06 фСвраля 2017

15 прСкрасных ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² для Sublime Text

ВстрСчайтС список ΠΏΠ΅Ρ€Π²ΠΎΠΉ нСобходимости – 15 самых Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² для Subli...