Π“ΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΎΡ‚Ρ‡Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎ Swift Server

БСгодня стал доступСн Π³ΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΎΡ‚Ρ‡Π΅Ρ‚ Swift Server Work Group (SSWG), которая Π±Ρ‹Π»Π° создана Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ для исслСдования ΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Π·Π°Ρ†ΠΈΠΈ Π½ΡƒΠΆΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² сСрвСрных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π° Swift.

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

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

  • SwiftNIO β€” Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ event-driven Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для сСтСвого взаимодСйствия, ядро сСрвСрного Swift.

  • ΠšΡ€ΠΎΠΌΠ΅ этого: API логгирования, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΊ HTTP, HTTP/2, PotsgreSQL, Redis, Prometheus, API ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΈ рСализация ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° statsd ΠΊ Π½Π΅ΠΌΡƒ.

Swift & Linux tooling

Помимо Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ° Ρ‚Π°ΠΊΠΆΠ΅ занималась Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ самого Swift Π° Ρ‚Π°ΠΊΠΆΠ΅ инструмСнтов для Linux:

  • На Docker hub доступны ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·Ρ‹ с Swift 3, 4 ΠΈ 5. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·Ρ‹ Ρ‚Π°ΠΊ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅.

  • ΠœΠΎΠ΄ΡƒΠ»ΡŒ для распСчатывания бэктрСйсов Π² Linux (основан Π½Π° libbacktrace). РассматриваСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ объСдинСния со стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Swift.

  • Начиная с вСрсии Swift 4.2.2 Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ СТСмСсячныС Π±Π°Π³-фикс ΠΏΠ°Ρ‚Ρ‡ΠΈ для Linux.

ΠŸΠ»Π°Π½Ρ‹ Π½Π° 2020

  • Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ΠΊΡƒΠ΄Π° большСго числа Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π‘Π”, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ MongoDB, MYSQL, SQLite, Zookeeper, Cassandra, Kafka.

  • РаспрСдСлСнная трассировка β€” Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ столп Observability (Π»ΠΎΠ³ΠΈ ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹).

  • ΠŸΡƒΠ»Ρ‹ сСтСвых соСдинСний.

  • OpenAPI.

  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° большСго числа дистрибутивов Linux (Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ поддСрТиваСтся Ubuntu).

  • НаписаниС Π³Π°ΠΉΠ΄ΠΎΠ² ΠΏΠΎ дСплою.

  • ДСмонстрация возмоТностСй Swift server. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΅Π³ΠΎ, планируСтся ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ„ΠΈΠ΄Π±Π΅ΠΊ ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΈΠΌ с сообщСством.

SSWG ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° ΠΊ сотрудничСству с нСзависимыми Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ заинтСрСсованы Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ возмоТностСй для сСрвСрной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Swift.

МнСниС Π°Π²Ρ‚ΠΎΡ€Π° новости: вСроятно самый простой способ Π²Π»ΠΈΡ‚ΡŒΡΡ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ язык β€” Ρ‡Π΅Ρ€Π΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… (Π»ΠΎΠ³Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΠΆΠ΅ ΡƒΠ²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²ΠΎ).

Swift Π±Ρ‹Π» анонсирован Π² 2014 Π³ΠΎΠ΄Ρƒ ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½Π° Objective-C для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ MacOS ΠΈ iOS ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ являСтся языком ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Server Swift β€” ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ возмоТности Π² качСствС языка для backend.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru