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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ мобильного прилоТСния Π½Π° Python

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Python?

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Python — это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования высокого уровня, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Ρ‰Π΅ нСсколько Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ Π½Π΅ Π±Ρ‹Π» Ρ‚Π°ΠΊ ΡƒΡΠΏΠ΅ΡˆΠ΅Π½ ΠΊΠ°ΠΊ сСгодня. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ возмоТностСй этого языка, ΠΎΠ½ составил ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΡŽ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ считался Π»ΠΈΠ΄Π΅Ρ€Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π» ΠΏΡ€ΠΈΠ·Π½Π°Π½ самым Π±Ρ‹ΡΡ‚Ρ€ΠΎΡ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΡΡ языком программирования.Β 

Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²Π΅Π±-сайтов ΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² софта — ΠΊΠ°ΠΊ для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Ρ‚Π°ΠΊ ΠΈ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств. БущСствуСт мноТСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ ΠΈ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° этом языкС. Π”Π°Π»Π΅Π΅ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚Π΅Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Python.

Благодаря ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ этого языка, софт ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (iOS, Android, Windows) ΠΈ ΠΏΠΎΠ΄ Π»ΡŽΠ±Ρ‹Π΅ устройства, ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» прилоТСния Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.Β 

Но это Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС прСимущСства этого языка программирования. Π”Π°Π²Π°ΠΉΡ‚Π΅ присмотримся ΠΊ Π½ΠΈΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.Β 

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΌ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° Python

Выбирая язык программирования для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ вашСго ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° всСгда ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° возмоТности ΠΈ прСимущСства ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². ΠžΡ‚Π²Π΅Ρ‡Π°Ρ Π½Π° вопрос β€œΡ‡Ρ‚ΠΎ ΠΌΠ½Π΅ даст этот ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ инструмСнт” Π²Ρ‹ смоТСтС Π½Π°ΠΉΡ‚ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. НиТС ΠΌΡ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠΌ Π½Π° этот вопрос Π² Ρ€Π°Π·Ρ€Π΅Π·Π΅ мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Python.

Π›Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄

Если ΠΏΡ€ΠΈ словосочСтании β€œΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ код” Ρƒ вас ΠΏΠ΅Ρ€Π΅Π΄ Π³Π»Π°Π·Π°ΠΌΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° с мноТСством строк с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ словами, символами, Π° Π³Π»Π°Π²Π½ΠΎΠ΅ — с мноТСством скобок ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ описаниями — это Π½Π΅ ΠΎ Python. Π­Ρ‚ΠΎΡ‚ язык программирования позволяСт ΠΎΠ΄Π½ΠΈΠΌ словом ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, которая, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Java, Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ расписана Π² ΠΏΡΡ‚ΡŒ строк. НСплохо, Π½Π΅ ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ?Β 

Благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π½Π° Python Π»Π΅Π³ΠΊΠΎ читаСтся Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ мноТСство прСимущСств: Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈ быстро ΡƒΡ‡ΠΈΡ‚ΡŒ, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ всСгда найдутся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°; трСбуСтся мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ благодаря ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌΡƒ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ языка; Ρ‡Π΅ΠΌ Π»Π΅Π³Ρ‡Π΅ для восприятия ΠΊΠΎΠ΄, Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΡ‰Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ исправлСниС ошибок Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ внСсСниС Π»ΡŽΠ±Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ; Π½Π° ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΌΡƒ сотруднику трСбуСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.Β 

Быстрый ΠΎΡ‚Π²Π΅Ρ‚

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° здСсь ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹: сокращСниС срока исправлСния ошибок, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ; экономия срСдств Π½Π° ΠΏΠΎΠ³ΠΎΠ½Π΅ Π·Π° Π±Π°Π³Π°ΠΌΠΈ; Π±ΠΎΠ»Π΅Π΅ быстрый запуск вашСго ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π½Π° Ρ€Ρ‹Π½ΠΎΠΊ.Β 

Высокая ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ

ΠœΡ‹ ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Python, Π° ΠΈ дСсктопных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Π²Π΅Π±-сайтов. А Ρ‚Π°ΠΊΠΆΠ΅, Ссли Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ прилоТСниях, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ этот язык программирования, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ прилоТСния для Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ ΠΈ iOs, Ρ‚Π°ΠΊ ΠΈ кроссплатформСнныС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° ΠΎΠ±Π΅ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ….Β 

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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· тСстированиС

Python Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Test Driven Development. Π­Ρ‚ΠΎ довольно интСрСсный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅ΠΆΠ΄Π΅, Ρ‡Π΅ΠΌ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ любоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΡŽΠ½ΠΈΡ‚-тСсты, ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ это ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅. Волько ΠΏΠΎΡ‚ΠΎΠΌ проводится Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π°.Β 

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Python Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ максимально эффСктивной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ обСспСчиваСт высокоС ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ автоматичСскими тСстами, Ρ‡Ρ‚ΠΎ (ΠΏΡ€ΠΈ условии успСха прохоТдСния всСх тСстов) Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ высокоС качСство ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.Β 

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° высокого стандарта

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

Благодаря Ρ‚Π°ΠΊΠΎΠΉ возмоТности сокращаСтся врСмя Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности вашСго прилоТСния.Β 

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ большиС Π΄Π°Π½Π½Ρ‹Π΅

ИспользованиС Big Data стало Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π² послСднСС врСмя, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ всС Ρ‡Π°Ρ‰Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ массивы для получСния Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ высоких Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². Python ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ справляСтся с этой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π΅Π΅ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ. НСмного Π΄Π°Π»Π΅Π΅ ΠΌΡ‹ рассмотрим ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния Π½Π° Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ эти возмоТности.Β 

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρƒ языка мноТСство прСимущСств, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄Π΅Π»Π°ΡŽΡ‚ Π΅Π³ΠΎ практичСски Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… кСйсах мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°ΡŽΡ‚ ΠΈ IT-Π³ΠΈΠ³Π°Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π½Π° Python свои ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹. НСкоторыС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ вас ΡƒΠ΄ΠΈΠ²ΠΈΡ‚ΡŒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ мобильного прилоТСния Π½Π° Python

