рдПрдкреНрдкрд▓рд▓реЗ рд╕реНрд╡рд┐рдлреНрдЯ 5.3 рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ рд░ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╕реНрд╡рд┐рдлреНрдЯ рдкреНрд░рдгрд╛рд▓реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬрд╛рд░реА рдЧрд░реНрджрдЫ

рд╕реНрдпрд╛рдК рдШреЛрд╖рдгрд╛ рдЧрд░рд┐рдпреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдЦреЛрд▓реНрдиреЗ рдмрд╛рд░реЗ рд╕реНрд╡рд┐рдлреНрдЯ рдкреНрд░рдгрд╛рд▓реА, рдЬрд╕рд▓реЗ рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВ рд░ рдирд┐рдореНрди-рд╕реНрддрд░ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░рд╣рд░реВрдорд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВрдХреЛ рдПрдХ рдореБрд╣рд╛рд╡рд░рд╛ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рд╕реНрд╡рд┐рдлреНрдЯ рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдореВрд▓ рд░реВрдкрдорд╛ рдПрдкреНрдкрд▓ рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рд╕рдорд░реНрдерди рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВ, рддрд░ рдЕрдм рд▓рд┐рдирдХреНрд╕рдорд╛ рдкреЛрд░реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫред рд╕реНрд╡рд┐рдлреНрдЯ рдкреНрд░рдгрд╛рд▓реА рдХреЛрдб рд╕реНрд╡рд┐рдлреНрдЯ рднрд╛рд╖рд╛рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ рд░ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд Apache 2.0 рдЕрдиреНрддрд░реНрдЧрдд рдЗрдЬрд╛рдЬрддрдкрддреНрд░ рдкреНрд░рд╛рдкреНрддред

рд╕реНрд╡рд┐рдлреНрдЯ рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдкреНрд░рдгрд╛рд▓реА рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪрдХреЛ рдПрдХрд▓ рдмрд┐рдиреНрджреБ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ рдЬреБрди рд╕реНрд╡рд┐рдлреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд╣рд░реВрдорд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реА рдлреНрд░реЗрдорд╡рд░реНрдХрд╣рд░реВрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдмрд┐рдирд╛ рд╕рдмреИ рд╕рдорд░реНрдерд┐рдд рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдПрдХреИ рд╕рдордпрдорд╛, рд╕реНрд╡рд┐рдлреНрдЯ рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВрд▓рд╛рдИ рдПрдХрддрд╛рдмрджреНрдз рдЧрд░реНрджреИрди, рддрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕рдорд░реНрдерд┐рдд рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рд▓рд╛рдЧрд┐ API рд╣рд░реВрдХреЛ рдЫреБрдЯреНрдЯреИ рдЙрдкрд╕рдореВрд╣ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рдпрд╕ рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рд╡реНрдпрд╡рд╣рд╛рд░рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрджреИ рд░ рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдордХреЛ рдирд┐рдореНрди-рд╕реНрддрд░рдХреЛ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВрд▓рд╛рдИ рд╕рд╣реА рд░реВрдкрдорд╛ рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рдд рдЧрд░реНрджрдЫред рд╕реНрд╡рд┐рдлреНрдЯ рдкреНрд░рдгрд╛рд▓реА рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдХреНрд░рд╕-рдкреНрд▓реЗрдЯрдлрд░реНрдо рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд╡рд┐рдХрд╛рд╕рд▓рд╛рдИ рд╕рд░рд▓ рдмрдирд╛рдЙрдиреБ рд╣реЛред SwiftNIO ╨╕ рд╕реНрд╡рд┐рдлреНрдЯ рдкреАрдПрдоред рд╕реНрд╡рд┐рдлреНрдЯ рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдирд┐рдореНрди-рд╕реНрддрд░ рдЖрджрд┐рдо рдкрд╣реБрдБрдЪ рдЧрд░реНрджрд╛ "#if os()" рдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╢рд╛рдЦрд╛рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рд▓рд╛рдИ рд╣рдЯрд╛рдЙрдБрджреИрди, рддрд░ рдпрд╕рд▓реЗ рдпреЛ рдХрд╛рдорд▓рд╛рдИ рд╕реБрд░рдХреНрд╖рд┐рдд рд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдмрдирд╛рдЙрдБрдЫред
рд╕рд╣рдЬред

