На ΠΊΠ°ΠΊΠΎΠΌ языкС написана ios: Π―Π·Ρ‹ΠΊ Swift β€”Β ΠΈΠ»ΠΈ язык программирования для iOS / Skillbox Media

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

«На ΠΊΠ°ΠΊΠΎΠΌ языкС программирования ΠΏΠΈΡˆΡƒΡ‚ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния?» — ЯндСкс Кью

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΠ΅

БообщСства

ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСнияЯзыки программирования

Анонимный вопрос

Β Β Β·

25,6 K

ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒΠ£Ρ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ

ΠœΠ°Π³ΠΎΡ€Π° БистСмс

192

Magora β€” мСТдународная IT-компания ΠΈΠ· Π‘ΠΈΠ±ΠΈΡ€ΠΈ. Β Β Β· 22 янв 2021

ΠžΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚

ΠœΠΈΡ…Π°ΠΈΠ» Π‘Π»ΠΈΠΏΡ‡Π΅Π½ΠΊΠΎ

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ 2 Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ созданию мобильного прилоТСния:

  • Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ β€” прилоТСния Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° Ρ€ΠΎΠ΄Π½Ρ‹Ρ… языках программирования для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (Swift для iOS, Kotlin для Android). Π’Π°ΠΊΠΈΠ΅ прилоТСния Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ созданы ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Apple ΠΈ Google;
  • кроссплатформСнный β€” ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ разрабатываСтся Π½Π° ΠΎΠ±Ρ‰Π΅ΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ ΠΈ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ языкС (Flutter). Вакая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° быстрСС ΠΈ дСшСвлС, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ слоТнСС.

ΠœΡ‹ Π² ΠœΠ°Π³ΠΎΡ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠ±Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΈ исходим ΠΈΠ· Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Π—Π°ΠΊΠ°Π·Ρ‹Π²Π°ΠΉ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ Π²Π΅Π± прилоТСния!

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π°Β magora-systems.ru

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚β€¦ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒβ€¦

Π•Π²Π³Π΅Π½ΠΈΠΉ Π’Ρ€Π΅Ρ‚ΡŒΡΠΊΠΎΠ²

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

121

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Dart/Flutter. Энтузиаст IoT.Β Β Β· 24 сСнт 2021

Навскидку, языки программирования Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:
Волько для Андроид:
1. Java
Волько для iOS:
1. Objective-C
2. Swift
Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅, ΠΊΠΎΠ΄ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΌ Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… (Π² скобочках SDK, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ):
1. Kotlin — стоит Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Ρ€Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π»Π΅Π΅

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚β€¦ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒβ€¦

Анастасия ΠšΠ°Π·Π°Ρ‡Π΅Π½ΠΊΠΎ

18

Π― ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΎΠ»ΠΎΠ³ Π² студии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π›Π°ΠΉΠ² Π’Π°ΠΉΠΏΠΈΠ½Π³. ΠœΠΎΠ³Ρƒ ΠΏΠΎΠΌΠΎΡ‡ΡŒ с…Β Β Β· 26 нояб 2020

Бмотря для ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. МоТно ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ прилоТСния для iOS ΠΈΠ»ΠΈ Android β€” это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ история. МоТно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ кроссплатформу β€” это ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° ΠΎΠ±Π΅ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Когда Π²Ρ‹ поставитС эту Ρ†Π΅Π»ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΆΠ΅ ΠΈ с инструмСнтами ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚β€¦ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒβ€¦

GeekBrains

192

8 Π»Π΅Ρ‚ помогаю рСбятам Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ Π² Π΄ΠΈΠ΄ΠΆΠΈΡ‚Π°Π» ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ для Π΅Π΅…Β Β Β· 8 ΠΎΠΊΡ‚ 2018Β Β Β· geekbrains.ru

Π’ случаС с ΠΌΠΎΠ±Π°ΠΉΠ»ΠΎΠΌ Π²Π°ΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ, для ΠΊΠ°ΠΊΠΎΠΉ ОБ ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ. НативныС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ Android ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π½Π° Java, ΠΏΠΎΠ΄ iOS β€” Π½Π° Objective C ΠΈ Swift, ΠΏΠΎΠ΄ Windows β€” Π½Π° C#. Однако ΠΌΠ½ΠΎΠ³ΠΈΠ΅ популярныС прилоТСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΌΠΈ: интСрфСйс дСлаСтся Π½Π° Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ языкС, внутрСнности Π΄ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ…: HTML5, JavaScript ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ….

10,0 K

Niedzwiedz

6 октября 2020

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ Android ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π² Π‘++ Π² срСдС Qt Creator. ΠŸΡ€ΠΈ этом Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ исходном ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ дальшС

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚β€¦ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒβ€¦

Nikolay Puzyrin

6,3 K

Π‘Π΅Ρ€ΡŒΡ‘Π·Π½ΠΎ ΡƒΠ²Π»Π΅ΠΊΠ°ΡŽΡΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ ΠΈ всСм Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌΠΈ связано. Π Π΅Ρ‚Ρ€ΠΎΠ³Π΅ΠΉΠΌΠ΅Ρ€.Β Β Β· 30 сСнт 2018

На Ρ€Π°Π·Π½Ρ‹Ρ…, Π² зависимости ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΠ»ΠΈ ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π² Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ языкС. НаиболСС популярныС Π² этой сфСрС: Javascript, Python, Ruby, Objective-c, Swift.

tim4ukys

24 июля 2020

Π§Ρ‘ Π²Ρ‹ ΠΏΠ°Ρ†Π°Π½Ρƒ(ΠšΠΎΠ»ΡΠ½Ρƒ) Π΄ΠΈΠ·Π»Π°ΠΉΠΊΠΎΠ² понаставили? ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Π½Π΅ Ρ…ΡƒΠΆΠ΅ Ρ‡Π΅ΠΌ ΠΎΡ‚Π²Π΅Ρ‚ Π²Ρ‹ΡˆΠ΅ ΠΎΡ‚ ГСкБрСйнс.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚β€¦ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒβ€¦

Π’Ρ‹Β Π·Π½Π°Π΅Ρ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚ на этот вопрос?

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ и знаниями

Π’ΠΎΠΉΡ‚ΠΈ ΠΈΒ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ на вопрос

На Ρ‡Π΅ΠΌ написан Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ?

Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-сСрвисы β€Ί Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ β€Ί НС ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ БМБ ΠΎΡ‚ Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ° Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ β€Ί Какой ΠΊΠΎΠ΄ Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ΅?

JavaC++Π‘ΠΈ

  1. На Ρ‡Π΅ΠΌ написан БэкСнд Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ?
  2. На Ρ‡Π΅ΠΌ написан Telegramm?
  3. На ΠΊΠ°ΠΊΠΎΠΌ языкС написан Telegram iOS?
  4. Π“Π΄Π΅ сдСлан Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ?
  5. Π“Π΄Π΅ стоят сСрвСра Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ°?
  6. На Ρ‡Π΅ΠΌ Ρ‡Π°Ρ‰Π΅ ΠΏΠΈΡˆΡƒΡ‚ БэкСнд?
  7. На ΠΊΠ°ΠΊΠΎΠΌ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ написан Telegram?
  8. На ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ Π² Google?
  9. Π“Π΄Π΅ находится Π³Π»Π°Π²Π½Ρ‹ΠΉ офис Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ?
  10. Π§Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ написано Π½Π° Python?
  11. На Ρ‡Π΅ΠΌ написана Π˜Π½ΡΡ‚Π°?
  12. На Ρ‡Π΅ΠΌ написан сайт Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅?
  13. КакиС страны ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ?
  14. Какой странС ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ?
  15. Бколько ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ 2022?
  16. Π§Ρ‚ΠΎ написано Π½Π° PHP?
  17. КакиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ написаны Π½Π° JavaScript?
  18. КакиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»ΠΈ написаны Π½Π° Python?
  19. Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ?
  20. ΠšΠΎΠΌΡƒ ПавСл Π”ΡƒΡ€ΠΎΠ² ΠΏΡ€ΠΎΠ΄Π°Π» Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ?
  21. Бколько людСй ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ватсапом?
  22. На Ρ‡Π΅ΠΌ написано мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅?
  23. Какой язык программирования Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ?
  24. На ΠΊΠ°ΠΊΠΎΠΌ языкС Π±Ρ‹Π» написан Π’ΠΈΠΊ Π’ΠΎΠΊ?
  25. ΠšΡ‚ΠΎ Π°Π²Ρ‚ΠΎΡ€ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ?
  26. Как ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΡ‚ΠΎ создал ΠΊΠ°Π½Π°Π» Π² Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠ΅?
  27. Бколько Π»Π΅Ρ‚ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΡƒ?
  28. ΠšΠ°ΠΊΡƒΡŽ Π‘ΡƒΠ±Π΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ?
  29. На Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ сСрвСр?
  30. КакиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ написаны Π½Π° Java Script?