Если Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ языкС программирования, ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ плюсов Π·Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΠ°ΠΊ Π½Π΅Ρ‡Ρ‚ΠΎ β€œΡΠ»ΠΈΡˆΠΊΠΎΠΌ для программистов”, Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. ВзглянитС Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, ΠΈ Π²Π°ΠΌ сразу станСт понятна основная Ρ‡Π°ΡΡ‚ΡŒ возмоТностСй языка с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Instagram

ВсСмирная ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡΠ΅Ρ‚ΡŒ с мноТСством ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ возмоТностСй, ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятным интСрфСйсом ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ Π»ΡŽΠ±ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ. Из сСти, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ просто ΠΏΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, инстаграм прСвратился Π² Ρ†Π΅Π½Ρ‚Ρ€ самого Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π² самых Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ…: Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, Π²ΠΈΠ΄Π΅ΠΎ, Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, стикСры, маски, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹, Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ эффСкты ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΈ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΡƒΠ²ΠΈΠ΄Π΅Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, аудитория соцсСти постоянно растСт, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ возмоТностСй ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ распрСдСлСния Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. И ΠΏΡ€ΠΈ этом Instagram создан ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π° Python, Ρ‡Ρ‚ΠΎ дСмонстрируСт ΠΏΡ€Π΅ΠΊΡ€Π°ΡΠ½ΡƒΡŽ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° этом языкС.Β 

Pinterest

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊΠΆΠ΅ созданноС ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π° Python, Π² частности Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π΅Π³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² — Django. Π’Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρƒ инстаграма, основная Ρ†Π΅Π»ΡŒ прилоТСния — Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Ρ„ΠΎΡ‚ΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ. Но здСсь этого ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π΅Ρ‰Π΅ большС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это СдинствСнноС ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ соцсСти, Π±Π΅Π· возмоТности Π»ΠΈΡ‡Π½ΠΎΠΉ пСрСписки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡ€ΠΈ этом Π΅ΡΡ‚ΡŒ функция сохранСния любого ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° сСбС Π½Π° доску, Π²Ρ‹Π΄Π°Ρ‡Π° ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… Π½Π° ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ²ΡˆΠΈΠ΅ΡΡ β€œΠΏΠΈΠ½ΠΎΠ²β€ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, Π½ΠΎ ΠΈ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΡΡ‚Π°Ρ‚ΡŒΡΠΌΠΈ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌΠΈ с просторов сСти. Π’ Pinterest ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими объСмами Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΈ количСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈ этом сущСствСнно, вСдь ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒΡŽ Π²ΠΎ всСм ΠΌΠΈΡ€Π΅.

Spotify

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

Disqus

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

Dropbox

Python ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ доступно Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах, Π½ΠΎ ΠΈ Π½Π° дСсктопах. Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΎΠ±ΠΌΠ΅Π½ ΠΈΠΌΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠΎΡ‰Π½ΠΎΠ³ΠΎ хостинга, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ бСзопасно Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, аудиозаписи, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². Вакая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ стала популярна Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ срСди бизнСсов, Π½ΠΎ ΠΈ срСди ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‡Ρ‚ΠΎ сдСлало сСрвис ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹ΠΌ ΠΈ вострСбованным. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΎΠΏΡΡ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΠ°ΠΉΡ‚ΠΎΠ½ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с просто Π½Π΅Π²ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠΌΡ‹ΠΌΠΈ объСмами Π΄Π°Π½Π½Ρ‹Ρ… Π² систСмС.Β 

Uber

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

Reddit

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΎΡ‡Π΅Π½ΡŒΒ  популярная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° — Π³ΠΈΠ±Ρ€ΠΈΠ΄ Ρ„ΠΎΡ€ΡƒΠΌΠ° ΠΈ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти, Π³Π΄Π΅ обсуТдаСтся всС, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ. Π‘ Π°ΠΊΡ†Π΅Π½Ρ‚ΠΎΠΌ Π½Π° обсуТдСнии новостСй, ΠΈΡ… ΠΎΡ†Π΅Π½ΠΊΠ΅ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ½ΡƒΠ»ΠΎΡΡŒ Ρƒ мноТСства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ заняло своС мСсто Π² ΠΆΠΈΠ·Π½ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² людСй ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ. ВсС возмоТности Reddit Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π° Python. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚: ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΎΡ€ языка программирования ΠΏΠ°Π» Π½Π΅ Π² Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·Ρƒ, Π½ΠΎ прСимущСства всС-Ρ‚Π°ΠΊΠΈ пСрСвСсили.Β 

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΡ‹ ΡΡ‚Π°Ρ€Π°Π»ΠΈΡΡŒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ общСизвСстныС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, Π½ΠΎ ΠΈΡ… достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ насколько Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ возмоТности Python Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠšΡ€ΠΎΡΡ-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ для Python

Π‘ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Python Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ, врСмя снова Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ тСхничСской части. ΠœΡ‹ ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ сущСствуСт довольно Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ количСство Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² Π½Π° этом языкС программирования. Но ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ ΠΎ Ρ‚Π΅Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ для iOS, Ρ‚Π°ΠΊ ΠΈ для Android, Π½Π΅ прибСгая ΠΊ ΠΏΠΎΠΌΠΎΡ‰ΠΈΒ  Π΄Ρ€ΡƒΠ³ΠΈΡ… языков.Β 

Kivy

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

BeeWare

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