рддрдкрд╛рдИрд▓реЗ рдкрдирд┐ рдиреЛрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдкреНрд░рдХрд╛рд╢рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ рд░рд┐рд▓реАрдЬ рд╕реНрд╡рд┐рдлреНрдЯ 5.3ред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд┐рд░реНрдорд╛рдг рддрдпрд╛рд░ Linux (Ubuntu 16.04/18.04/20.04, CentOS 7/8), macOS (Xcode 12) рд░ Windows 10 рдХреЛ рд▓рд╛рдЧрд┐ред рд╕реНрд░реЛрдд рдкрд╛рдард╣рд░реВ рдлреИрд▓рдиреЗ Apache 2.0 рдЕрдиреНрддрд░реНрдЧрдд рдЗрдЬрд╛рдЬрддрдкрддреНрд░ рдкреНрд░рд╛рдкреНрддред

рдирдпрд╛рдБ рд░рд┐рд▓реАрдЬрд▓реЗ рд╡рд┐рдиреНрдбреЛрдЬ рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд╕рдорд░реНрдерди рдердкреНрдЫ рд░ рд╕реБрд░реБ рднрдпреЛ Windows 10 рдорд╛ рд╕реНрд╡рд┐рдлреНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рд░ рдЪрд▓рд╛рдЙрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рдЖрдкреВрд░реНрддрд┐ред рднрд╛рд╖рд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд░рд┐рд╖реНрдХреГрдд рд╣реБрди рдЬрд╛рд░реА рдЫред рдирдпрд╛рдБ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдорд╛ рд╕реНрдЯреНрд░рд┐рдЩ рдкреНрд░рдХрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдердкреНрди, "рдЬрд╣рд╛рдБ" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдкреНрд░рдпреЛрдЧ, didSet рд╕рд┐рдорд╛рдиреНрдЯрд┐рдХреНрд╕рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ, рдХреНрдпрд╛рдЪ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрдорд╛ рдмрд╣реБрд╡рд┐рдз рдврд╛рдБрдЪрд╛рд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдорд░реНрдерди, рд░ рдПрдХ рдкреНрд░рдХрд╛рд░рдХреЛ рдердк рд╕рдорд╛рд╡реЗрд╢ рд╕рдорд╛рд╡реЗрд╢ рдЫред
рдлреНрд▓реЛрдЯрезрем, рдкрд░рдорд╛рдгреБ рдореЗрдореЛрд░реА рдЕрдкрд░реЗрд╢рдирд╣рд░реВред

рдирддрд┐рдЬрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рдЖрдХрд╛рд░ рдШрдЯрд╛рдЗрдПрдХреЛ рдЫ - рдпрджрд┐ рд╕реНрд╡рд┐рдлреНрдЯ 4 рдорд╛ рдПрд╕реЗрдореНрдмрд▓ рдЧрд░рд┐рдПрдХреЛ рдХрд╛рд░реНрдпрдХреНрд░рдордХреЛ рдЖрдХрд╛рд░ рдЙрджреНрджреЗрд╢реНрдп-рд╕реА рдорд╛ рд╕рдВрд╕реНрдХрд░рдг рднрдиреНрджрд╛ 2.3 рдЧреБрдгрд╛ рдареВрд▓реЛ рдерд┐рдпреЛ, рдЕрдм рдЕрдиреНрддрд░ 1.5 рдкрдЯрдХ рдШрдЯрд╛рдЗрдПрдХреЛ рдЫред рдирдпрд╛рдБ рд╡рд┐рдореЛрдЪрдирд▓реЗ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдмрд╛рдЯ рдЖрдпрд╛рдд рдЧрд░рд┐рдПрдХрд╛ рдЧреБрдгрд╣рд░реВ рд░ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рдХреЛ рд╕рд╛рде рд╡реГрджреНрдзрд┐рд╢реАрд▓ рднрд╡рди рд░ рднрд╡рди рдХреЛрдбрд▓рд╛рдИ рдкрдирд┐ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдкрдорд╛ рдЧрддрд┐ рджрд┐рдиреНрдЫред рдХрдореНрдкрд╛рдЗрд▓рд░рдорд╛ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рдЙрдкрдХрд░рдгрд╣рд░реВ рд░ рддреНрд░реБрдЯрд┐ рд╕рдиреНрджреЗрд╢рд╣рд░реВрдХреЛ рдЧреБрдгрд╕реНрддрд░ рд╕реБрдзрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫред рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдмрдиреНрдзрдХрд▓реЗ рд░рдирдЯрд╛рдЗрдордорд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрд░реЛрддрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рдЬрд╕реНрддреИ рдЫрд╡рд┐рд╣рд░реВ, рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрдорд╛ред рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдмрдиреНрдзрдХрд▓реЗ рд╕реНрдерд╛рдиреАрдпрдХрд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рд░ рд╕рд╢рд░реНрдд рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдкрдирд┐ рдердкреНрдЫред