На Ρ‡Π΅ΠΌ написан БэкСнд Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ?

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ СТСмСсячных Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ сСрвиса ΠΏΠΎ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° ΡΠ½Π²Π°Ρ€ΡŒ 2021 Π³ΠΎΠ΄Π° составляСт ΠΎΠΊΠΎΠ»ΠΎ 500 ΠΌΠ»Π½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.


Telegram

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ

Telegram FZ-LLC

Написана на

C++ ΠΈ Java

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

Qt

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма

Windows, macOS, Linux, Android, iOS

На Ρ‡Π΅ΠΌ написан Telegramm?

JavaC++Π‘ΠΈ

На ΠΊΠ°ΠΊΠΎΠΌ языкС написан Telegram iOS?

По словам Π”ΡƒΡ€ΠΎΠ²Π°, ΠΊΠΎΠ΄ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ прилоТСния Telegram написан Π½Π° языкС Objective-C.

Π“Π΄Π΅ сдСлан Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ?

Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ прСдставляСт собой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ мСссСндТСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ сообщСниями. Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся ПавСл Π”ΡƒΡ€ΠΎΠ². ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ мощности прилоТСния находятся Π² БША ΠΈ Π“Π΅Ρ€ΠΌΠ°Π½ΠΈΠΈ. ИдСя создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π² 2011 Π³ΠΎΠ΄Ρƒ.

Π“Π΄Π΅ стоят сСрвСра Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ°?

Π‘Π΅Ρ€Π²Π΅Ρ€Π° Telegram находятся Π² 5 Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… ΠΌΠΈΡ€Π°

ЕвропСйских ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ обслуТиваСт Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€ Π² Π›ΠΎΠ½Π΄ΠΎΠ½Π΅, азиатских β€” Π² Π‘ΠΈΠ½Π³Π°ΠΏΡƒΡ€Π΅, Π° мСксиканских β€” Π² Π‘Π°Π½-Ѐранциско. Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π½Π΅ сущСствуСт: всС ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ нСзависимо, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π°ΠΌΠΈ.

На Ρ‡Π΅ΠΌ Ρ‡Π°Ρ‰Π΅ ΠΏΠΈΡˆΡƒΡ‚ БэкСнд?

На backend, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° сторонС сСрвСра, Π² качСствС основного языка Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ JavaScript, Π½ΠΎ Ρ‡Π°Ρ‰Π΅ β€” Π±ΠΎΠ»Π΅Π΅ популярныС языки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Java, Python, PHP, Go ΠΈΠ»ΠΈ C#. Backend любого извСстного Π²Π°ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, скорСС всСго, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ….

На ΠΊΠ°ΠΊΠΎΠΌ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ написан Telegram?

По исходникам понял, Ρ‡Ρ‚ΠΎ сама ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° написана Π½Π° ΠΏΠ»ΡŽΡΠ°Ρ…. И, скорСС всСго, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° писалась Π² Qt.

На ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ Π² Google?

Поиск Google

ΠŸΠ΅Ρ€Π²Π°Ρ вСрсия Google Π½Π°Π·Ρ‹Π²Π°Π»Π°ΡΡŒ BackRub ΠΈ Π±Ρ‹Π»Π° написана Π½Π° Java ΠΈ Python. БСйчас Ρ„Ρ€ΠΎΠ½Ρ‚-энд Google написан Π½Π° C ΠΈ C++, Π° Π΅Π³ΠΎ извСстныС поисковыС Ρ€ΠΎΠ±ΠΎΡ‚Ρ‹ β€” Π½Π° Python.

Π“Π΄Π΅ находится Π³Π»Π°Π²Π½Ρ‹ΠΉ офис Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ?

Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ мСссСндТСра Telegram ПавСл Π”ΡƒΡ€ΠΎΠ² заявил Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ Bloomberg, Ρ‡Ρ‚ΠΎ компания ΠΎΡ‚ΠΊΡ€Ρ‹Π»Π° Π½ΠΎΠ²Ρ‹ΠΉ офис Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· башСн Dubai Media City Π² Π”ΡƒΠ±Π°Π΅. ΠžΡ„ΠΈΡ находится Π½Π° 23-ΠΌ этаТС Π² Dubai Media City, Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ² насыпного острова Пальма Π”ΠΆΡƒΠΌΠ΅ΠΉΡ€Π°.

Π§Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ написано Π½Π° Python?

Π§Π°Ρ‰Π΅ всСго Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Для Π½Π΅Π³ΠΎ написано мноТСство Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ²: FastAPI, Flask, Tornado, Pyramid, TurboGears, CherryPy ΠΈ, самый популярный, Django. Π•Ρ‰Ρ‘ Π½Π° Python ΠΏΠΈΡˆΡƒΡ‚ парсСры для сбора ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с Π²Π΅Π±-страниц.

На Ρ‡Π΅ΠΌ написана Π˜Π½ΡΡ‚Π°?

На Python ΠΈ Django написана сСрвСрная Ρ‡Π°ΡΡ‚ΡŒ Instagram* ΠΈ основной ΠΊΠΎΠ΄ YouTube ΠΈ Reddit. Π’ своих Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… вычислСниях язык ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ NASA ΠΈ Fermilab.

На Ρ‡Π΅ΠΌ написан сайт Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅?

PHP. Π­Ρ‚ΠΎΡ‚ язык β€” самый популярный Π²Ρ‹Π±ΠΎΡ€ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ бэкСнда. На Π½Π΅ΠΌ написаны Ρ‚Π°ΠΊΠΈΠ΅ сайты, ΠΊΠ°ΠΊ Facebook, Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅, Yahoo.

КакиС страны ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ?

ΠšΠ»ΡŽΡ‡Π΅Π²Π°Ρ статистика Telegram:

  • Π’ 2022 Π³ΠΎΠ΄Ρƒ аудитория Telegram составляСт 700 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² мСсяц
  • ΠœΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅Ρ€ΠΎΠΌ Telegram ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ 55.2 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ
  • Π‘ΠΎΠ»ΡŒΡˆΠ΅ всСго ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Telegram зарСгистрировано Π² России (37. 35%), Π˜Ρ€Π°Π½Π΅ (28.26%), Индии (12.36%) ΠΈ УзбСкистанС (12.08%)

Какой странС ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ?

Π’ настоящСС врСмя мСссСндТСр ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒΡΡ. ΠžΡΠ½ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ являСтся ПавСл Π”ΡƒΡ€ΠΎΠ² 10.10.1984 Π³ΠΎΠ΄Π° роТдСния, Π΅Π³ΠΎ состояниС оцСниваСтся Π½Π° сСгодняшний дСнь Π² 2,7 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² БША. Он Ρ‚Π°ΠΊ ΠΆΠ΅ Π±Ρ‹Π» создатСлСм ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ возглавлял Π΄ΠΎ 2014 Π³ΠΎΠ΄Π°.

Бколько ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ 2022?