Оба Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° достаточно Π½ΠΎΠ²Ρ‹Π΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±Π΅Ρ‰Π°ΡŽΡ‰ΠΈΠ΅, Π½ΠΎ Ссли ΠΎΠ½ΠΈ вас Π½Π΅ ΡƒΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚, Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² для создания ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Python.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Python — язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ всС Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΌ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния использования для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ½ ΡƒΠΆΠ΅ успСл Π΄ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ свою ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ прСимущСства.Β 

Выбирая Python для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄, Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ, мноТСство высококачСствСнных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ использованиС соврСмСнных Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Big Data ΠΈ Machine Learning. ВсС это Π΄Π°Π΅Ρ‚ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ возмоТностСй для развития, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠ΅ прСимущСство Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅.Β 

Python ΡƒΠΆΠ΅ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ мноТСства ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ — Π»ΠΈΠ΄Π΅Ρ€ΠΎΠ² Ρ€Ρ‹Π½ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒΡŽ Π²ΠΎ всСм ΠΌΠΈΡ€Π΅ ΠΈ Π½Π° своСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ возмоТности ΠΈ прСимущСства этого языка программирования. Β 

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

ΠžΡΡ‚Π°Π»ΠΈΡΡŒ вопросы?

ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ ваши ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Наш ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ свяТСтся ΠΈ ΠΏΡ€ΠΎΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ вас.

Как Π²Π°ΠΌ ΡΡ‚Π°Ρ‚ΡŒΡ?

1 Star2 Stars3 Stars4 Stars5 StarsEmpty

ΠŸΡ€ΠΎΠ³ΠΎΠ»ΠΎΡΠΎΠ²Π°Π»ΠΎ: 12

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Android Π½Π° языкС Kotlin

НачинаСм Π½ΠΎΠ²Ρ‹ΠΉ курс ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π°Π½Π΄Ρ€ΠΎΠΈΠ΄-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° языкС Kotlin. Π’ этом курсС Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ своС ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Android Π½Π° ΠšΠΎΡ‚Π»ΠΈΠ½Π΅. Если Π²Ρ‹ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с языком,Β  Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π² Ρ€Π°Π·Π΄Π΅Π» ΠžΡΠ½ΠΎΠ²Ρ‹ ΠšΠΎΡ‚Π»ΠΈΠ½

Kotlin это статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° JVM ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстим с языком программирования Java. Kotlin с 2017 Π³ΠΎΠ΄Π° являСтся ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ языком Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android, наряду с языком Java.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ слоТилось, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ языком для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°Π½Π΄Ρ€ΠΎΠΈΠ΄-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±Ρ‹Π»Π° Java. НСсмотря Π½Π° появлСниС языка Kotlin ΠΈ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ Π² качСствС ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка для Android Π² 2017 Π³ΠΎΠ΄Ρƒ,Β  Π½Π΅ всС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ пСрСводят свои ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ с Java Π½Π° Kotlin. Однако ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π½Π° ΠšΠΎΡ‚Π»ΠΈΠ½Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΈ соврСмСнный язык.Β 

Какой язык ΡƒΡ‡ΠΈΡ‚ΡŒ: Kotlin ΠΈΠ»ΠΈ Java?

ΠœΠ½ΠΎΠ³ΠΈΡ… Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² сСйчас Π²ΠΎΠ»Π½ΡƒΠ΅Ρ‚ вопрос, ΠΊΠ°ΠΊΠΎΠΉ язык ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°Π½Π΄Ρ€ΠΎΠΈΠ΄-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Java ΠΈΠ»ΠΈ Kotlin.

БСзусловно, Kotlin Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Π­Ρ‚ΠΎΡ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ язык быстро Π·Π°Π²ΠΎΠ΅Π²Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² благодаря Π΅Π³ΠΎ удобству ΠΈ соврСмСнному ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π° Android. ВСроятно, Kotlin станСт Π² Π½Π΅Π΄Π°Π»Π΅ΠΊΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ основным языком Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android.

На нашСм сайтС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒΒ ΠžΡΠ½ΠΎΠ²Ρ‹ Kotlin

Π’Π°ΠΊΠΆΠ΅ Π½Π° нашСм сайтС Π΅ΡΡ‚ΡŒΒ ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ курсы по созданию Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π°Π½Π΄Ρ€ΠΎΠΈΠ΄-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° языкС ΠšΠΎΡ‚Π»ΠΈΠ½

НуТно Π»ΠΈ ΡƒΡ‡ΠΈΡ‚ΡŒ Java?

Π Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ²Π°, Ρ‡Ρ‚ΠΎ Java Π½Π° сСгодняшний дСнь ΠΏΠΎΠΊΠ° остаСтся основным языком Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°Π½Π΄Ρ€ΠΎΠΈΠ΄-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. На Java написано ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° – ΠΏΠΎ сути,Β  Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ использованиСм Java написано ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»ΠΎΠ² ΠΈ ΠΌΠ°Π½ΡƒΠ°Π»ΠΎΠ². Kotlin ΠΏΠΎΠΊΠ° отстаСт Π² этом ΠΏΠ»Π°Π½Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли Π²Ρ‹ Π½Π΅ Π²Π»Π°Π΄Π΅Π΅Ρ‚Π΅ языком Java, Π²Π°ΠΌ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° вакансию Π°Π½Π΄Ρ€ΠΎΠΈΠ΄-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Java Ρ‚ΠΎΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ.

Π£Ρ€ΠΎΠΊΠΈ ΠΏΠΎ основам Java

Π˜Π·ΡƒΡ‡Π°Ρ‚ΡŒ сразу Π΄Π²Π° языка программирования?

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

На нашСм сайтС Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΡ€ΠΎΠΊΠΎΠ² ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΠ³Ρ€ Π½Π° языкС Java.

И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΡΠ΅Ρ€ΠΈΡŽ ΡƒΡ€ΠΎΠΊΠΎΠ² ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π°Π½Π΄Ρ€ΠΎΠΈΠ΄-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° языкС Kotlin.