рд╕рдореНрдЭрдиреБрд╣реЛрд╕реН рдХрд┐ рд╕реНрд╡рд┐рдлреНрдЯ рднрд╛рд╖рд╛рд▓реЗ C рд░ Objective-C рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рдЙрддреНрдХреГрд╖реНрдЯ рддрддреНрд╡рд╣рд░реВ рдЗрдирд╣реЗрд░рд┐рдЯ рдЧрд░реНрдЫ, рд░ Objective-C рд╕рдБрдЧ рдорд┐рд▓реНрджреЛ рд╡рд╕реНрддреБ рдореЛрдбреЗрд▓ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ (рд╕реНрд╡рд┐рдлреНрдЯ рдХреЛрдб C рд░ Objective-C рдХреЛрдбрд╕рдБрдЧ рдорд┐рд▓рд╛рдЙрди рд╕рдХрд┐рдиреНрдЫ), рддрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░рдпреЛрдЧрдорд╛ рдлрд░рдХ рдЫред рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рд░ рдЪрд░ рд░ рдПрд░реЗрд╣рд░реВрдХреЛ рдирд┐рдпрдиреНрддреНрд░рдг рдУрднрд░рдлреНрд▓реЛ, рдЬрд╕рд▓реЗ рдХреЛрдбрдХреЛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рд░ рд╕реБрд░рдХреНрд╖рд╛рд▓рд╛рдИ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд░реВрдкрдорд╛ рдмрдврд╛рдЙрдБрдЫред рд╕реНрд╡рд┐рдлреНрдЯрд▓реЗ рдзреЗрд░реИ рдЖрдзреБрдирд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВ рдкрдирд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рдЬрд╕реНрддреИ рдХреНрд▓реЛрдЬрд░рд╣рд░реВ, рдЬреЗрдиреЗрд░рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ, рд▓реНрдпрд╛рдореНрдмрдбрд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдирд╣рд░реВ, рдЯрдкрд▓реНрд╕ рд░ рд╢рдмреНрджрдХреЛрд╢ рдкреНрд░рдХрд╛рд░рд╣рд░реВ, рджреНрд░реБрдд рд╕рдЩреНрдХрд▓рди рд╕рдЮреНрдЪрд╛рд▓рдирд╣рд░реВ, рд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩрдХрд╛ рддрддреНрд╡рд╣рд░реВред рд▓рд┐рдирдХреНрд╕ рд╕рдВрд╕реНрдХрд░рдг рд╡рд╕реНрддреБ-рд╕реА рд░рдирдЯрд╛рдЗрдордорд╛ рдмрд╛рдБрдзрд┐рдПрдХреЛ рдЫреИрди, рдЬрд╕рд▓реЗ рднрд╛рд╖рд╛рд▓рд╛рдИ рдЙрджреНрджреЗрд╢реНрдп-рд╕реА рд╕рдорд░реНрдерди рдирднрдПрдХреЛ рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рд╕реНрд╡рд┐рдлреНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд┐:рд╢реБрд▓реНрдХ LLVM рдкрд░рд┐рдпреЛрдЬрдирд╛рдмрд╛рдЯ рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдирд┐рд░реНрдорд╛рдг рдЧрд░рд┐рдПрдХреЛ рд╣реЛред рдЙрдЪреНрдЪ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди, рд╕реНрд╡рд┐рдлреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд╣рд░реВ рдиреЗрдЯрд┐рдн рдХреЛрдбрдорд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН рдЬреБрди Apple рдкрд░реАрдХреНрд╖рдгрд╣рд░реВрдорд╛ Objective-C рдХреЛрдб рднрдиреНрджрд╛ 30% рдЫрд┐рдЯреЛ рдЪрд▓реНрдЫред рдлреЛрд╣реЛрд░ рд╕рдВрдХрд▓рдирдХрд░реНрддрд╛рдХреЛ рд╕рдЯреНрдЯрд╛, рд╕реНрд╡рд┐рдлреНрдЯрд▓реЗ рд╡рд╕реНрддреБ рд╕рдиреНрджрд░реНрдн рдЧрдгрдирд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред рдкреНрдпрд╛рдХреЗрдЬрдорд╛ рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдмрдиреНрдзрдХ рд╕рдорд╛рд╡реЗрд╢ рдЫ рд╕реНрд╡рд┐рдлреНрдЯ рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдмрдиреНрдзрдХ, рдЬрд╕рд▓реЗ рд╕реНрд╡рд┐рдлреНрдЯ рднрд╛рд╖рд╛рдорд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрд╕рдБрдЧ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рд░ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рд╡рд┐рддрд░рдг рдЧрд░реНрди, рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрдиреЗ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд▓реЛрдбрд┐рдЩ, рдирд┐рд░реНрдорд╛рдг рд░ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рд▓рд┐рдЩреНрдХ рдЧрд░реНрдиреЗ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди