iOS Dev
Open in Telegram
π¨βπ»ΠΠ²ΡΠΎΡ: ΠΠΈΠΊΡΠΎΡ ΠΡΡΡΠ΅Π²ΡΠΊΠΈΠΉ (@Viktorianec) βοΈ ΠΠ°Π·Π°: https://boosty.to/ios_dev | π€ @iOSIQBot | https://iosiq.ru πΠΠ°Π½Π°Π» ΠΎΠ± iOS-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°Ρ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ βοΈ ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ ΡΠΎΠ±Π΅ΡΠ°ΠΌ βοΈ ΠΠΎΠ΄. ΠΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. #ios #mobile #swift
Show more7 876
Subscribers
-424 hours
+27 days
-5430 days
Posts Archive
7 876
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ UserDefaults? ΠΠ°ΡΠΈΠ½Π°Ρ Ρ ΠΎΡΠ΅Π½ΠΈ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ ΠΎΡΠ΅Π½ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π³ΠΎΠ΄Π° ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π²
App Store Connect ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ API (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈΠ· SDK ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²), Π±ΡΠ΄Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅.
Π Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΠ½Ρ 2024 Π³ΠΎΠ΄Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ API.
ΠΠ»Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΊΠ»ΡΡ: NSPrivacyAccessedAPIType, Π° Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ NSPrivacyAccessedAPITypeReasons.
π₯Ί Π Π²ΠΎΡ ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΡΠ΅Π΄ΠΈ Π½ΠΈΡ
: File timestamp APIs (Π² ΡΠΎΠΌ ΡΠΈΠ»Π΅ creationDate/modificationDate, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ ΠΊΡΡΠ°), Disk space APIs (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, systemFreeSize) ΠΈ UserDefaults.
ΠΡΡ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠΈΠ½Π³Π΅ΡΠΏΡΠΈΠ½ΡΠΈΠ½Π³Π° (ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΡΠ°ΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²).
ΠΠ°ΠΊ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΡΠ΅, ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠ΅ΠΌΠΏΠ°ΠΌΠΈ ΡΠΊΠΎΡΠΎ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ Π²ΡΠ±ΠΎΡΠ° Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
.
@iOS Dev7 876
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Stable Diffusion Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Swift CLI
ΠΠ»Ρ iOS-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°
Stable Diffusion ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π²Π΅ΡΡΠΌΠ° ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠΌ Π΄Π»Ρ Core ML, Stable Diffusion ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
Apple Silicon.
Π, ΡΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΌΠΎΠ΄Π΅Π»Ρ Ρ
ΡΠ°Π½ΠΈΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
π Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ (CLI) Swift Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
π¨βπ» ΠΠ° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ, ΠΏΠΎΠ΄Π΅Π»ΡΡΡ Π½Π΅ΠΏΠ»ΠΎΡ
ΠΈΠΌ Π³Π°ΠΉΠ΄ΠΎΠΌ ΠΏΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠΌΠΏΡΠΎΠ².
@iOS Dev7 876
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ
Π² Swift 5.0
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ 14 (!) ΡΡΡΡΡΠ°ΠΌΠΈ Π·Π²ΡΠ·Π΄ Π½Π° Github Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΡΡΡΠΊΠΎΠ² ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Π² ΡΡΠΈ Π³ΡΡΠΏΠΏΡ: ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΡΠ΅ΡΠΊΠΈΠ΅, ΡΠ²ΠΎΡΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ ΡΡΡΡΠΊΡΡΡΠ½ΡΠ΅.
π Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΡ Π·Π΄Π΅ΡΡ.
π ΠΡΡΠ°ΡΠΈ, Π²ΠΎΡ ΡΡΡ Π΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ clean architecture ΠΈ MVVM.
@iOS Dev
7 876
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠΈΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SPM
ΠΠ½ΠΎΠ³Π΄Π° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΈΠ»ΠΈ Π² ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ΅Π΄ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ Ρ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.
π©βπ Π₯ΠΎΡΡ Π² SPM Π½Π΅Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°Π΅Π², ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ.
ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ, ΠΎΠ±ΡΡΠ²ΠΈΠ² ΠΏΠ°ΠΊΠ΅Ρ ΠΊΠ°ΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π² Package.swift, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π΅Π³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
π Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π°Π²ΡΠΎΡ ΡΠ°Π·Π±ΠΈΡΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°Π³ΠΈ, Π° Π·Π΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
@iOS Dev
7 876
SwifterSwift β ΡΡΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 500 Π½Π°ΡΠΈΠ²Π½ΡΡ
extensions Swift Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ°Ρ
Π°ΡΠΎΠΌ ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
π€© Π Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Examples.playground.
π SwifterSwift Π½Π° Github.
@iOS Dev7 876
Π‘Π΅ΡΠΈΡ ΠΈΠ· 8 ΡΡΠ°ΡΠ΅ΠΉ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ CloudKit Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Shopping UK
π§βπ» Stuart Wheelwright ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 10 Π»Π΅Ρ (ΡΠ΅ΠΉΡΠΈΠ½Π³ 4,8 Π² App Store, Π±ΠΎΠ»Π΅Π΅ 45 000 Π΅ΠΆΠ΅ΠΌΠ΅ΡΡΡΠ½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ). ΠΡΠΈ ΡΡΠΎΠΌ ΡΡΠ΅Π΄Π½ΠΈΠΉ Π΄ΠΎΡ
ΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡ 1000 Π΄ΠΎ 1500 ΡΡΠ½ΡΠΎΠ² ΡΡΠ΅ΡΠ»ΠΈΠ½Π³ΠΎΠ² Π² ΠΌΠ΅ΡΡΡ.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠ°Π·Π±ΠΎΡΠ° CloudKit ΠΎΠ½ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΈΡΡΠ» ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π» ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ°ΠΊΠΈΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Shopping UK.
π ΠΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·Π±ΠΎΡ ΠΎ ΠΏΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ CloudKit ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ Π·Π΄Π΅ΡΡ.
@iOS Dev
7 876
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² iOS: ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΡΠ΅ΡΠ½Π° Β«ΠΠ΅ΠΊΠΎΡΠ°ΡΠΎΡΒ»
Π‘ΠΈΡΡΠ΅ΠΌΠ° Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ β ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΡΡΡΡ
Π·Π°Π΄Π°Ρ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²Π°ΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
π Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π°Π²ΡΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠ°ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
@iOS Dev
7 876
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ callback-ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ AsyncStream Π² Swift
ΠΠΎ
Swift Concurrency ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ± ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΡΠΎΠ±ΡΡΠΈΡΡ
Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
π¨βπ» ΠΠΎ Ρ Π²Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ AsyncStream ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΊΠ°ΡΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° async/await.
π Π ΡΡΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅ Π°Π²ΡΠΎΡ Π΄Π΅Π»ΠΈΡΡΡ ΡΠ°ΠΊΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠΌΠΈΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ².
@iOS Dev7 876
ΠΠ°ΠΊ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
π
ββοΈΠΠ°ΠΏΡΠ΅Ρ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ
ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ².
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ°ΡΠ΅ Π½Π° Android, ΡΠ΅ΠΌ Π½Π° iOS, Π½ΠΎ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎ ΠΏΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ²ΠΎΡ Π±Π°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΡΡΠΎ
Extension, ΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π² shouldAllowExtensionPointIdentifier Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΄Π°ΡΡ/Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡ.
π Π Π²ΠΎΡ Π·Π΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π°.
@iOS Dev7 876
ΠΠ΅ΡΠ²Π°Ρ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ visionOS
π Π‘ΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Widgetsmith (Π±ΠΎΠ»Π΅Π΅ 100 ΠΊΠΊ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠΉ) Π΄Π΅Π»ΠΈΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ visionOS Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎ ΡΡΠ°ΠΏΡ ΡΠ°Π·Π±ΠΎΡΠ° ΠΎΡΠΈΠ±ΠΎΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² ΡΠ΅Π»ΠΎΠΌ.
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ΅Π΄ΠΈΠ·Π°ΠΉΠ½Π°, Π½ΠΎ ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΡΡΠ΅ΠΊΡΠΎΠ² (ΠΌΠ΅ΡΡΠ°Π½ΠΈΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅) Π½Π° Π±Π°Π·Π΅ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
π ΠΡΠΎΡΠΈΡΠ°ΡΡ ΠΏΡΠΎ ΠΎΠΏΡΡ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π»Ρ visionOS ΠΌΠΎΠΆΠ½ΠΎ Π·Π΄Π΅ΡΡ.
@iOS Dev
7 876
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ iOS-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠ»Π°Π΄Π΅Π½ΠΈΠ΅ Π½Π°Π²ΡΠΊΠ°ΠΌΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Ρ
ΠΎΠ΄ΠΈΡ Π² ΡΠΎΠΏ ΡΠ°ΠΌΡΡ
ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
Π²Π΅ΡΠ΅ΠΉ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° (Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ).
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π½Π°ΠΉΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ°ΠΌΡΡ
Π½Π΅ΠΏΡΠΈΡΡΠ½ΡΡ
Π±Π°Π³ΠΎΠ² ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΡΡΠ΅Π΄ΡΡΠ².
π ΠΠ»ΡΠ±Π΅ΡΡ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ SimbirSoft ΡΠΎΠ±ΡΠ°Π» Π² ΠΎΠ΄Π½Ρ ΡΡΠ°ΡΡΡ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΈΠ· ΡΡΠΈΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
@iOS Dev
7 876
5 Π²Π΅ΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π½Π΅ Π·Π½Π°ΡΡ ΠΎ KeyPaths
KeyPath β ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΡΠΈΡΠ΅ΠΊ Π² Swift.
Vincent Pradeilles ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ KeyPath Π² ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
.
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΈΠΏΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠ°.
π Π Π²ΠΎΡ Π·Π΄Π΅ΡΡ Π²Π΅ΡΡ ΡΠ°Π·Π±ΠΎΡ ΠΏΡΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
π ΠΡΡΠ°ΡΠΈ, ΠΏΡΠΎ KeyPathComparator ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΡ.
@iOS Dev7 876
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° c ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ dynamicProvider
ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
dynamicProvider Π΄Π»Ρ UIColor (Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Ρ 13 ΠΎΡΠΈ).
π ΠΡΠΎ Π΄Π΅ΡΠ°Π»ΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΊΠ΅ΠΉΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π·Π΄Π΅ΡΡ.
@iOS Dev7 876
23 ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² Swift
π ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠΎΠΌ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
π Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ 23 ΡΠΏΠΎΡΠΎΠ±Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ.
π ΠΡΡΠ°ΡΠΈ, Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΡΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΡΠΈΠΌ ΠΏΠΎΡΡΠΎΠΌ.
@iOS Dev
7 876
ΠΠ°ΡΡΡΠ°Π±Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ SwiftData
Π Π½Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ
SwiftData, Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
π ΠΡΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ°Π·Π΄Π΅Π»ΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΠΏΠΎΡΠ²ΡΡΠ΅Π½ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° SwiftData.
π ΠΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΡΠΉ ΠΎ Π²ΠΎΠΏΡΠΎΡΠ°Ρ
ΠΈ ΠΎΡΠ²Π΅ΡΠ°Ρ
, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ SwiftData ΠΈ CoreData.
@iOS Dev7 876
π₯³ 5 000 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π² ΠΊΠ°Π½Π°Π»Π΅!
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ β ΡΡΠΎ ΠΊΡΠΎΠ²Ρ, ΠΌΠ΅ΡΠ°Π±ΠΎΠ»ΠΈΠ·ΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΈΡΠ° (Π€ΠΈΠ»ΠΈΠΏΠΏ Π. ΠΠΈΠΊ).
ΠΠΎΡ ΡΠΆΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π³ΠΎΠ΄Π° Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎ Π²Π΅Π΄Ρ ΡΡΠΎΡ ΠΊΠ°Π½Π°Π». ΠΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ, Π΄Π΅Π»ΡΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π²Π·Π³Π»ΡΠ΄ΠΎΠΌ ΠΈ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ Π²Π°ΠΆΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±Π°Π·Ρ, Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΈ ΠΈΡ
Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° Π½Π°ΡΡ Ρ Π²Π°ΠΌΠΈ ΡΠ°Π±ΠΎΡΡ.
Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠ΅ΠΉ Π»Π°Π²ΠΈΠ½Ρ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠΈΡΠΊ ΠΎΡΠ²Π΅ΡΠΎΠ² Π½Π° ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΡΡΠ΅Π±ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π² 2023 Π³ΠΎΠ΄Ρ Π½Π°ΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ°Π½Π°Π»ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ
ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΏΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΡΡΠΏΠ½Π΅Π΅, ΡΠ΅ΠΌ @iOSDev, Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π°Π²ΡΠΎΡΠΎΠ², ΠΈ ΡΡΠΎ Π·Π΄ΠΎΡΠΎΠ²ΠΎ!
ΠΡΠ°Π²Π΄Π°, Π²Π°ΠΆΠ½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠΈΡΡΡΡ Π°ΡΡΠ΅Π½Π°Π» ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π² ΡΠ΅Π»ΠΎΠΌ: Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, Π½ΠΎ ΠΈ Π²ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π°Π²ΡΠΊΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
Π Π°Π·Π²ΠΈΠ²Π°ΡΡ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΡΡΡΡ β ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ (ΡΠ·ΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΠΈ Π½Π΅ΠΏΡΠΎΡΡΡΠ΅ ΡΠ΅ΠΌΡ, ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΡ). Π ΠΌΠ½Π΅ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΏΡΠΈΡΡΠ½ΠΎ, ΡΡΠΎ Π·Π΄Π΅ΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ.
β€βπ₯Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ ΡΠΈΡΠ°Π΅ΡΠ΅ ΡΡΠΎΡ ΠΊΠ°Π½Π°Π».
@iOS Dev β Π° Π΅ΡΡ Ρ ΡΠ΅ΡΠΈΠ»ΡΡ Π½Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠΎΠ΄Π°ΡΠΎΠΊ, ΠΈ ΠΊΡΠΏΠΈΠ» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ·Π΅ΡΠ½Π΅ΠΉΠΌ (ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΠΊΠ°Π½Π°Π»Π°). ΠΡΡΠ°ΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΡ Π³ΠΈΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² Keynote π€
7 876
ΠΠΎΠ³ΡΡΠΆΠ°Π΅ΠΌΡΡ Π² Observation: Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠ²ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ
Observation ΡΠΎΠ·Π΄Π°Π»ΠΈ Ρ ΡΠ΅Π»ΡΡ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π²ΠΎ Π²ΡΡΡ
Π°Ρ
SwiftUI, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠ²ΡΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
1οΈβ£ ΠΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΠΈΠΏΠ° ΠΊΠ°ΠΊ observable (Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ).
2οΈβ£ ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
3οΈβ£ ΠΠ°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π° Ρ Π²ΡΠ±ΡΠ°Π» Π΄Π²Π΅ ΠΎΠ±ΡΠΈΡΠ½ΡΡ
ΡΡΠ°ΡΡΠΈ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ:
π ΠΠ±Π·ΠΎΡΠ½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π», Π΄Π»Ρ ΡΠ΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ ΡΡΠΎΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ: ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΎΡΠ΅ΠΊΡΡ Observable, ΡΠ°Π·Π±ΠΎΡ ΡΠ΅ΡΠ°Π΅ΠΌΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ.
π ΠΠ°ΠΉΠ΄, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ObservableObject Π² Observable.
@iOS Dev7 876
ΠΠΎΠΉ ΠΎΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ΅Ρ-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ°Π²Π΄Π°
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΡΠΈΡΠ°Π»ΠΈ ΠΏΠΎΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΠΏΠΈΡΠ°Π», ΡΡΠΎ ΡΠΎΠ·Π΄Π°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ 2011 Π³ΠΎΠ΄Π°. ΠΠ° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Π΄ΠΎ ΡΡΠΎΡΠ° Π΄ΠΎΠ±ΡΠ°Π»ΠΈΡΡ ΡΡΠΈ Π΄Π΅ΡΡΡΠΊΠ°, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠ°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ Π΄ΠΎ ΡΠΈΡ
ΠΏΠΎΡ ΡΠ°ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π΄Π²Π°Π΄ΡΠ°ΡΡ. ΠΠΊΠΎΠ»ΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΈΠ· Π½ΠΈΡ
Π½Π° Objective-c, Π΄ΡΡΠ³Π°Ρ ΠΆΠ΅ ΡΠ°ΡΡΡ Π½Π° Swift, Π° Π²ΠΈΠ΄ΠΆΠ΅ΡΡ/ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°ΡΠΎΠ² ΡΠΆΠ΅ Π½Π° SwiftUI. Π₯Π°-Ρ
Π°, Π° Π΅ΡΡ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎ Π½Π° Kotlin.
Π₯ΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Ρ Π²Π°ΠΌΠΈ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΌΡΡΠ»ΡΠΌΠΈ ΠΏΡΠΎ ΡΠΎ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΡΡΠΎ Π²ΡΡ Π±ΡΠ»ΠΎ (ΠΈ Π±ΡΠ΄Π΅Ρ).
π ΠΠΎΠ²Π΅Π΄ΡΠ½Π½ΡΠΉ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ. ΠΠ° ΡΠ°Π±ΠΎΡΠ΅ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ ΡΡΠΈΠ΄ΡΠΈΠ²ΠΎΡΡΠΈ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΎΠ², ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π°ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ° ΡΠ°ΡΠΊΠΈ ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ³Π»ΠΎΠΌ.
π ΠΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β Π½Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π΄ΠΎΡ
ΠΎΠ΄Π°. Π‘ΠΊΠΎΡΠ΅Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΠΈΡ
ΠΊΠ°ΠΊ ΡΠΏΠΎΡΠΎΠ± ΡΠ·Π½Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π½ΠΎΠ²ΠΎΠ΅, ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ, ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΠ»ΡΠΊΠΎ c ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°
Texture.
π ΠΠΎΠΏΡΠΎΡΡ ΡΠ΅Π²ΡΡΠ΅ΡΠΎΠ² ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΈ ΠΎΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Π₯ΠΎΡΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Ρ Π½ΠΈΠΌΠΈ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ³Π»Π°ΡΠ°ΡΡΡΡ π.
π ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠΎ-ΡΠΎ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠ΅Π»ΠΈΡΡ. ΠΠΎΠ³Π΄Π°-ΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ» ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄Π»Ρ ΠΠ, Π° ΡΠ°ΠΌ ΠΠ ΡΠΎΠ³Π΄Π° Π²ΡΠΏΠΈΠ»ΠΈΠ»ΠΈ Π·Π° Π°Π²ΡΠΎΡΡΠΊΠΈΠ΅ ΠΏΡΠ°Π²Π° Π½Π° ΠΌΡΠ·ΡΠΊΡ, ΠΈ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π΄Π½Π΅ΠΉ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ ΠΎΠΊΠΎΠ»ΠΎ 50 000 ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ (Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ).
π Π§Π°ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ»ΡΠ°Ρ, ΠΊΠΎΠ³Π΄Π° ΠΈΡ
Π²ΡΡ ΡΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ. ΠΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠΉΠ΄ΡΡ Π½Π΅ ΡΠ°ΠΊ, Π±ΡΠ΄ΡΡΠ΅ Π³ΠΎΡΠΎΠ²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π΅ΡΡΡΠΎΠΊ Π³Π½Π΅Π²Π½ΡΡ
ΠΎΡΠ·ΡΠ²ΠΎΠ² (Π²ΡΡ, ΠΊΠ°ΠΊ Π² ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ). ΠΠ° ΡΠ°Π±ΠΎΡΠ΅ Π²Π΅Π΄Ρ ΡΠΎΠΆΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ»ΡΡΠ°ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ, Π²Π΅ΡΠ½ΠΎ?
π ΠΠ°ΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ β ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΡΡΡΠΈΡ
ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ (ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ), ΡΡΠΎ Π²Ρ ΡΠΌΠ΅Π΅ΡΠ΅. ΠΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ.
π ΠΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΠΈΠ»Ρ ΠΈ Π΄Π΅Π½ΡΠ³ΠΈ Π½Π΅ ΠΎΠΊΡΠΏΡΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π½ΠΈΠΊΠΎΠ³Π΄Π°, Π±ΡΠ΄ΡΡΠ΅ Π³ΠΎΡΠΎΠ²Ρ ΠΊ ΡΡΠΎΠΌΡ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π΅Π·ΡΠΈ Π·Π°Π½ΡΡΡ ΡΠ·ΠΊΡΡ Π½ΠΈΡΡ Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΡΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ³Π΄Π° ΡΠ°Π½ΡΠΎΠ² Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅.
π ΠΠΎΠ³Π΄Π° Π½Π°ΡΠΈΠ½Π°Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, ΡΠΎ ΡΡΠ°ΡΠ°ΡΡΡ ΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ, ΡΡΠΎ ΡΡΠΎ ΡΠΈΡΠ°, ΠΊΠΎΡΠΎΡΡΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠΏΡΠΈΠ½ΡΠ΅.
π Π― ΡΡΡΡΡ. Π ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½, Π΄Π°ΠΆΠ΅ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°Π» Π² ΠΏΠ°ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΡΡΠΎΠ² ΡΠΊΠ΅ΡΡΠ°, Π½ΠΎ Π±Π΅Π·ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ½ΠΎ. ΠΠ»Ρ ΡΠ΅Π³ΠΎ? ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΠΎΠ±ΡΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈ ΠΏΠΎ Π³Π°ΠΉΠ΄Π»Π°ΠΉΠ½Π°ΠΌ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΎΠ²-ΠΊΠΎΠ»Π»Π΅Π³ ΠΈ ΠΈΡ
ΠΌΡΡΠ»ΠΈ, Ρ
ΠΎΡΡ ΡΡΠΎ ΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ.
π ΠΡΠΎ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ. Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΡΠΎΠ±ΡΠΌ ΡΡΠΏΠ΅Ρ
ΠΎΠΌ (ΠΏΡΠΎ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²), Π½ΠΎ ΡΠ°ΠΌ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ³ΡΠ°Π΅Ρ Π² Π½Π΅Π³ΠΎ ΡΠΆΠ΅ 5 Π»Π΅Ρ, ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΈΡΠ΅Ρ ΠΎΡΠ·ΡΠ²Ρ. ΠΡΠΎ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΊΡΡΡΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΡ-ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ. Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, Π½ΠΈΡΠ΅Π²ΡΠΉ Π·Π½Π°ΡΠΎΠΊ ΡΠΊΠ°ΡΠ°Π»ΠΈ ΠΎΠΊΠΎΠ»ΠΎ 40ΠΊ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π·Π° Π²ΡΡ Π²ΡΠ΅ΠΌΡ, ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Π½Π° ΡΠ°Π·Π½ΡΡ
ΡΡΡΠ½ΠΈΡΠ°Ρ
Ρ Π²ΡΡΡΠ΅ΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΡΠΎ Π·Π°Π±Π°Π²Π½ΠΎ π
Π ΡΠ΅Π»ΠΎΠΌ Π±ΡΠ»ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π½ΡΡ
ΡΠΈΡΡΠ°ΡΠΈΠΉ, ΠΈ ΠΏΡΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΎΡΡΡΠΈΠΌΡΡ
ΡΡΠ΅Π΄ΡΡΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ½Π΅ ΡΠ°ΠΊ ΠΈ Π½Π΅ ΠΏΡΠΈΠ½Π΅ΡΠ»ΠΈ, Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Ρ ΠΆΠ°Π»Π΅Ρ ΠΎΠ± ΡΡΠΎΠΌ, Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΡΠΎΠ±ΡΠΉΡΠ΅. ΠΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ Π½Π°ΠΉΡΠΈ Π±Π°Π»Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π»ΠΈΡΠ½ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΡΠ²ΠΎΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΈ ΠΏΠ΅ΡΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΠ·ΠΌΠΎΠΌ.
@iOS Dev7 876
Swift OpenAPI Generator: Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Apple
Swift OpenAPI Generator ΠΎΡ Apple β ΡΡΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ SwiftPM, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ OpenAPI-Π΄ΠΎΠΊ ΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΡ Π»ΠΈΠ±ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ², Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ΄ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠΈΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ².
ΠΡΠΎΠ΅ΠΊΡ Π΅ΡΡ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π½ΠΎ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π΄ΠΎ ΡΠΈΡ
ΠΏΠΎΡ Π½Π΅Ρ Π΄Π°ΠΆΠ΅ Π²Π΅ΡΡΠΈΠΈ 1.0, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠ΅Π½ΡΠΎΡΡ-ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΆΠ΅ ΡΡΠΎΠΏΠ½ΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ²ΠΎΠΈΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Π² ΠΏΠΎΠ»ΡΠ·Ρ ΡΠΏΠ»ΠΎΠ²ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°.
π Π ΡΡΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅ ΠΠ°ΡΠΊΠΎ ΠΠΉΠ΄ΠΈΠ½Π³Π΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π΄Π²ΡΡ
Π²Π°ΠΆΠ½ΡΡ
ΡΡΠ°ΠΏΠΎΠ²: ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ Π»ΠΈΠ±Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΅Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
π Π‘Π°ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° github.
@iOS Dev7 876
ΠΠ°ΡΠΏΠ»Π°ΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΠΎ Π΄Π°Π½Π½ΡΠΌ Π₯Π°Π±Ρ ΠΠ°ΡΡΠ΅ΡΠ°
ΠΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΡΡ
Π΅ΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π°ΠΊΠ°Π½ΡΠΈΠΉ ΠΈ ΠΏΠΎ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
Π‘Π°ΠΌΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β ΠΌΠΈΠ΄Π»Ρ ΠΈ ΡΠ΅Π½ΡΠΎΡΡ, Π΄ΠΎΠ»ΠΈ Π²Π°ΠΊΠ°Π½ΡΠΈΠΉ Π΄Π»Ρ Π½ΠΈΡ
ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ β ΠΏΠΎ 45,2%.
Π Π΅ΠΆΠ΅ ΠΈΡΡΡ Π»ΠΈΠ΄ΠΎΠ² β Π΄ΠΎΠ»Ρ 7,1%. ΠΠ»Ρ Π΄ΠΆΡΠ½ΠΎΠ² Π²Π°ΠΊΠ°Π½ΡΠΈΠΉ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ: 2,5%.
π°ΠΠΎ ΡΠΈΡΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄Ρ, ΡΡΠΎ Π΄ΠΆΡΠ½Ρ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ 110 000 β½, Π° Π»ΠΈΠ΄Ρ β 430 000 β½.
@iOS Dev