ВсС ΡƒΡ€ΠΎΠΊΠΈ Π½Π° Kotlin

7 языков программирования для Android для создания вашСго ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ мобильного прилоТСния

РСзюмС: Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ язык Π»ΡƒΡ‡ΡˆΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ количСствС языков программирования Android? Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊΠΎΠΉ язык программирования Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для вашСго ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ прилоТСния для Android.

Android β€” это мобильная опСрационная систСма (ОБ), Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ выпущСнная Π² 2008 Π³ΠΎΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Google ΠΈ Π² настоящСС врСмя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ производитСлями устройств, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Google, Samsung, Sony, Nokia ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ. Android ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ смартфоны, Ρ‚Π°ΠΊ ΠΈ ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Ρ‹, с Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ трСмя ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π°ΠΌΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, самой большой Π±Π°Π·ΠΎΠΉ срСди всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‚Ρ€ΠΎΠ΅ большС, Ρ‡Π΅ΠΌ количСство Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Apple iPhone β€” ΠΈ Π·Π°Ρ…Π²Π°Ρ‚ΠΎΠΌ 690,74% ΠΌΠΈΡ€ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Ρ‹Π½ΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ОБ.

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

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ это руководство, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ Π²Ρ‹Π±ΠΎΡ€Π΅ языка ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ большС, Ρ‡Π΅ΠΌ просто Java ΠΈ Kotlin.

ΠœΡ‹ ΡƒΠ²Π°ΠΆΠ°Π΅ΠΌ Π²Π°ΡˆΡƒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’Π°ΡˆΠ° информация Π² бСзопасности.

НативныС прилоТСния для Android ΠΈ кроссплатформСнныС прилоТСния

Наряду с языками, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android, сущСствуСт нСсколько языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ кроссплатформСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β€” ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° Android ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ iOS . Но Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈ кроссплатформСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ?

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

КакиС языки программирования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android?

На ΠΊΠ°ΠΊΠΈΡ… языках написаны прилоТСния для Android? Какой Π»ΡƒΡ‡ΡˆΠΈΠΉ язык программирования для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android? ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ языки программирования для написания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚:

1.

Java

Java являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… языков программирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android ΠΈ Π±Ρ‹Π» основным языком Π΄ΠΎ появлСния Kotlin.

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

2. Kotlin

Google объявила ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° Kotlin Π² качСствС ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка Π² 2017 Π³ΠΎΠ΄Ρƒ, отраТая ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ Apple Swift, ΠΎΠ±Π° ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ простыми языками с ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΈΡ… ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ использованиС.

Kotlin β€” это Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС Java. Π­Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΈ ΠΏΡ€Π°Π³ΠΌΠ°Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ язык программирования с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сочСтаСт Π² сСбС ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ программирования с Ρ†Π΅Π»ΡŒΡŽ обСспСчСния Π±ΠΎΠ»Π΅Π΅ быстрой компиляции.

Π’ качСствС эффСктивного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ благодаря Π΅Π³ΠΎ скорости, точности, гибкости, бСзопасности ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π±Ρ€Π΅Π½Π΄Ρ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ пСрСходят Π½Π° Kotlin для своих ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Basecamp, Pinterest, Netflux ΠΈ Uber.

3. C/C++

Π₯отя Kotlin β€” Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² этом Π±Π»ΠΎΠΊΠ΅, Android Native Development Kit (NDK) позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ C/C++, ΠΎΠ±Π° ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π»Π΅Π³ΠΊΠΎ пСрСносимы ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ систСмами.

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

Для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² C++ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° C++ сниТаСт ΠΏΠΎΡ€ΠΎΠ³ Π²Ρ…ΠΎΠ΄Π° Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ для Android. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, C++ нСдостаточно Π³ΠΈΠ±ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡŽΡ‡Π½Ρ‹ΠΌ ΠΈ Π½Π΅Π³ΠΈΠ±ΠΊΠΈΠΌ, Ссли ΠΈΠΌ Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ.

4. C#

C# β€” это язык программирования .NET, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Microsoft ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Visual Studio, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ считаСтся «основным» языком, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². C# основан Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ позволяСт поэтапно ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ простоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅.

C# β€” это основной язык для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ кроссплатформСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с использованиСм ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Xamarin.

5. Lua

Lua β€” это Π»Π΅Π³ΠΊΠΈΠΉ скриптовый язык, ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ³Ρ€ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ интСрфСйсС. Lua β€” это встраиваСмый язык, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Lua для Android ΠΈΠ»ΠΈ для кроссплатформСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ°, ΠΊΠ°ΠΊ Solar2D.

6. JavaScript

JavaScript β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… языков программирования Π²ΠΎ всСм ΠΌΠΈΡ€Π΅, ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ для ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², извСстный своСй ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΡƒΠΌΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ насыщСнныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ интСрфСйсы ΠΈ ΠΎΠΏΡ‹Ρ‚. JavaScript β€” это язык, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ нСсколькими кроссплатформСнными Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ React Native, Angular ΠΈ Vue.

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π·Π½Π°Π½ΠΈΠ΅ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, Π·Π½Π°Π½ΠΈΠ΅ JavaScript Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌ Π±Π΅Π· знания HTML ΠΈ CSS.

7. Python

Python β€” это ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования высокого уровня с динамичСской сСмантикой. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ это простой Π² использовании язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ поставляСтся с большим ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходноС сообщСство ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Π―Π·Ρ‹ΠΊ программирования Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Android с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сторонних инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ прилоТСния Python Π² ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Android. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Python извСстны Π±ΠΎΠ»Π΅Π΅ высоким ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ памяти.

Π§Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅: ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ языкС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android ΠΈΠ»ΠΈ Π΄ΠΈΠ²Π΅Ρ€ΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ?

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