Π’ 2022 Π³ΠΎΠ΄Ρƒ Telegram Π²ΠΎΡˆΡ‘Π» Π² Ρ‚ΠΎΠΏ-5 самых Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΌΠΈΡ€Π΅, Π° количСство Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ мСссСндТСра прСвысило 700 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π² мСсяц.

Π§Ρ‚ΠΎ написано Π½Π° PHP?

Π‘ΠΏΡ€Π°Π²ΠΊΠ°: сначала Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° PHP ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π»Π° Personal Home Page. Π­Ρ‚ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ основноС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ языка β€” созданиС Π²Π΅Π±-страниц. На PHP написаны популярныС систСмы управлСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ (CMS), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, WordPress, Joomla!, Drupal. На ΠΎΠ΄Π½ΠΎΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ WordPress’Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ Ρ‚Ρ€Π΅Ρ‚ΠΈ ΠΎΡ‚ всСх сайтов Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

КакиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ написаны Π½Π° JavaScript?

Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ прилоТСния


НазваниС

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ JavaScript

Π―Π·Ρ‹ΠΊΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… написан Π΄Π²ΠΈΠΆΠΎΠΊ ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°

Persevere-framework

Rhino

Java

Helma

Rhino

Java, JavaScript

V8cgi

V8

C++, JavaScript

Node. js

V8

C++

КакиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»ΠΈ написаны Π½Π° Python?

ВОП интСрСсных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° Python:

  • Ansible.
  • Dropbox.
  • Blender.
  • Pip.
  • Mercurial.
  • BitTorrent.
  • Waf.
  • YUM.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ?

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

ΠšΠΎΠΌΡƒ ПавСл Π”ΡƒΡ€ΠΎΠ² ΠΏΡ€ΠΎΠ΄Π°Π» Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ?

Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π”ΡƒΡ€ΠΎΠ² добился ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ контроля Π½Π°Π΄ Telegram ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΡƒΠ΄Π° Π±ΠΎΠ»Π΅Π΅ могущСствСнного ΠΈ Π±Π»ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΠΊ ΠšΡ€Π΅ΠΌΠ»ΡŽ ΠΈΠ³Ρ€ΠΎΠΊΠ°. Π’ январС 2014 Π³ΠΎΠ΄Π° ΠΎΠ½ ΠΏΡ€ΠΎΠ΄Π°Π» свою долю Π²ΠΎ Β«Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅Β» бизнСсмСну Π˜Π²Π°Π½Ρƒ Π’Π°Π²Ρ€ΠΈΠ½Ρƒ, Π° Ρ‚ΠΎΡ‚ сразу ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ΄Π°Π» Π°ΠΊΡ†ΠΈΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Π³ΠΈΠ³Π°Π½Ρ‚Ρƒ Mail.ru Group.

Бколько людСй ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ватсапом?

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. К 2015 Π³ΠΎΠ΄Ρƒ WhatsApp стал самым популярным ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ для ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями Π² ΠΌΠΈΡ€Π΅, ΠΈ ΠΏΠΎ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° Π°ΠΏΡ€Π΅Π»ΡŒ 2022 Π³ΠΎΠ΄Π° Π² Π½Ρ‘ΠΌ Π½Π°ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π»ΠΎΡΡŒ Π±ΠΎΠ»Π΅Π΅ 5 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² установок прилоТСния Ρ‡Π΅Ρ€Π΅Π· Google Play.

На Ρ‡Π΅ΠΌ написано мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅?

Java. Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° появлСния Java стал основным языком для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Android. Он обСспСчиваСт кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, прилоТСния Π½Π° Java Π»Π΅Π³ΠΊΠΎ пСрСнСсти Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы.

Какой язык программирования Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ?

Для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ β€” PHP ΠΈ Python, для ΠΈΠ³Ρ€ β€” Π‘++, для сайтов с большими Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ слоТными Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ β€” Java. Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ с простого языка, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Python.

На ΠΊΠ°ΠΊΠΎΠΌ языкС Π±Ρ‹Π» написан Π’ΠΈΠΊ Π’ΠΎΠΊ?

Π‘ΠΈPythonJavaSwift

ΠšΡ‚ΠΎ Π°Π²Ρ‚ΠΎΡ€ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ?

ΠžΡΠ½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Telegram ПавСл Π”ΡƒΡ€ΠΎΠ² размСстил Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π°Ρ… сообщСния ΠΎ тСстировании Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ Π² мСссСндТСрС Telegram Π½Π°Ρ‡Π°Π» Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹Π΅ сообщСния. Об этом Π² своСм ΠΊΠ°Π½Π°Π»Π΅ написал ΠΎΡΠ½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ мСссСндТСра ПавСл Π”ΡƒΡ€ΠΎΠ². Β«Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π΅Π΄Π²Π° Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ это ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅Β», β€” считаСт ΠΎΠ½.

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΡ‚ΠΎ создал ΠΊΠ°Π½Π°Π» Π² Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠ΅?

Если ΠΊ Π²Π°ΠΌ Π² Ρ€ΡƒΠΊΠΈ ΠΏΠΎΠΏΠ°Π»Π° приватная ссылка старого ΠΎΠ±Ρ€Π°Π·Ρ†Π° (Π±Π΅Π· Β«AAAAAΒ»), Ρ‚ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π±ΠΎΡ‚Π° @LinkCreatorBot ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΡ‚ΠΎ Π²Π»Π°Π΄Π΅Π»Π΅Ρ† ΠΊΠ°Π½Π°Π»Π°. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ Π±ΠΎΡ‚Ρƒ ссылку Π½Π° ΠΊΠ°Π½Π°Π» ΠΈ ΠΎΠ½ ΠΏΡ€ΠΈΡˆΠ»Π΅Ρ‚ Π²Π°ΠΌ ID Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°.

Бколько Π»Π΅Ρ‚ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΡƒ?

Π’ октябрС 2013 Π³ΠΎΠ΄Π° Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° появился Π²Π΅Π±-сайт ΠΈ вСрсия для Android с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. К Π½ΠΎΡΠ±Ρ€ΡŽ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ стали доступны вСрсии сСрвиса для Windows ΠΈ macOS с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ. Π—Π° ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‚Ρ€ΠΈ мСсяца ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ установили 1 ΠΌΠ»Π½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.

ΠšΠ°ΠΊΡƒΡŽ Π‘ΡƒΠ±Π΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ?

Π­Ρ‚ΠΎ SQLite, MySQL, PostgreSQL.

На Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ сСрвСр?

Код сСрвСрной части ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ написан Π½Π° любом количСствС языков программирования β€” ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ популярных языков сСрвСрной части Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя PHP, Python, Ruby, C# ΠΈ NodeJS (JavaScript).

КакиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ написаны Π½Π° Java Script?

Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ прилоТСния


НазваниС

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ JavaScript

Π―Π·Ρ‹ΠΊΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… написан Π΄Π²ΠΈΠΆΠΎΠΊ ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°

Persevere-framework

Rhino

Java

Helma

Rhino

Java, JavaScript

V8cgi

V8

C++, JavaScript

Node.js

V8

C++

15 Π»ΡƒΡ‡ΡˆΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Swift 5 для использования ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iOS

Π“Π°Π΄ΠΆΠ΅Ρ‚Ρ‹ Apple β€” ΠΎΠ΄Π½ΠΈ ΠΈΠ· самых Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… ΠΈ популярных Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΎΠ² Π² ΠΌΠΈΡ€Π΅. Π­Ρ‚ΠΈ Π³Π°Π΄ΠΆΠ΅Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΡ€ΡƒΡ‚Ρ‹Π΅ iOS-прилоТСния. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iOS с использованиСм языка программирования Swift Π΄Π°Π΅Ρ‚ прСимущСство этим прилоТСниям. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Swift 5 с функциями Π² этом Π±Π»ΠΎΠ³Π΅.