Π’Π΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ чрСзмСрная спСциализация ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ трудностям, Ссли Ρ€Ρ‹Π½ΠΎΠΊ измСнится, ΠΊΠ°ΠΊ ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΎΡ‚ Java ΠΊ Kotlin. Π’ качСствС Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Android Π±Ρ‹Π»ΠΎ Π±Ρ‹ идСально ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° самых популярных языках ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для Android (Koltin, Java) ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… языках, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ (JavaScript, C/C++).

Бколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ прилоТСния для Android?

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ языка прилоТСния для Android Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ усилий, Π² срСднСм ΠΎΡ‚ 3-4 мСсяцСв для ΠΎΠ±Ρ‰ΠΈΡ… Π·Π½Π°Π½ΠΈΠΉ Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ 1 Π³ΠΎΠ΄Π° для Π±ΠΎΠ»Π΅Π΅ Ρ‚Π²Π΅Ρ€Π΄ΠΎΠ³ΠΎ владСния языком β€” Π² ΠΈΠ΄Π΅Π°Π»Π΅ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ ΠΏΠΎΠΌΠΈΠΌΠΎ этих Π·Π½Π°Π½ΠΈΠΉ. Однако для Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… программистов это врСмя обучСния Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сокращаСтся.

Π―Π·Ρ‹ΠΊΠΈ программирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Java, Kotlin, C++ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π² школС, Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½-курсах, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠΎΠ² ΠΈΠ»ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… сообщСствах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Kotlin, ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт β€” ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ мСсто для Π½Π°Ρ‡Π°Π»Π°.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы

1. На ΠΊΠ°ΠΊΠΎΠΌ языкС написаны прилоТСния для Android?

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android написано Π½Π° Java ΠΈ Kotlin. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ языки программирования, ΠΊΠ°ΠΊ C, C++ ΠΈ Basic.

2. МоТСм Π»ΠΈ ΠΌΡ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния для Android Π½Π° C++?

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

3. ВсС Π»ΠΈ прилоТСния для Android написаны Π½Π° Java?

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Java являСтся ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ языком программирования для Android, Π½Π΅ всС прилоТСния написаны Π½Π° Π½Π΅ΠΌ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ BASIC ΠΈ Kotlin. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅Π΄ΠΊΠΈΡ… случаях Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ C++.

4. Какой самый простой язык для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ Android?

Java β€” самый простой язык для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ Android, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ОБ Android Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π½Π° Π½Π΅ΠΌ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ свои прилоТСния для Android, Π½Π΅ бСспокоясь ΠΎ совмСстимости ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Java Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС ΠΈ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Π΅Π΅, Ρ‡Π΅ΠΌ Python ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки, благодаря простому для понимания синтаксису.

5. ΠœΠΎΠ³Ρƒ Π»ΠΈ я ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния для Android Π½Π° языкС C?

Google ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ собствСнный ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (NDK), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ€ΠΎΠ΄Π½Ρ‹Π΅ языки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ C ΠΈ C++, для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ Android. Но Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Android Π½Π° C ΠΈΠ»ΠΈ C++. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Java.

Π—Π°ΡΡ‚Π°Π²ΡŒΡ‚Π΅ вашС Android-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° iOS β€” ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ

Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ вашС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Android-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ кроссплатформСнным, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ ΠΊΠ°ΠΊ Π½Π° Android, Ρ‚Π°ΠΊ ΠΈ Π½Π° iOS. Π’Ρ‹ смоТСтС Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для Android ΠΈ iOS Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС.

Π’ этом руководствС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† прилоТСния для Android с ΠΎΠ΄Π½ΠΈΠΌ экраном для Π²Π²ΠΎΠ΄Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ пароля. Π£Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти.

Если Π²Ρ‹ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с Kotlin Multiplatform Mobile, сначала ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ кроссплатформСнноС мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с нуля.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° срСды для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

  1. УстановитС всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ инструмСнты ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΈΡ… Π΄ΠΎ послСдних вСрсий.

    Π’Π°ΠΌ понадобится Mac с macOS для выполнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… шагов Π² этом руководствС, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ написаниС ΠΊΠΎΠ΄Π° для iOS ΠΈ запуск прилоТСния для iOS. Π­Ρ‚ΠΈ шаги нСльзя Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Microsoft Windows. Π­Ρ‚ΠΎ связано с Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Apple.

  2. Π’ Android Studio создайтС Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ· систСмы контроля вСрсий:

    https://github. com/Kotlin/kmm-integration-sample

    Π’Π΅Ρ‚ΠΊΠ° master содСрТит Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° β€” простоС Android-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ . Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ iOS ΠΈ ΠΎΠ±Ρ‰ΠΈΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Π²Π΅Ρ‚Π²ΡŒ .

  3. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π²ΠΈΠ΄ Project .

Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ свой ΠΊΠΎΠ΄ кроссплатформСнным

Π§Ρ‚ΠΎΠ±Ρ‹ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ Π½Π° iOS, Π²Ρ‹ сначала сдСлаСтС свой ΠΊΠΎΠ΄ кроссплатформСнным, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ свой кроссплатформСнный ΠΊΠΎΠ΄ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ iOS.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ кроссплатформСнным:

  1. Π Π΅ΡˆΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ кроссплатформСнным.

  2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для кроссплатформСнного ΠΊΠΎΠ΄Π°.

  3. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля Π² вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Android.

  4. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ кроссплатформСнной.

  5. ЗапуститС кроссплатформСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Android.

Π Π΅ΡˆΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ кроссплатформСнным

Π Π΅ΡˆΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ вашСго Android-прилоТСния Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для iOS, Π° ΠΊΠ°ΠΊΠΎΠΉ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ. ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: Π΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ, насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. БизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° часто ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π° ΠΊΠ°ΠΊ для Android, Ρ‚Π°ΠΊ ΠΈ для iOS, поэтому это ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования.

Π’ вашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ прилоТСния для Android бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° хранится Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ com.jetbrains.simplelogin.androidapp.data . Π’Π°ΡˆΠ΅ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для iOS Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρƒ ΠΆΠ΅ Π»ΠΎΠ³ΠΈΠΊΡƒ, поэтому Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ кроссплатформСнным.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для кроссплатформСнного ΠΊΠΎΠ΄Π°

ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ для iOS, Ρ‚Π°ΠΊ ΠΈ для Android , хранится Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅. Плагин Kotlin Multiplatform Mobile прСдоставляСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ мастСр для создания Ρ‚Π°ΠΊΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

Π’ своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Android создайтС ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Kotlin Multiplatform для кроссплатформСнного ΠΊΠΎΠ΄Π°. ПозТС Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ для Android ΠΈ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ для iOS.

  1. Π’ Android Studio Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π€Π°ΠΉΠ» | Новый | Новый ΠΌΠΎΠ΄ΡƒΠ»ΡŒ .

  2. Π’ спискС шаблонов Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Kotlin , Π²Π²Π΅Π΄ΠΈΡ‚Π΅ имя модуля shared ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Regular framework Π² спискС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² распространСния Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° iOS.
    Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ iOS.

  3. НаТмитС Π“ΠΎΡ‚ΠΎΠ²ΠΎ .

ΠœΠ°ΡΡ‚Π΅Ρ€ создаст ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Kotlin Multiplatform, ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ создаст Ρ„Π°ΠΉΠ»Ρ‹ с классами, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌΠΈ прСимущСства Kotlin Multiplatform. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ структурС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля Π² вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Android

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ кроссплатформСнный ΠΊΠΎΠ΄ Π² Android-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΊ Π½Π΅ΠΌΡƒ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, пСрСмСститС Ρ‚ΡƒΠ΄Π° ΠΊΠΎΠ΄ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ сдСлайтС этот ΠΊΠΎΠ΄ кроссплатформСнным.

  1. Π’ Ρ„Π°ΠΉΠ»Π΅ build.gradle.kts ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ compileSdk ΠΈ minSdk ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ build.gradle вашСго прилоТСния Android Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ прилоТСния . .

    Если ΠΎΠ½ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ, ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΈΡ… Π² build.gradle.kts ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ с ошибкой компиляции.

  2. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля Π² build.gradle вашСго прилоТСния для Android.

    зависимости { ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (': ΠΎΠ±Ρ‰ΠΈΠΉ') }

  3. Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Gradle, Π½Π°ΠΆΠ°Π² Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСйчас Π² ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΈ.

  4. Π’ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ app/src/main/java/ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ LoginActivity Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ com.jetbrains.simplelogin.androidapp.ui.login .

  5. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ, Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Greeting() Π² ΠΆΡƒΡ€Π½Π°Π», ΠΎΠ±Π½ΠΎΠ²ΠΈΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ onCreate() :

    override fun onCreate(savedInstanceState: Bundle? ) { super. onCreate(сохранСнныйInstanceState) Log.i("ΠΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π²Ρ…ΠΎΠ΄Π°", "ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля: " + (Greeting().greeting())) }

  6. Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ рСкомСндациям Android Studio, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ классы.

  7. ΠžΡ‚Π»Π°Π΄ΠΊΠ° прилоТСния . На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Logcat Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΆΡƒΡ€Π½Π°Π»Π΅ Hello , ΠΈ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ привСтствиС ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля.

Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ кроссплатформСнной

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΊΠΎΠ΄ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ Π² ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Kotlin Multiplatform ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ нСзависимым ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊ для Android, Ρ‚Π°ΠΊ ΠΈ для iOS.

  1. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ com.jetbrains.simplelogin.androidapp.data ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° app Π² ΠΏΠ°ΠΊΠ΅Ρ‚ com.jetbrains.simplelogin.shared

    Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ shared/src/commonMain . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Ρ‚Π°ΡΠΊΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈΠ»ΠΈ Ρ€Π΅ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, пСрСмСщая всС ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

  2. Когда Android Studio спросит, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³.

  3. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ всС прСдупрСТдСния ΠΎ ΠΊΠΎΠ΄Π΅, зависящСм ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ .

  4. Π£Π΄Π°Π»ΠΈΡ‚Π΅ ΠΊΠΎΠ΄, спСцифичный для Android, Π·Π°ΠΌΠ΅Π½ΠΈΠ² Π΅Π³ΠΎ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Kotlin ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ²ΡˆΠΈΡΡŒ ΠΊ API-интСрфСйсам Android с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ

    ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Ρ… ΠΈ фактичСских объявлСний . ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ см. Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…:

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ спСцифичный для Android ΠΊΠΎΠ΄ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ

Π§Ρ‚ΠΎΠ±Ρ‹ ваш ΠΊΠΎΠ΄ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π» ΠΊΠ°ΠΊ Π½Π° Android, Ρ‚Π°ΠΊ ΠΈ Π½Π° iOS, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ всС зависимости JVM зависимостями Kotlin Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π΄Π°Π½Π½Ρ‹Ρ… Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

  1. Π’ классС LoginDataSource Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ IOException Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ login() Π½Π° RuntimeException .

    IOException нСдоступно Π² Kotlin.

    // Π”ΠΎ return Result.Error(IOException("Ошибка Π²Ρ…ΠΎΠ΄Π°", e))

    // ПослС return Result.Error(RuntimeException("Ошибка Π²Ρ…ΠΎΠ΄Π°", e))

  2. Π’ LoginDataValidator , Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ класс Patterns ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° android.utils рСгулярным Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Kotlin, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹:

    // РаньшС частноС Ρ€Π°Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ isEmailValid(email: String) = Patterns.EMAIL_ADDRESS.matcher(email).matches()

    // ПослС Π»ΠΈΡ‡Π½ΠΎΠ΅ ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ isEmailValid(email: String) = emailRegex.matches(email) ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ { частноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ emailRegex = ("[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" + "\\@" + "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" + "(" + "\\." + "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" + ")+").toRegex() }

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ API для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΈΠ· кроссплатформСнного ΠΊΠΎΠ΄Π°