ΠœΡ‹ являСмся Π²Π΅Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iOS, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ 2000 ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ iOS для Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² ΠΈ iPad. ΠœΡ‹ пишСм этот Π±Π»ΠΎΠ³, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Swift iOS, Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдприниматСлям ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠΌ ΠΎ Swift 5. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ рассмотрСли 10 Π½ΠΎΠ²Ρ‹Ρ… ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ языка программирования Swift 5, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для macOS ΠΈ iOS. Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим 15 языковых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Swift 5 с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ.

Из этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅:

  • Π§Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π² Swift 5? КакиС Π½ΠΎΠ²Ρ‹Π΅ измСнСния Π² Swift 5?
  • 15 Π½ΠΎΠ²Ρ‹Ρ… ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Swift 5
  • ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ объяснСниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Swift 5

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

  1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  2. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ процСсс обновлСния Apple Programming?
  3. Π§Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π² Swift? Swift 5 НовыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
    1. Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ABI
    2. ЦСлочислСнныС ΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ с isMultiple(of:)
    3. Новая функция Β«compactMapValues()Β» для словарСй
    4. ОбновлСния стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ
    5. ОбновлСния диспСтчСра ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²0011 Migrating to Swift 5
    6. Raw Strings
    7. Handling Future Enum cases
    8. Using New Unicode Scalar Properties
    9. String Interpolation
    10. Dynamically Callable Types
  4. FAQs
    1. Когда Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Swift?
    2. Какая послСдняя вСрсия Swift?
    3. Как ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Swift 5?
    4. КакиС самыС популярныС прилоТСния, созданныС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Swift?
    5. Π§Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ со Swift?
    6. На ΠΊΠ°ΠΊΠΎΠΌ языкС написаны прилоТСния iOS?
    7. КакиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Swift самыС Π»ΡƒΡ‡ΡˆΠΈΠ΅?
  5. Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ новая вСрсия Swift здСсь. Однако, Ссли вас интСрСсуСт Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Swift 4 ΠΈ Swift 5, Π΄Π°Π²Π°ΠΉΡ‚Π΅ проясним это для вас. Swift 5 ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Swift 4.2, добавляя мноТСство Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ стабилизируя ABI языка. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ языка, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ мСньшС.

БСгодня ΠΌΡ‹ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ основныС измСнСния ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Swift 5. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ обсудим, ΠΊΠ°ΠΊ Π½Π° самом Π΄Π΅Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ процСсс внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² язык Swift ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ iOS Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΎΠ± этом. .

Π―Π·Ρ‹ΠΊ программирования Swift Π±Ρ‹Π» ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Π² 2014 Π³ΠΎΠ΄Ρƒ, Π° Π² ΠΊΠΎΠ½Ρ†Π΅ 2015 Π³ΠΎΠ΄Π° Π±Ρ‹Π» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ исходный ΠΊΠΎΠ΄. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊ Π½Π°ΠΌ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ»ΠΈΡΡŒ Π±ΠΎΠ»Π΅Π΅ 600 участников, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‚ язык для бСсшовной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iOS.

ПослС Objective-C Swift ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π» Β«Π²Ρ‚ΠΎΡ€Ρ‹ΠΌΒ» языком для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² экосистСмС Apple. Но ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Swift ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° рядС Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, особСнно Π½Π° Linux.

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ сСрвСрного Swift, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ языка для Π²Π΅Π±-сСрвисов. Но Π·Π°Ρ‡Π΅ΠΌ ΠΌΡ‹ всС это обсуТдаСм? Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Swift β€” это большС, Ρ‡Π΅ΠΌ просто созданиС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iOS.

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для iOS с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Swift?

Π˜Ρ‚Π°ΠΊ, Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… слов, Π΄Π°Π²Π°ΠΉΡ‚Π΅ сразу ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ Ρ‚Π΅ΠΌΠ΅ ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ программирования Swift с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ процСсса.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ процСсс обновлСния языка программирования Swift?

  • Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, всС измСнСния Π² языкС программирования Swift ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΈ ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ GitHub ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Swift Evolution.
  • Π›ΡŽΠ±ΠΎΠΉ, ΠΊΡ‚ΠΎ интСрСсуСтся языком, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ измСнСния, Π½ΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ процСссу. Π’Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ мноТСство ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сначала ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π½Π° Ρ„ΠΎΡ€ΡƒΠΌΠ°Ρ… Swift, Π° Π·Π°Ρ‚Π΅ΠΌ Π² сообщСствах.
  • ПослС этого ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎ рассматриваСтся основной ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Swift, состоящСй ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² Apple, ΠΊΠ°ΠΊ Π’Π΅Π΄ ΠšΡ€Π΅ΠΌΠ΅Π½Π΅ΠΊ ΠΈ ΠšΡ€ΠΈΡ Π›Π°Ρ‚Ρ‚Π½Π΅Ρ€. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ список Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… ΠΈ ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Swift Evolution.
  • Π’ΠΈΠΏΠΈΡ‡Π½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ исходный ΠΊΠΎΠ΄ ΠΈ тСхничСскиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Если ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ принято, Π΄Π°Π½Π½Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ΡΡ с исходным ΠΊΠΎΠ΄ΠΎΠΌ Swift.
  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ срСды выполнСния Swift, встроСнныС Π² macOS.

Swift Evolution β€” это большС, Ρ‡Π΅ΠΌ просто созданиС Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ языка программирования. Он Ρ‚Π°ΠΊΠΆΠ΅ отклоняСт прСдлоТСния ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ цСлостности ΠΈ надСТности языка. Если Π²Π°ΠΌ интСрСсно, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с этим SE — 0217, ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ bangbang !! Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ обсудим, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Swift 5 ΠΈ ΠΊΠ°ΠΊΠΎΠ²Ρ‹ Π΅Π³ΠΎ особСнности.

Π§Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π² Swift? НовыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Swift 5.0