Π’ классС LoginDataSource ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (UUID) для fakeUser гСнСрируСтся с использованиСм java. 014.UUID class, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нСдоступСн для iOS.

val fakeUser = LoggedInUser(java.util.UUID.randomUUID().toString(), "Π”ΠΆΠ΅ΠΉΠ½ Π”ΠΎΡƒ")

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ стандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Kotlin Π½Π΅ прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для создания UUID, Π² этом случаС Π²Π°ΠΌ всС Ρ€Π°Π²Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, зависящиС ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ объявлСниС expect для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ randomUUID() Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΊΠΎΠ΄Π΅ ΠΈ Π΅Π΅ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ β€” Android ΠΈ iOS β€” Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… исходных Π½Π°Π±ΠΎΡ€Π°Ρ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ API для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

  1. Π£Π΄Π°Π»ΠΈΡ‚Π΅ java.util.UUID класс ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°:

    val fakeUser = LoggedInUser(randomUUID(), "Jane Doe")

  2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»

    Utils.kt Π² com.jetbrains.simplelogin. ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° shared/src/commonMain ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ объявлСниС expect :

    package com.jetbrains.simplelogin. shared ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ вСсСлья randomUUID(): String

  3. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» Utils.kt Π² com.jetbrains.simplelogin.shared ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° shared/src/androidMain ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ для randomUUID() Π² Android:

    ΠΏΠ°ΠΊΠ΅Ρ‚ com.jetbrains.simplelogin.shared ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ java.util.* фактичСскоС ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ randomUUID() = UUID.randomUUID().toString()

  4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» Utils.kt Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ com.jetbrains.simplelogin.shared shared/src/iosMain ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ фактичСская рСализация для randomUUID() Π² iOS:

    ΠΏΠ°ΠΊΠ΅Ρ‚ com.jetbrains.simplelogin.shared ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ.Foundation.NSUUID Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ randomUUID(): String = NSUUID().UUIDString()

  5. ВсС, Ρ‡Ρ‚ΠΎ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это явно ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ randomUUID Π² Ρ„Π°ΠΉΠ» LoginDataSource.kt ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° shared/src/commonMain :

    import com.

    jetbrains.simplelogin.shared.randomUUID

    Для Android ΠΈ iOS Kotlin Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.

ЗапуститС кроссплатформСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Android

ЗапуститС кроссплатформСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Android, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вашС кроссплатформСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ Π½Π° iOS

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ сдСлали кроссплатформСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Android, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для iOS ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π΅ΠΌ ΠΎΠ±Ρ‰ΡƒΡŽ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ.

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ iOS Π² Xcode.

  2. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ iOS.

  3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΡ‚ Swift.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ iOS Π² Xcode

  1. Π’ Xcode Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π€Π°ΠΉΠ» | Новый | ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ .

  2. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ шаблон для прилоТСния iOS ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π”Π°Π»Π΅Π΅ .

  3. Π’ качСствС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ simpleLoginIOS ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Next .

  4. Π’ качСствС мСста для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранится вашС кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,

    kmm-integration-sample .

Π’ Android Studio Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ структуру:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ simpleLoginIOS Π² iosApp для согласованности с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня вашСго кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ iOS

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ iOS Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ являСтся настройка ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· CocoaPods, Π½ΠΎ эта интСграция Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ руководства.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ iOS Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ:

  1. Π’ Xcode ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ настройки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° iOS, Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

  2. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Build Phases настроСк ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ + ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ New Run Script Phase .

  3. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ скрипт:

    cd "$SRCROOT/.." ./gradlew:shared:embedAndSignAppleFrameworkForXcode

  4. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ Π€Π°Π·Π° запуска сцСнария ΠΏΠ΅Ρ€Π΅Π΄ Ρ„Π°Π·ΠΎΠΉ Compile Sources .

  5. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Настройки сборки ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° ВсС настройки сборки ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠŸΡƒΡ‚ΡŒ поиска Framework Π² ΠŸΡƒΡ‚ΠΈ поиска :

    $(SRCROOT)/../shared/build/xcode-frameworks /$(CONFIGURATION)/$(SDK_NAME)

  6. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Build Settings ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Other Linker flags ΠΏΠΎΠ΄ Linking :

    $(унаслСдовано) -framework shared

  7. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² Xcode. Если всС настроСно ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ построСн.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ конфигурация сборки, отличная ΠΎΡ‚ выпуска ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ . ΠΈΠ»ΠΈ Выпуск .

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Swift

  1. Π’ Xcode ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» ContentView.swift ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ :

    привСтствиС () ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля вашСго кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ прилоТСния:

    import SwiftUI ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ структура ContentView: прСдставлСниС { var body: Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ View { ВСкст (ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ (). ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ ()) .Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅() } }

  2. Π’ ContentView.swift Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ΄ для использования Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса прилоТСния:

    import SwiftUI ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ структура ContentView: прСдставлСниС { @State private var username: String = "" @State частный ΠΏΠ°Ρ€ΠΎΠ»ΡŒ var: String = "" @ObservedObject пСрСмСнная viewModel: ContentView.ViewModel var body: Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ View { VStack(ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»: 15.0) { ValidatedTextField(titleKey: "Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ", Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ: false, тСкст: $username, errorMessage: viewModel. formState.usernameError, onChange: { viewModel.loginDataChanged (имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: ΠΏΠ°Ρ€ΠΎΠ»ΡŒ) }) ValidatedTextField(titleKey: "ΠŸΠ°Ρ€ΠΎΠ»ΡŒ", Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ: true, тСкст: $password, errorMessage: viewModel.formState.passwordError, onChange: { viewModel.loginDataChanged (имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: ΠΏΠ°Ρ€ΠΎΠ»ΡŒ) }) Кнопка("Π’ΠΎΠΉΡ‚ΠΈ") { viewModel.login (имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: ΠΏΠ°Ρ€ΠΎΠ»ΡŒ) }.disabled(!viewModel.formState.isDataValid || (имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.isEmpty && password.isEmpty)) } .Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ (.всС) } } struct ValidatedTextField: View { ΠΏΡƒΡΡ‚ΡŒ titleKey: строка ΠΏΡƒΡΡ‚ΡŒ обСспСчСно: Bool @Binding var text: строка ΠΏΡƒΡΡ‚ΡŒ errorMessage: Π‘Ρ‚Ρ€ΠΎΠΊΠ°? ΠΏΡƒΡΡ‚ΡŒ onChange: () -> () @ViewBuilder var textField: Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ΄ { Ссли обСспСчСно { SecureField(titleKey, тСкст: $text) } Π΅Ρ‰Π΅ { TextField(titleKey, тСкст: $тСкст) } } var body: Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ View { ZстСк { тСкстовоС ΠΏΠΎΠ»Π΅ . textFieldStyle(RoundedBorderTextFieldStyle()) .autocapitalization(.none) .onChange(ΠΈΠ·: тСкста) { _ Π² ΠΏΠΎ измСнСнию() } Ссли ΠΏΡƒΡΡ‚ΡŒ errorMessage = errorMessage { Π₯Бтэк { ΠŸΡ€ΠΎΠΊΠ»Π°Π΄ΠΊΠ° () FieldTextErrorHint (ошибка: errorMessage) }.padding(.horizontal, 5) } } } } struct FieldTextErrorHint: ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ { ΠΏΡƒΡΡ‚ΡŒ ошибка: строка @State частная пСрСмСнная, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°ΡAlert = false var body: Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ View { Кнопка (дСйствиС: { self.showingAlert = true }) { Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (имя систСмы: "Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊ.Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ.Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅") .foregroundColor(.красный) } .alert(isPresented: $showingAlert) { ΠžΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ: ВСкст ("Ошибка"), сообщСниС: ВСкст (ошибка), ΠΊΠ½ΠΎΠΏΠΊΠ° отклонСния: .default (ВСкст ("ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ!"))) } } } Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ContentView { структура LoginFormState { ΠΏΡƒΡΡ‚ΡŒ usernameError: Π‘Ρ‚Ρ€ΠΎΠΊΠ°? ΠΏΡƒΡΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒΠžΡˆΠΈΠ±ΠΊΠ°: строка? пСрСмСнная isDataValid: Bool { ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ {Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ usernameError == nil && passwordError == nil } } } класс ViewModel: ObservableObject { @Published var formState = LoginFormState (usernameError: nil, passwordError: nil) ΠΏΡƒΡΡ‚ΡŒ loginValidator: LoginDataValidator ΠΏΡƒΡΡ‚ΡŒ loginRepository: LoginRepository init(loginRepository: LoginRepository, loginValidator: LoginDataValidator) { self. loginRepository = Π»ΠΎΠ³ΠΈΠ½Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ self.loginValidator = Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€ Π²Ρ…ΠΎΠ΄Π° } func login (имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: строка, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: строка) { Ссли ΠΏΡƒΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = loginRepository.login (имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: ΠΏΠ°Ρ€ΠΎΠ»ΡŒ) ΠΊΠ°ΠΊ? Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π£ΡΠΏΠ΅Ρ… { print("Π£ΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ Π² систСму. Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ, \(result.data.displayName)") } Π΅Ρ‰Π΅ { print("Ошибка ΠΏΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅") } } func loginDataChanged (имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: строка, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: строка) { formState = Π›ΠΎΠ³ΠΈΠ½FormState( usernameError: (loginValidator.checkUsername(username: username) as? LoginDataValidator.ResultError)?.message, passwordError: (loginValidator.checkPassword(ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: ΠΏΠ°Ρ€ΠΎΠ»ΡŒ) as? LoginDataValidator.ResultError)?.message) } } }

  3. Π’ simpleLoginIOSApp.swift ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ContentView() :

    import SwiftUI ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ @основной структура SimpleLoginIOSApp: ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ { var body: нСкоторая сцСна { Π“Ρ€ΡƒΠΏΠΏΠ° ΠΎΠΊΠΎΠ½ { ContentView(viewModel: . init(loginRepository: LoginRepository(dataSource: LoginDataSource()), loginValidator: LoginDataValidator())) } } }

ΠΠ°ΡΠ»Π°ΠΆΠ΄Π°ΠΉΡ‚Π΅ΡΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ – ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·

Π’Π΅ΠΏΠ΅Ρ€ΡŒ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ кроссплатформСнноС. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΊΠ°ΠΊ Π½Π° Android, Ρ‚Π°ΠΊ ΠΈ Π½Π° iOS.

  1. Π’ Android Studio ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ пароля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ checkPassword() класса LoginDataValidator :

    package com.jetbrains.simplelogin.shared.data класс LoginDataValidator { //... вСсСло checkPassword (ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: строка): Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ { Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ, ΠΊΠΎΠ³Π΄Π° { password.length < 5 -> Result.Error("ΠŸΠ°Ρ€ΠΎΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ >5 символов") password.lowercase() == "ΠΏΠ°Ρ€ΠΎΠ»ΡŒ" -> Result.Error("ΠŸΠ°Ρ€ΠΎΠ»ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ \"ΠΏΠ°Ρ€ΠΎΠ»ΡŒ\"") Π΅Ρ‰Π΅ -> Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. УспСх } } //... }

  2. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ gradle.