Swift 5 Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ ΠΈ доступСн Π² Xcode 10.2. ΠœΡ‹ обсудили Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Swift 5 ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Swift для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

  1. Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ABI

    Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ABI β€” ΠΎΠ΄Π½Π° ΠΈΠ· основных особСнностСй Swift 5.0. Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ABI ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ интСрфСйса прилоТСния, которая являСтся Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ эквивалСнтом API, интСрфСйса ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ программирования.

    Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iOS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ API для написания ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Swift для Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. НапримСр, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° UIKit прСдоставляСт API для взаимодСйствия с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ прСдставлСний.

    Благодаря ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ABI, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΈ устанавливаСт вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΅ΠΌΡƒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ вСсь ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ трСбуСтся Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ этих ΠΊΠΎΠ΄ΠΎΠ² ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π° ΠΈΡ… iPhone ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ iOS, Π΅Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ API. Π’Π°ΡˆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ просто Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ABI Π² Swift 5 сдСлаСт Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ прилоТСния мСньшС ΠΈ ΠΏΡ€ΠΎΡ‰Π΅ Π² создании.

  2. ЦСлочислСнныС ΠΌΠ½ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ с Β«isMultiple(of:)Β»

    Π’ практичСском ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования Swift. Одним ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных являСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΎΠ³ΠΎ, дСлится Π»ΠΈ число Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ число (цСлочислСнныС ΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это снова Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, являСтся Π»ΠΈ число Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ, ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² использовании ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° остатка %.

    Π’ Swift 5 появилась новая функция isMultiple(of:) для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, являСтся Π»ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число ΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ числу. Π­Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Swift 5, которая ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ обнаруТиваСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ автоматичСского Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ XCode.

     ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:
    ΠΏΡƒΡΡ‚ΡŒ число = 42
    Ссли number.isMultiple (из: 2) {
        print("\(число) Ρ‡Π΅Ρ‚Π½ΠΎΠ΅!")
    } 
  3. Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

    Swift 5 прСдставляСт Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ iOS. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с двумя состояниями ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°: успСхом ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅ΠΉ, ΠΈ благодаря своСй высокой популярности Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ доступСн Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Swift.

    Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° инкапсулируСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния ΠΈ ошибки Π² ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ возмоТности пСрСчислСний, Π° SWift 5 ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

     dataTask(с: url) { (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Result) Π²
        ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ {
        случай ΠΏΡƒΡΡ‚ΡŒ . success(Π΄Π°Π½Π½Ρ‹Π΅):
            handleResponse (Π΄Π°Π½Π½Ρ‹Π΅: Π΄Π°Π½Π½Ρ‹Π΅)
        случай ΠΏΡƒΡΡ‚ΡŒ .error(ошибка):
            handleError (ошибка)
        }
    } 
  4. Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΈ подсчСт с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«count(where:)Β»

    Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с функциями сбора, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ map(_:), reduce(_:) ΠΈ filter(_:). ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹ΠΌΠΈ функциями Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΊΠΎΠ΄ слишком многословным ΠΈ Ρ€Π°ΡΡ‚ΠΎΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Π₯отя ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, сначала Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈ здСсь Π² Π΄Π΅Π»ΠΎ вступаСт count(where:). Π­Ρ‚Π° функция позволяСт Π½Π°ΠΌ бСспрСпятствСнно Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Swift 5.

     ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:
    ΠΏΡƒΡΡ‚ΡŒ Π±Π°Π»Π»Ρ‹ = [1, 3, 8, 2, 5, 6, 2, 10]
    ΠΏΡƒΡΡ‚ΡŒ count = scores.count (Π³Π΄Π΅: {$0 > 5})
    Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (количСство)
    Π’Ρ‹Π²ΠΎΠ΄ = 3 
  5. Π‘Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ?Β»

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

     ΠžΠ±Ρ€Π°Π·Π΅Ρ† использования:
    Ссли ΠΏΡƒΡΡ‚ΡŒ engine = (try? bike?.getEngine()) ΠΊΠ°ΠΊ? Π”Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ {
        // Π­Ρ‚ΠΎ ΠΎΠ½ΠΎ
    } 
  6. Новая функция Β«compactMapValues()Β» для словаря

    Одна ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Swift 5 Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Β«compactMapValues()Β». Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Swift поставляСтся с двумя Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ функциями для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами ΠΈ словарСм.

    map(_:) β€” примСняСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊ элСмСнтам массива ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ массив.

    compactMap(_:) β€” отбрасываСт Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ элСмСнты массива.

    Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, функция mapValues(_:) Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ самоС для словарСй, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ отбрасываСт Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ элСмСнты массива. Swift 5 прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ compactMapValues(_:) для словарСй.

    Он Π² основном сочСтаСт Π² сСбС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ compactMap(_:) массивов с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ mapValues(_:) словарСй для эффСктивного сопоставлСния ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

  7. ОбновлСния стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

    ΠžΠ±Ρ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ для Swift 4.2 ΠΈ Swift 5. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ обсудим Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Swift 5.

    Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Swift 5 Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ мноТСство Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ Swift 4.2, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ программистам Swift Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ своими Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· основных:

    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ тСкста для строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ².
    • Π’ΠΈΠΏΡ‹ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² SIMD ΠΈ Result Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ доступны Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Swift 5.
    • Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° ​​с использованиСм ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ UTF-8 для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° β€‹β€‹Π±ΠΎΠ»ΡŒΡˆΠ°Ρ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ для построСния тСкста ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° счСт ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ интСрполяции строк.
    • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Dictionary ΠΈ Set
  8. ОбновлСния диспСтчСра ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

    Π­Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Swift 5, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ этот диспСтчСр ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Swift Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ†Π΅Π»Π΅Π²Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сборки, настраиваСмыС Ρ†Π΅Π»ΠΈ развСртывания ΠΈ Π·Π΅Ρ€ΠΊΠ°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ зависимостСй.

    ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² REPL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ быстрого запуска Π±Π΅Π· нСобходимости сборки исполняСмого Ρ„Π°ΠΉΠ»Π°.

  9. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ обновлСния языка ΠΈ компилятора

    Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° новая функция Swift 5 β€” это язык ΠΈ обновлСния компилятора.

    Swift 5 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ поставляСтся с Exclusivity Enforcement ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΡΠΊΡΠΊΠ»ΡŽΠ·ΠΈΠ²Π½Ρ‹ΠΉ доступ ΠΊ памяти ΠΊΠ°ΠΊ для ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ для выпускных сборок. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ динамичСскиС Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ взаимодСйствиС с Ρ‚Π°ΠΊΠΈΠΌΠΈ языками, ΠΊΠ°ΠΊ JavaScript, Python ΠΈ Ruby.

    Swift Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΈΠ½ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ»ΡŽΡ‡Ρƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ прСдлоТСния Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ процСсса Swift Evolution.

  10. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Swift 5

    НаконСц, Ссли Π²Ρ‹ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½Ρ‹ функциями Swift 5 ΠΈ ΠΈΡ‰Π΅Ρ‚Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ. НС ΠΎ Ρ‡Π΅ΠΌ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ. Swift 5 совмСстим со Swift 4, Swift 4.1 ΠΈ Swift 4.2, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎΠ± эффСктивной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iOS.

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

  11. НСобработанныС строки

    Π­Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Swift 5, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ строки. Π›ΡŽΡ„Ρ‚Ρ‹ ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹Π΅ символы, Π° Π½Π΅ ΠΊΠ°ΠΊ escape-символы ΠΈΠ»ΠΈ символы ΠΊΠΎΠ½Ρ†Π° строки. РСгулярныС выраТСния ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования становятся ΠΏΡ€ΠΎΡ‰Π΅.

    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ строки, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько символов # ΠΏΠ΅Ρ€Π΅Π΄ строками:

     let rain = #""Π”ΠΎΠΆΠ΄ΡŒ" Π² "Испании" ΠΏΠ°Π΄Π°Π΅Ρ‚ Π² основном Π½Π° испанцСв."#
     

    Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ Ρ…ΡΡˆΡ‚Π΅Π³Π° Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ строки ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ раздСлитСля строки. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Swift ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π²ΠΎΠΊΡ€ΡƒΠ³ слов «доТдь» ΠΈ «Испания» слСдуСт Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Π° Π½Π΅ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Π΅Ρ† строки.

    Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ строки Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΊΠΎΡΡƒΡŽ Ρ‡Π΅Ρ€Ρ‚Ρƒ:

     let keypaths = #"ΠŸΡƒΡ‚ΠΈ быстрого доступа, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ \Person.name, содСрТат Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ссылки Π½Π° свойства."#
     

    Π”Π°ΠΆΠ΅ здСсь обратная косая Ρ‡Π΅Ρ€Ρ‚Π° рассматриваСтся ΠΊΠ°ΠΊ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½Ρ‹ΠΉ символ Π² строкС, Π° Π½Π΅ ΠΊΠ°ΠΊ escape-символ.

    Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ этих Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… строк являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ…ΡΡˆΡ‚Π΅Π³ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅. Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π° Π² маловСроятном случаС. Рассмотрим эту строку: Моя кошка сказала «мяу»#goodcat. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠ΅Ρ€Π΅Π΄ Ρ…ΡΡˆΡ‚Π΅Π³ΠΎΠΌ Π½Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π΅Π»Π°, Swift ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ Β«#Β» ΠΈ воспримСт Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒ строки. Π’ этой ситуации Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ наш Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ с #” Π½Π° ##”, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

     let str = ##"Мой ΠΊΠΎΡ‚ сказал "мяу"#goodcat"##
     

    Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ число Ρ…ΡΡˆΠ΅ΠΉ Π² ΠΊΠΎΠ½Ρ†Π΅ совпадаСт с числом Π² Π½Π°Ρ‡Π°Π»Π΅ для получСния ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

    НСобработанныС строки ΠΈ многострочная систСма Swift ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстимы Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ β€” всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ #»»» для Π½Π°Ρ‡Π°Π»Π°, Π·Π°Ρ‚Π΅ΠΌ «»»# для окончания, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

     let multiline = #"""
    ΠžΡ‚Π²Π΅Ρ‚ Π½Π° Тизнь,
    ВсСлСнная,
    ΠΈ всС \#(ΠΎΡ‚Π²Π΅Ρ‚). 
    """#
     
  12. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° случаСв Future Enum

    Π‘Π»ΡƒΡ‡Π°ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Swift. Π­Ρ‚ΠΎ касаСтся ΠΈ Swift 5. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с этим, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ случай ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ВсС случаи, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

    Π‘ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ рСгистры Enum ΠΈΠΌΠ΅ΡŽΡ‚ синтаксис @unknown ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вмСсто рСгистра ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

    Если ΠΈ ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ пСрСчислСниС, случай Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½ с ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ этот случай пСрСчислСния ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ.

  13. ИспользованиС Π½ΠΎΠ²Ρ‹Ρ… скалярных свойств Unicode

    Π’ Swift 4.2 Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкста для скаляров Unicode, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

     let username = "bond007"
    ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹ = 0
    имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.unicodeScalars.forEach {
      Π±ΡƒΠΊΠ²Ρ‹ += (65...90) ~= $0.value || (97...122) ~= $0.Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ? 1 : 0
    }
    print("Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ состоит ΠΈΠ· \(Π±ΡƒΠΊΠ²) Π±ΡƒΠΊΠ². ")
     

    Π’ этом ΠΊΠΎΠ΄Π΅ Π²Ρ‹ подсчитываСтС количСство Π±ΡƒΠΊΠ² Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, опрСдСляя, являСтся Π»ΠΈ скаляр юникода ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ символа строчной ΠΈΠ»ΠΈ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²ΠΎΠΉ.

    Π’ послСдних вСрсиях Swift ΠΊ скалярам Unicode Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ свойства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ тСкста:

     username.unicodeScalars.forEach { Letters += $0.properties.isAlphabetic ? 1 : 0}
     

    Π’ этом ΠΊΠΎΠ΄Π΅ isAlphabetic ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для опрСдСлСния, являСтся Π»ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ Ρ†ΠΈΡ„Ρ€ΠΎΠΉ. БвязанноС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ всС свойства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ.

  14. Π˜Π½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΡΡ†ΠΈΡ строк

    Благодаря функциям Swift 5 интСрполяция строк стала Π±ΠΎΠ»Π΅Π΅ эффСктивной ΠΈ Π³ΠΈΠ±ΠΊΠΎΠΉ. Они создали Ρ†Π΅Π»Ρ‹ΠΉ ряд Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Swift, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π±Ρ‹Π»ΠΎ Π² Swift 4.2.

    ΠŸΡ€ΠΎΡ‰Π΅ говоря, этот Π½ΠΎΠ²Ρ‹ΠΉ выпуск Swift ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ систСму интСрполяции строк, которая позволяСт Π²Π°ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² строках ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ со Swift 4.2. ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΎΡ‰Π΅ с использованиСм Swift, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для структур , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ имя структуры, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ всС Π΅Π΅ свойства. Однако классы Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ повСдСния. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с классом ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ систСму интСрполяции строк.

    НапримСр, Ссли Π±Ρ‹ Ρƒ нас Π±Ρ‹Π»Π° такая структура:

     struct User {
        имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ: строка
        Π²Π°Ρ€ Π·ΠΎΠ΄ΠΈΠ°ΠΊ: Π‘Ρ‚Ρ€ΠΎΠΊΠ°
    }
     

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΡΡ†ΠΈΡŽ строк, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Для этого Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΊ String.StringInterpolation с Π½ΠΎΠ²Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ appendInterpolation() . Swift 5 ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

    ΠœΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, которая ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π·Π½Π°ΠΊ Π·ΠΎΠ΄ΠΈΠ°ΠΊΠ° Π² ΠΎΠ΄Π½Ρƒ строку. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² appendInterpolation(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊ нашСй строкС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

     Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ String.StringInterpolation {
        ΠΌΡƒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ функция appendInterpolation(_ value: User) {
            appendInterpolation("МСня Π·ΠΎΠ²ΡƒΡ‚ \(value. name) ΠΈ ΠΌΠΎΠΉ Π·Π½Π°ΠΊ Π·ΠΎΠ΄ΠΈΠ°ΠΊΠ° \(value.zodiac)")
        }
    }
     

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ распСчатаСм Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅:

     let user = User(имя: "Π”ΠΆΠΎΠ½ Π”ΠΎΡƒ", Π·Π½Π°ΠΊ Π·ΠΎΠ΄ΠΈΠ°ΠΊΠ°: Π Π°ΠΊ)
    print("Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅: \(ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ)")
     

    Π­Ρ‚ΠΎ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠ°ΠΊ Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: МСня Π·ΠΎΠ²ΡƒΡ‚ Π”ΠΆΠΎΠ½ Π”ΠΎΡƒ ΠΈ ΠΌΠΎΠΉ Π—ΠΎΠ΄ΠΈΠ°ΠΊ Π Π°ΠΊ , Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ, Ссли Π±Ρ‹ ΠΌΡ‹ использовали ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΡΡ†ΠΈΡŽ строк, это Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π»ΠΎ Π±Ρ‹ Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ (имя: Β«Π”ΠΆΠΎΠ½ Π”ΠΎΡƒΒ», Π·Π½Π°ΠΊ Π·ΠΎΠ΄ΠΈΠ°ΠΊΠ°: Π Π°ΠΊ) .

  15. ДинамичСски Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹

    ОбновлСниС ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Swift 5 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ динамичСски Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ взаимодСйствиС с динамичСскими языками, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Python, JavaScript ΠΈ Ruby.

    ΠšΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠ· C++ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° динамичСскиС Π²Ρ‹Π·ΠΎΠ²Ρ‹ вмСстС с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова ΠΈΠ· Python.

    Основная идСя Swift 5.0 Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΅ΠΌΡƒ Π»ΡŽΠ±Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹.

    ИмСна Ρ‚Π΅Π³ΠΎΠ² Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ опрСдСлСния Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ динамичСскиС Π²Ρ‹Π·ΠΎΠ²Ρ‹ двумя способами:

    1. Π‘ ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΈ

    2. Π‘Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠΊ, Π³Π΄Π΅ порядок Π²Π²ΠΎΠ΄Π° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния для использования этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

    НапримСр, Π²Ρ‹ создаСтС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку JSON. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π²Ρ‹ опрСдСляСтС структуру ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ dynamiccallable. ВСрсия Ρ‚Π°ΠΊΠΆΠ΅ синтСзируСт ΠΏΠΎΡ‡Π»Π΅Π½Π½Ρ‹Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ для структур.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ создаСтС ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±Π΅Π· ΠΌΠ΅Ρ‚ΠΊΠΈ. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ‚Π΅Π³ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

     @dynamicCallable
    структура createJson {
        func dynamicallyCall(withArguments args:[Int])->String {
            ΠΏΡƒΡΡ‚ΡŒ jsonString = args.map{String($0)}.joined(Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ: ",")
            Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ "(jsonString)"
        }
    }
     

    Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ваш Ρ‚ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° являСтся массивом, ΠΎΠ΄Π½Π°ΠΊΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ массива.

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для iOS с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Swift?

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы.

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

Когда Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Swift?

Swift 1.0 Π±Ρ‹Π» прСдставлСн Π² 2014 Π³ΠΎΠ΄Ρƒ Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ Apple WWDC. Π’ 2014 Π³ΠΎΠ΄Ρƒ язык Π±Ρ‹Π» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ Π΄ΠΎ вСрсии 1.2. ПозТС Π½Π° WWDC 2015 Π±Ρ‹Π»ΠΎ объявлСно ΠΎ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Swift 2. Π‘Π½Π°Ρ‡Π°Π»Π° 3 дСкабря 2015 Π³ΠΎΠ΄Π° вСрсия 2.2, которая Π±Ρ‹Π»Π° собствСнным языком, стала ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Apple ΠΈ Linux. ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0.

ПослС этого Π±Ρ‹Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ выпусков ΠΈ вСрсий Swift. Swift 5.0 Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Π² 2019 Π³ΠΎΠ΄Ρƒ.

Какая послСдняя вСрсия Swift?

По ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° 2022 Π³ΠΎΠ΄ Swift 5.7 являСтся послСднСй вСрсиСй Swift для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Swift. Swift 5.7 вносит Π²Π°ΠΆΠ½Ρ‹Π΅ дополнСния Π² язык, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π·Π° счСт ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ компилятора. Π”Π°ΠΆΠ΅ нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя инструмСнты экосистСмы Swift, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ SourceKit-LSP, Swift Package Manager ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Windows.

Как ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Swift 5?

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Swift 5, Π²Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ срСдство ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° Apple Xcode 10. 2, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ измСнСния Π±ΡƒΠ΄ΡƒΡ‚ автоматичСски ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ самим срСдством ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°. Π’Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Migrator Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΠ· мСню Β«ΠŸΡ€Π°Π²ΠΊΠ°Β» -> Β«ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒΒ» -> Β«Π’ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ синтаксис SwiftΒ». Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ руководство ΠΏΠΎ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ, доступноС Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС, Π² соотвСтствии с ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ.

КакиС самыС популярныС прилоТСния, созданныС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Swift?

НиТС пСрСчислСны Π»ΡƒΡ‡ΡˆΠΈΠ΅ прилоТСния, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Swift.

  • Facebook
  • Uber
  • LinkedIn
  • WhatsApp
  • Airbnb

Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ со Swift?

Π‘ΡƒΠ΄ΡƒΡ‡ΠΈ быстрым ΠΈ эффСктивным языком Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Swift ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π»Π΅Π³ΠΊΠΎ соСдиняСтся с ΠΊΠΎΠ΄ΠΎΠΌ Objective-C. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя, написав Π±ΠΎΠ»Π΅Π΅ бСзопасный ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятного мобильного прилоТСния для вашСго бизнСса.

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

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ для iOS написаны Π½Π° Π΄Π²ΡƒΡ… основных языках: Objective-C ΠΈ Swift.

КакиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Swift самыС Π»ΡƒΡ‡ΡˆΠΈΠ΅?

Π’ΠΎΡ‚ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Swift, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ.

  • iOS OTP Authenticator β€” этот ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ ваш Π½ΠΎΠΌΠ΅Ρ€ мобильного Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ пароля (OTP).
  • БрСдство Π²Ρ‹Π±ΠΎΡ€Π° ΠΊΠΎΠ΄Π° страны β€” ΡƒΡΠΊΠΎΡ€ΡŒΡ‚Π΅ созданиС слоТных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов ΠΈ SwiftUI с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°Π±ΠΎΡ€Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²
  • Π’Π²ΠΎΠ΄Π½Ρ‹Π΅ экраны iOS β€” Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ страну ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ мобильного Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСдства Π²Ρ‹Π±ΠΎΡ€Π° CountryCode Π½Π° Π±Π°Π·Π΅ iOS.
  • МСню ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ящика iOS β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Π²ΠΎΠ΄Π½ΠΎΠΉ экран Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ Π²ΠΎ врСмя запуска прилоТСния ΠΈ управляйтС динамичСскими прСдставлСниями Π² зависимости ΠΎΡ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

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

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

Π˜Ρ‚Π°ΠΊ, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΈΠ΄Π΅ΠΈ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ iOS-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Swift 5, ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ΠΈΠΌΠΈ с Π½Π°ΠΌΠΈ. ΠœΡ‹ являСмся Π²Π΅Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Swift , Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉΡΡ Π² Индии, КанадС ΠΈ БША, ΠΈ ΠΈΠΌΠ΅Π΅ΠΌ ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ 2500 ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iPhone, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ.

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

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ история Swift Π΄ΠΎ 2020 Π³ΠΎΠ΄Π°

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Swift
ΠŸΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с основным языком программирования для iOS-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π₯отя ΠΌΡ‹ всС врСмя ΡΠ»Ρ‹ΡˆΠΈΠΌ ΠΎ Ρ‚Π°ΠΊΠΈΡ… языках программирования, ΠΊΠ°ΠΊ Python ΠΈ JavaScript, Swift β€” это язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΅ популярСн ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ нишСв. Π­Ρ‚ΠΎ Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ΅Π½ β€” это основной язык программирования для большого количСства устройств Apple.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌ вас со Swift, Π΅Π³ΠΎ ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΌ ΠΈ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Π°ΠΌ слСдуСт Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ ΠΎΠ± ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ языка ΠΈ/ΠΈΠ»ΠΈ создании ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Swift.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π‘Π²ΠΈΡ„Ρ‚?

Swift, Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ Π² 2014 Π³ΠΎΠ΄Ρƒ, прСдставляСт собой ΠΌΠΎΡ‰Π½Ρ‹ΠΉ язык программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния для экосистСмы Apple. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ для iOS ΠΈΠ»ΠΈ любой ΠΈΠ· ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ macOS, tvOS ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…, это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· основных инструмСнтов Π² вашСм Π½Π°Π±ΠΎΡ€Π΅ инструмСнтов.

Swift ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡΡΠ½ΠΎΡΡ‚ΡŒ. По Π·Π°Π΄ΡƒΠΌΠΊΠ΅ Swift ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ классы нСбСзопасного ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎ сих ΠΏΠΎΡ€ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ Π² Ρ‚Π°ΠΊΠΈΡ… языках, ΠΊΠ°ΠΊ JavaScript. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, это позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ошибки Π²ΠΎ врСмя компиляции, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ясный ΠΈ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ синтаксис Swift позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Π΅ΠΌ Π½Π° Ρ‚Π°ΠΊΠΈΡ… языках, ΠΊΠ°ΠΊ Java ΠΈΠ»ΠΈ C++.

Π₯отя ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² основном для ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Apple, Swift Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ долю Ρ€Ρ‹Π½ΠΊΠ° Π² Ρ‚Π°ΠΊΠΈΡ… областях, ΠΊΠ°ΠΊ машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. НапримСр, TensorFlow Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Swift ΠΈΠ·-Π·Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠΉ скорости ΠΈ бСзопасности Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Python, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ сСрвСрныС Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Vapor ΠΈ Kitura, постСпСнно Π½Π°Π±ΠΈΡ€Π°ΡŽΡ‚ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ.

ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ история Swift

Π Π°Π½Π½ΠΈΠΉ ΠΌΠΎΠ·Π³ΠΎΠ²ΠΎΠΉ ΡˆΡ‚ΡƒΡ€ΠΌ

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Swift Π½Π°Ρ‡Π°Π»Π°ΡΡŒ Π² 2010 Π³ΠΎΠ΄Ρƒ. Π’ Ρ‚ΠΎ врСмя ΠšΡ€ΠΈΡ Π›Π°Ρ‚Ρ‚Π½Π΅Ρ€ (ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ LLVM ΠΈ Clang) Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ C++ для Clang, компилятора для сСмСйства C-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… языков. Он Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ‹Π³ΠΎΡ€Π΅Π» Π½Π° C ΠΈ Ρ€Π΅ΡˆΠΈΠ», Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΉ способ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ.

ВмСстС с Π‘Π΅Ρ€Ρ‚Ρ€Π°Π½ΠΎΠΌ Π‘Π΅Ρ€Π»Π΅, Π³Π»Π°Π²ΠΎΠΉ ΠΎΡ‚Π΄Π΅Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Apple, ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ Π½ΠΎΠ²ΠΎΠΉ, Π»ΡƒΡ‡ΡˆΠ΅ΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π΅ Objective-C благодаря многочислСнным занятиям с доской. Π’Π½Π°Ρ‡Π°Π»Π΅ язык назывался Shiny (ΠΊΠ°ΠΊ Π² «этой Π½ΠΎΠ²ΠΎΠΉ блСстящСй ΡˆΡ‚ΡƒΠΊΠ΅Β»).

Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π³ΠΎΠ΄Π° спустя Π›Π°Ρ‚Ρ‚Π½Π΅Ρ€ подСлился своим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°ΠΌΠΈ Apple. Они Π²ΠΎΡΡ…ΠΈΡ‚ΠΈΠ»ΠΈΡΡŒ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ ΠšΡ€ΠΈΡΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ ΠΈ Π½Π°Π·Π½Π°Ρ‡ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² для продолТСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

МногиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ARC), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² Objective-C Π² Ρ‚ΠΎ врСмя, Π½Π° самом Π΄Π΅Π»Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΈΠ· Swift, ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° рассматривала Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ постСпСнного обновлСния Objective-C. Но, ΠΊ соТалСнию, ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… особСнностСй Swift являСтся Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ памяти. И Ссли ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈΠ· C-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ языка, Π² Π½Π΅ΠΌ останСтся Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΌΠ½ΠΎΠ³ΠΎ Π‘ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ½ΠΈ Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΡƒΡ‚ΡŒ ΠΊ Π‘Π²ΠΈΡ„Ρ‚Ρƒ.

Анонс ΠΈ выпуск с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ

Swift Π±Ρ‹Π» Π½Π°ΠΊΠΎΠ½Π΅Ρ† анонсирован Π½Π° Apple WWDC 14 ΠΊΠ°ΠΊ Β«Objective-C Π±Π΅Π· CΒ». Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ анонса.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ исходный ΠΊΠΎΠ΄ Π½Π΅ Π±Ρ‹Π» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ. Но 3 дСкабря 2015 Π³ΠΎΠ΄Π° вСрсия Swift 2.2 стала общСдоступной Π² соотвСтствии с Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache License 2.0. для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Apple ΠΈ Linux.

Π‘ΠΎΡ€ΡŒΠ±Π° Π·Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Π’ вСрсии 3. 0 Ρƒ Swift Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Π•Π³ΠΎ часто мСняли ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ нСсовмСстимыми способами, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ старыС руководства Π±Ρ‹Π»ΠΈ слишком ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ для использования.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π² ΠΎΠ΄Π½ΠΎΠΉ вСрсии Swift, ΠΈΠΌΠ΅Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ совмСстной Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, написанными Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ вСрсии Swift. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° Ρ€Π΅ΡˆΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° Π² Swift 5 появилась ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ABI.

Но Π² Ρ†Π΅Π»ΠΎΠΌ основная ΠΊΠΎΠΌΠ°Π½Π΄Π° заявила, Ρ‡Ρ‚ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ исходного ΠΊΠΎΠ΄Π° Π²Π°ΠΆΠ½Π° для Π½ΠΈΡ… Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС ΠΏΡƒΡ‚ΠΈ Swift, поэтому ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ большС Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ. БСйчас Swift являСтся Π·Ρ€Π΅Π»Ρ‹ΠΌ языком ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΊ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ…, Ρ‚Π°ΠΊ ΠΈ для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π‘ΡƒΠ΄ΡƒΡ‰Π΅Π΅ Swift

ΠŸΡ€ΡΠΌΠΎ сСйчас Swift находится Π½Π° 9-ΠΌ мСстС Π² индСксС PYPL, Ρ‡ΡƒΡ‚ΡŒ Π½ΠΈΠΆΠ΅ своСго ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠ°. Он ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² экосистСмС Apple, ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ сама Apple ΠΏΠ΅Ρ€Π΅ΡˆΠ»Π° ΠΎΡ‚ Objective-C ΠΊ Swift Π² качСствС ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ языка Π½Π° Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅.

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

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

Swift ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°ΠΌΠΈ

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ прСдставлСниС ΠΎ Swift ΠΊΠ°ΠΊ ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ языкС программирования ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² экосистСмС Apple, ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Swift с Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΈΡ… соврСмСнных языков программирования Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Swift ΠΈΠΌΠ΅Π΅Ρ‚ довольно ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΠ»ΡŒΠ½Ρ‹Ρ… сторон, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ простота использования, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ языком, ΠΊΠ°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ соврСмСнныС языки программирования, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Rust.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ рассмотрим ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ создаСтС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Apple, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для iOS. Π’ этом случаС Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Swift.

Objective-C

Objective-C β€” это надмноТСство языка программирования C с возмоТностями ООП ΠΈ динамичСской срСдой выполнСния. Π Π°Π½Π΅Π΅ этот язык Π±Ρ‹Π» ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ для ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Apple, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Π±Π°Π·Ρ‹ Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΅Π³ΠΎ.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ согласно индСксу PYPL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отслСТиваСт поисковыС запросы ΠΏΠΎ языковым ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ°ΠΌ, ΠΎΠ½ Π±ΠΎΠ»Π΅Π΅ популярСн, ясно, Ρ‡Ρ‚ΠΎ Objective-C ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ угасаСт. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Objective-C, Swift ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ доступным ΠΈ бСзопасным способом, поэтому Π½Π΅Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π² Objective-C.

ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ

БущСствуСт нСсколько кроссплатформСнных Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ для систСм Android ΠΈ iOS. Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ React Native, Flutter, Xamarin ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Π­Ρ‚ΠΎ ΠΏΡ€Π°Π³ΠΌΠ°Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ быстро Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ простоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±Π΅ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Π½ΠΎ это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ сниТСнию ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ нСстандартныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для вашСго прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°. Если Π²Ρ‹ Π½Π΅ ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ΡΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π° большС Ρ€Π°Π±ΠΎΡ‚Ρ‹ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ Π΅Π΅.

Swift ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ язык программирования

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ язык программирования ΠΈΠΌΠ΅Π΅Ρ‚ свои ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ характСристики, ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ слабыС стороны. Π‘Ρ€Π΅Π΄ΠΈ прСимущСств Swift β€” Π΅Π³ΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Π°Ρ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ‡Ρ‚ΠΎ позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ быстро ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ ΠΈ MVP. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя Swift β€” это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для создания Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Twitter ΠΈΠ»ΠΈ Waze.

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

Если Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, с ΠΊΠ°ΠΊΠΎΠ³ΠΎ языка Π½Π°Ρ‡Π°Ρ‚ΡŒ, Π²ΠΎΡ‚ нСсколько Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·Ρƒ:

  • Если Π²Ρ‹ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒ, созданиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для устройств Apple Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ доступ ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠΏΠ»Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Apple ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°.
  • Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΅ΠΌΠ½Ρ‹ΠΌ спСциалистом, Π·Π½Π°Π½ΠΈΠ΅ Swift ΡƒΠΆΠ΅ Π½Π° срСднСм ΡƒΡ€ΠΎΠ²Π½Π΅ позволяСт Π·Π°Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚ 2000 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π² мСсяц (Π² зависимости ΠΎΡ‚ страны, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΆΠΈΠ²Π΅Ρ‚Π΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅).
  • Apple β€” ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²ΠΎΠΉ тСхнологичСский Π³ΠΈΠ³Π°Π½Ρ‚, Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ всСгда смоТСтС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с соврСмСнными инструмСнтами, функциями ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ.
  • Swift ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для Ρ†Π΅Π»ΠΎΠ³ΠΎ ряда устройств Apple, поэтому, Π²Ρ‹ΡƒΡ‡ΠΈΠ² ΠΎΠ΄ΠΈΠ½ язык, Π²Ρ‹ смоТСтС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° всСх ΠΈΠ· Π½ΠΈΡ….
  • Благодаря сообщСству Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² языка программирования Swift, Swift ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ прост Π² ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ большоС количСство бСсплатного качСствСнного ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Swift Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.
scroll to top