Flutter: рдкреНрд▓рдЧрдЗрди рдврд╛рдВрдЪреЗ рдореЗрдВ рд╕реА/рд╕реА++ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдирд╡ре░ 2016  ┬╖  174рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: flutter/flutter

рд╕реА/рд╕реА ++ рдХреЛрдб рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдлрд╝реНрд▓рдЯрд░ рдРрдк рдХреЗ рд╕рд╛рде рдореВрд▓ рдХреЛрдб рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдпрд╣ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдПрдХ рдЧреНрд░реИрдбрд▓ рдкреНрд░рд╢реНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЧреНрд░реИрдбрд▓ рдХрд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ), рдЗрд╕реЗ рдХреИрд╕реЗ рдЦреАрдВрдЪрдирд╛ рд╣реИред


рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЯрд┐рдкреНрдкрдгреА: рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ https://github.com/dart-lang/sdk/issues/34452 рджреЗрдЦреЗрдВ

dart engine framework platform-android plugin new feature

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рдордиреЗ рдЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдХреБрдЫ Google рдРрдкреНрд╕ рд╕реЗ рд╕реБрдирд╛ рд╣реИ:

  • рдРрд╕реЗ рд╣реА рдПрдХ рдРрдк рдиреЗ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрдорд░реЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА C++ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦреАред рдпреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдордВрдЪ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВ рдФрд░ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИрдВред рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдиреНрдпреВрдирддрдо рд╕рдВрднрд╡ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдРрд╕реЗ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЙрдиреНрд╣реЗрдВ PlatformChannel + JNI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рд╕реЗ Android рдкрд░ рд╡рд╣ рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

  • рд╡рд╣рд╛рдБ рдЙрдиреНрдирдд рдореЛрдмрд╛рдЗрд▓ рдЯреАрдореЗрдВ рд╣реИрдВ рдЬреЛ рдЕрдкрдиреЗ Android рдФрд░ iOS рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмреАрдЪ рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП C++ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдШрдЯрдХреЛрдВ рдХреЛ рд▓рд┐рдЦрддреА рд╣реИрдВред рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рдПрдХреАрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕реНрдкрдВрджрди рд╡рд╣рд╛рдВ рд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдврд╛рдВрдЪрд╛ рд╣реЛрдиреЗ рдХреА рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдФрд░ рдордЬрдмреВрдд рдХрд░реЗрдЧрд╛ред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ _рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП_. рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдПрдХ рдРрд╕рд╛ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд╣рд╛рдБ Flutter рдЦреБрдж рдХреЛ рдЕрдиреНрдп рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдорд╛рдзрд╛рдиреЛрдВ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╕рднреА 174 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@ рдЬреЗрд╕рди-рд╕реАрдордиреНрд╕ рдЧреНрд░реИрдбрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ .so рд╣реЛ рдЬрд╛рдиреЗ рдкрд░, рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдмрд┐рд▓реНрдбрдПрд╕рдЖрд░рд╕реА рдХреЗ рддрд╣рдд рдЧреНрд░реЗрдбреЗрд▓ рдмрд┐рд▓реНрдб рд╕рдВрд╕реНрдХрд░рдг рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╕рдВрдкрддреНрддрд┐ рд╣реИред 2.2.2 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдкреНрд░рдЧрддрд┐ рдХреА рд╣реИ, рдФрд░ .so рд▓реЛрдб рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рдФрд░ рдЬрд╛рд╡рд╛ рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рд╕рдВрднрд╡рддрдГ рд╣рдореЗрдВ рдбрд╛рд░реНрдЯ рдХреЛ C/C++ рдХреЛрдб рд╕реЗ HostMessages рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ C API рднреА рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред

рдЬреА рдмреЛрд▓рд┐рдпреЗред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рд╕реА-> рдЬрд╛рд╡рд╛ рдХреЙрд▓рдмреИрдХ рд╕рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕ рдкрд░ рдХрд┐рд╕реА рднреА рдЕрджреНрдпрддрди? рдПрдХ рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рд╕реА ++ рдХреЛрдб рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдРрдк рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕реНрдкрдВрджрди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдФрд░ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдкреНрд░рдореБрдЦ рд░реЛрдХ рдмрд┐рдВрджреБ рд╣реИред

рдпрд╣ рдЖрдЬ рд╕рдВрднрд╡ рд╣реИ (рдФрд░ @jtrunick рдиреЗ рдЕрдкрдиреЗ рд╢рд┐рдкрд┐рдВрдЧ рдРрдк рдореЗрдВ рдРрд╕рд╛ рдХрд┐рдпрд╛ рдерд╛), рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЬрд╛рд╡рд╛ рдпрд╛ рдУрдмреНрдЬ-рд╕реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рдЙрдВрд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдпрд╛рдиреА рдЖрдк рдбрд╛рд░реНрдЯ рд╕реЗ рдУрдмреНрдЬ-рд╕реА/рдЬрд╛рд╡рд╛ рдкрд░ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП https://flutter.io/platform-channels/ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдУрдмреНрдЬ-рд╕реА/рдЬрд╛рд╡рд╛ рдХреЙрд▓ рд╕реЗ рдЕрдкрдиреЗ рд╕реА++ рдХреЛрдб рдореЗрдВ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдмрдЧ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдУрдмреНрдЬреЗ-рд╕реА/рдЬрд╛рд╡рд╛ рдкрд╛рд╕рдереНрд░реВ рд╕реЗ рдмрдЪрдиреЗ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЪреВрдВрдХрд┐ рдбрд╛рд░реНрдЯ рд╡реАрдПрдо рд╕реА ++ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпрд╛ рд╕реА рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕реАрдзреЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди (рдпрджрд┐ рдХрдо рд╕реБрд░рдХреНрд╖рд┐рдд) рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (dlopen рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╣реЗрдВ)? рдмреБрдирд┐рдпрд╛рджреА (рдЕрд╕реБрд░рдХреНрд╖рд┐рдд/рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ) рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА?

рдХреНрдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ: https://www.dartlang.org/articles/dart-vm/native-extensions android рдпрд╛ ios рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ?

рд╣рдордиреЗ рдЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдХреБрдЫ Google рдРрдкреНрд╕ рд╕реЗ рд╕реБрдирд╛ рд╣реИ:

  • рдРрд╕реЗ рд╣реА рдПрдХ рдРрдк рдиреЗ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрдорд░реЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА C++ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦреАред рдпреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдордВрдЪ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВ рдФрд░ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИрдВред рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдиреНрдпреВрдирддрдо рд╕рдВрднрд╡ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдРрд╕реЗ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЙрдиреНрд╣реЗрдВ PlatformChannel + JNI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рд╕реЗ Android рдкрд░ рд╡рд╣ рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

  • рд╡рд╣рд╛рдБ рдЙрдиреНрдирдд рдореЛрдмрд╛рдЗрд▓ рдЯреАрдореЗрдВ рд╣реИрдВ рдЬреЛ рдЕрдкрдиреЗ Android рдФрд░ iOS рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмреАрдЪ рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП C++ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдШрдЯрдХреЛрдВ рдХреЛ рд▓рд┐рдЦрддреА рд╣реИрдВред рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рдПрдХреАрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕реНрдкрдВрджрди рд╡рд╣рд╛рдВ рд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдврд╛рдВрдЪрд╛ рд╣реЛрдиреЗ рдХреА рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдФрд░ рдордЬрдмреВрдд рдХрд░реЗрдЧрд╛ред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ _рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП_. рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдПрдХ рдРрд╕рд╛ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд╣рд╛рдБ Flutter рдЦреБрдж рдХреЛ рдЕрдиреНрдп рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдорд╛рдзрд╛рдиреЛрдВ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдРрд╕реЗ рд╣реА рдПрдХ рдРрдк рдиреЗ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрдорд░реЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА C++ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦреАред [...] рдЙрдиреНрд╣реЗрдВ PlatformChannel + JNI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рд╕реЗ Android рдкрд░ рд╡рд╣ рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рд╕реА ++ рд╕реЗ рдЬрд╛рд╡рд╛ рдФрд░ рдкреАрдЫреЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдЙрдирдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рдерд╛?

рдпрджрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рд╣рдо рдореЛрдмрд╛рдЗрд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдбрд╛рд░реНрдЯ рдиреЗрдЯрд┐рд╡ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдЕрднреА, рд╣рдо dart_api.h рдореЗрдВ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд╕реНрд╡рд┐рдЪ рдХреЛ рдлрд╝реНрд▓рд┐рдк рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ рд╣реЛрдЧрд╛:

  • рдкрддрд╛ рд▓рдЧрд╛рдПрдБ рдХрд┐ рдПрдУрдЯреА рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдбрд╛рд░реНрдЯ рдХреЛрдб рд╕реЗ рдХреИрд╕реЗ рдЕрд╡рдЧрдд рдХрд░рд╛рдпрд╛ рдЬрд╛рдП, рдЬрд┐рд╕рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдПрдХ рдРрд╕реА рд╡рд┐рдзрд┐ рд╕реЗ рд╣реИ рдЬреЛ рдореБрдЦреНрдп рдлрд╝реНрд▓рдЯрд░ рдЗрдВрдЬрди рдбрд╛рдпрдиреЗрдорд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рдЯреНрд░реА рд╢реЗрдХрд┐рдВрдЧ рдкрд╛рд╕ рдХреЛрдб рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рджреЗрд╢реА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдкрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдкреНрд░рджрд╛рди рдХрд░реЗрдВ (рдХреНрд░рдорд╢рдГ рдПрдВрдбреНрд░реЙрдЗрдб рдФрд░ рдЖрдИрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдЧреНрд░реЗрдбрд▓ рдФрд░ рдПрдХреНрд╕рдХреЛрдб)ред
  • dart_api.h рдореЗрдВ рд░реВрдЯреАрди рдХреЗ рд▓рд┐рдП рдХреБрдЫ ABI рд╕реНрдерд┐рд░рддрд╛ рдЧрд╛рд░рдВрдЯреА рдкреНрд░рджрд╛рди рдХрд░реЗрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕реНрдерд┐рд░ рд╣реИ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдЕрдм рддрдХ, рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЪреИрдирд▓ рддрдВрддреНрд░ рд╕рд░рд▓ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рд╕реА ++ рд╕реЗ рдЬрд╛рд╡рд╛ рдФрд░ рдкреАрдЫреЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдЙрдирдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рдерд╛?

рдореИрдВрдиреЗ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рднреА рдмрд┐рдЯреНрд╕ рд▓рд┐рдЦреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реА ++ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╡рд┐рд▓рдВрдмрддрд╛ рд╕рдВрдЪрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореИрдВ рдкреВрдЫреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╡реЗ рдкреНрд░рджрд░реНрд╢рди-рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЬреЗрдПрдирдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рдореЗрд░реА рдЖрдВрдд рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рд╣реИ)ред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕реНрдкрдВрджрди рдкрдХреНрд╖ рдкрд░ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд░ рд╣рдо рдПрдХ рдЗрдВрдЯрд░рдСрдк рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЬреЗрдПрдирдЖрдИ рд╕реЗ рдХрд╛рдлреА рддреЗрдЬ рд╣реИ, рддреЛ рдпрд╣ рдЗрди рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдЬреАрдд рд╣реЛрдЧреАред рд╡реЗ рдЕрдкрдиреЗ рд╕реА ++ рдХреЛрдбрдмреЗрд╕ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдРрдк рдХреА рддрд░рдл рдЕрдзрд┐рдХ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд░ рд╣рдорд╛рд░рд╛ рдЗрдВрдЯрд░рдСрдк рдкреНрд░рджрд░реНрд╢рди рдЬреЗрдПрдирдЖрдИ рд╕реЗ рддреБрд▓рдиреАрдп рд╣реИ рддреЛ рдореБрдЭреЗ рдпрд╣рд╛рдВ рдмрдбрд╝реА рдЬреАрдд рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИред рд╡реЗ рд╕рдВрднрд╡рдд: рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╡реЗ рдЕрднреА рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ PlatformChannel рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдРрд╕реА рдЯреАрдореЛрдВ рдХреЛ рдлрд╝реНрд▓рдЯрд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░рдг рджреЗрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрд╡рд░реЛрдзрдХ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рддрджрдиреБрд╕рд╛рд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВред

рдЕрдЧрд░ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреНрдпрд╛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕рдорд╛рдзрд╛рди рдЬрд╛рд╡рд╛ рдореЗрдВ рдиреНрдпреВрдирддрдо рддрд░реНрдХ рдХреЗ рд╕рд╛рде рд╕реА ++ рдореЗрдВ рд╕рднреА рддрд░реНрдХ (рдХреИрдорд░рд╛ + рдпреВрдЖрдИ) рд╣реИрдВ, рдФрд░ рдЗрдЪреНрдЫрд╛ рдЗрд╕ рддрд░реНрдХ рдХреЗ рдпреВрдЖрдИ рднрд╛рдЧ рдХреЛ рдбрд╛рд░реНрдЯ рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рд╣реИ, рдХрдо рд╡рд┐рд▓рдВрдмрддрд╛ рд╡рд╛рд▓реЗ UI<->рдХреИрдорд░рд╛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдХреЛ рдЦреЛрдП рдмрд┐рдирд╛ред

рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХреА рдереНрд░реЗрдбрд┐рдВрдЧ рд╕реНрдерд┐рддрд┐ рдХреИрд╕реА рд╣реИ? рдХреНрдпрд╛ рдЙрдирдХреЗ рдкрд╛рд╕ рдХреИрдорд░рд╛+рдпреВрдЖрдИ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдзрд╛рдЧрд╛ рд╣реИ?

@chinmaygarde рд╣рдореЗрдВ

+1

рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдкреНрд░рдЧрддрд┐?

рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рддрд░реНрдХ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП djinni рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░

рдпрджрд┐ рдбрд╛рд░реНрдЯ рд╕реА/рд╕реА++ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЛрдмрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯрди рджреЗрд╢реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдФрд░ рдЬреЗрдПрдирдЖрдИ рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡ рд╕реА ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдмрд╛рдзреНрдпрдХрд╛рд░реА рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдиреЗ https://github.com/mono/CppSharp рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ

C++ рдЖрдзрд╛рд░рд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдЬреИрд╕реЗ Realm рдХреЛ рд╕реАрдзреЗ C++ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рдорд┐рд▓реЗрдЧрд╛ :-) JNI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдКрдкрд░/рдиреАрдЪреЗ рдЬрд╛рдирд╛ рдЗрд╕ рддрд░рд╣ рдХреА рдмрд░реНрдмрд╛рджреА рд╣реЛрдЧреАред

рдореИрдВ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрди (рд╢рд╛рдпрдж рдУрдкрдирд╕реАрд╡реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░) рдПрдЖрд░ рдРрдк рдХреЗ рд▓рд┐рдП рд╕реНрдкрдВрджрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдПрдХ рдХреБрд╢рд▓ рдФрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рдбрд╛рд░реНрдЯ-рд╕реА ++ рдЗрдВрдЯрд░рдСрдк рдПрдХ рдкреНрд░рдореБрдЦ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдмрд┐рдВрджреБ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧрдгрдирд╛ рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рдЪреБрдиреМрддреАрдкреВрд░реНрдг рдРрдкреНрд╕ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рдЕрдиреНрдп рд▓реЛрдЧ рдЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк рдХреЛрдИ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕реА ++ рдЗрдВрдЯрд░рдСрдк рдЕрднреА рднреА рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рд╕рдВрдХреБрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

@tofutim Direct c/c++ рдЗрдВрдЯрд░рдСрдк рдЕрднреА рднреА рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореБрджреНрджрд╛ рдЕрднреА рднреА рдЦреБрд▓рд╛ рдХреНрдпреЛрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЪреИрдирд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЕрдкрдиреЗ C++ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Obj-C/Java рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдордп рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдм рдХреБрдЫ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдХреЛрдИ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕реА ++ рдЗрдВрдЯрд░рдСрдк рдЕрднреА рднреА рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рд╕рдВрдХреБрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдСрдкрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЪреИрдирд▓ рддрдВрддреНрд░ рдЕрднреА рднреА рд╡рд░реНрддрдорд╛рди рдЕрдиреБрд╢рдВрд╕рд╛ рд╣реИред

рдореВрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдПрдХ рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рдирдХрд╛рд░реА рддрдВрддреНрд░ рдХреЛ рддреБрдЪреНрдЫ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ dart_api.h рд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдП рдЧрдП рдкреНрд░рддреАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдПрдмреАрдЖрдИ рд╕реНрдерд┐рд░рддрд╛ рдЧрд╛рд░рдВрдЯреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ @a- siva рдФрд░ рдЯреЙрдирд┐рдХ рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдореЗрд░реА рд╕рдордЭ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдмрдЧ рдПрдХ рд╕реА-рдПрдкреАрдЖрдИ рдФрд░ рдЯреВрд▓рд┐рдВрдЧ рд╣реБрдХ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рддрд╛рдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реА/рд╕реА ++ рдкреНрд▓рдЧрдЗрди рд╣реЛрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХреЗ (рдХреЛрдИ рдУрдмреНрдЬреЗ-рд╕реА/рдЬрд╛рд╡рд╛ рд╢рд┐рдорд┐рдВрдЧ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо_рдЪреИрдирд▓реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрд╕рд┐рдВрдХреНрд╕)ред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕ рд╕рдордп рджреЗрд╢реА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЬреИрд╕реЗ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╡рд┐рдзрд┐рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред (рд▓реЗрдХрд┐рди рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдореИрдВ рдЗрд╕реЗ @Hixie рдпрд╛ @cbraken рдХреЗ рд▓рд┐рдП

@eseidel

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕ рд╕рдордп рджреЗрд╢реА рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЬреИрд╕реЗ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╡рд┐рдзрд┐рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИ?

C рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рд╡рд░реНрддрдорд╛рди рддрд░реАрдХрд╛ рд╣реИ Dart -> Java -> C
рд╣рдо рдЬреЗрдПрдирдЖрдИ рдХреЛ рджреЛ рдмрд╛рд░ рдкрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рд╣реИ рдирд╛?
рдкрд╣рд▓реА рдмрд╛рд░: dart рд╕реЗ Java рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЪреИрдирд▓реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ (рд╣реБрдб рдЬреЗрдПрдирдЖрдИ рдХреЙрд▓ рдХреЗ рддрд╣рдд рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛, рд╣реИ рдирд╛?)
рджреВрд╕рд░реА рдмрд╛рд░: Java -> C рдЬреЗрдПрдирдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╕реНрдерд┐рд░рддрд╛ рдЧрд╛рд░рдВрдЯреА рдХреЗ рдмрд┐рдирд╛ рднреА dart_api.h рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдирд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд░реВрдк рдореЗрдВ) рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдореЗрд░реА рдореБрдЦреНрдп рдЪрд┐рдВрддрд╛ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ (рдЫрд╡рд┐рдпреЛрдВ) рдХреЗ рдмрдбрд╝реЗ рдмреВрдБрдж рдХреЛ рдбрд╛рд░реНрдЯ рдХреА рдУрд░ рд╕реЗ C рдУрд░ рд▓реЗ рдЬрд╛рдирд╛ рд╣реИ рдФрд░ рдмрд┐рдирд╛ рдорд╛рд░реНрд╢рд▓рд┐рдВрдЧ рдФрд░ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдХреЙрдкреА рдХрд░рдирд╛ рд╣реИред рдПрдХрддрд╛/рдореЛрдиреЛ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ ред

рдбрд╛рд░реНрдЯ-рдПрд╕рдбреАрдХреЗ рдЕрдВрдХ 31960 рд╕реЗ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдЗрд╕реЛрд▓реЗрдЯреНрд╕ рдХрд╛ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЙрдкреА рдХрд┐рдП рдмрд┐рдирд╛ рдбреЗрдЯрд╛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдЗрд╕реЛрд▓реЗрдЯ рдП рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреА рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рдХреЙрдкреА рдХрд┐рдП рдмрд┐рдирд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ.. рдЙрд╕ рдореЛрд░реНрдЪреЗ рдкрд░ рдХреЛрдИ рдпреЛрдЬрдирд╛?), рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЖрдЗрд╕реЛрд▓реЗрдЯ рдореЗрдВ C рд╕реЗ/рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд╛рд░реНрд╢рд▓рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ рддреЛ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдлреНрд▓реИрдЯрдмрдлрд╝рд░реНрд╕ рдХреЗ рд╕рд╛рде рдорд╛рд░реНрд╢рд▓рд┐рдВрдЧ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЬрд▓реНрдж рд╣реА рдЙрддрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ: https://github.com/google/flatbuffers/pull/4676
рдпрд╛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рдЗрдЯ рдлрд╝реАрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрдЯреЛрдмрдлрд╝ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рдеред

рдмреЗрд╢рдХ, рдЗрд╕рдореЗрдВ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдмрд╛рдЗрдЯ рдХреЙрдкреА рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рднреА рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдпрд╣рд╛рдБ рдкреНрд░рд╕реНрддреБрдд рдХрдо рд╕реЗ рдХрдо рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЗрдЪреНрдЫрд╛рдПрдБ рд╕реБрди рд░рд╣рд╛ рд╣реВрдБ:

  1. рдЬрд╛рд╡рд╛/рдУрдмреАрдЬреЗ-рд╕реА рдЧреЛрдВрдж рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдХреЗрд╡рд▓ рд╕реА/рд╕реА ++ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдкрдВрджрди рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рдкреНрд▓рдЧрдЗрди рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдпрд╣ рдЗрд╕ рдмрдЧ рдХреА рдореЗрд░реА рдореВрд▓ рд╕рдордЭ рдереА рдФрд░ рдХреБрдЫ рдореБрдЭреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ/рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП) .
  2. рдбрд╛рд░реНрдЯ рдХреЗ рдЕрдВрджрд░/рдмрд╛рд╣рд░ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдЬрд▓реНрджреА/рдХрдо рд╡рд┐рд▓рдВрдмрддрд╛/рдЖрджрд┐ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред (рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╕реА ++ рд╕рд╣рд┐рдд рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рд╕реЗред рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╡реИрдз рдорд╛рдорд▓рд╛ рд▓рдЧрддрд╛ рд╣реИ! рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕рд╣рд┐рдд рдПрдХ рдЕрд▓рдЧ рдмрдЧ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВред)
  3. рдбрд╛рд░реНрдЯ рдХреЛ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЙрд▓/рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореВрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдпрд╛ рдЕрдиреНрдп рддрд░реАрдХреЗ? рдпрд╣ рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдПрдкреАрдЖрдИ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╕рдВрднрд╛рд╡рд┐рдд рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред)

рдЙрдкрд░реЛрдХреНрдд рдкрдврд╝рдиреЗ рд╕реЗ рдореЗрд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрдЧреЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реА ++ рдЗрдВрдЯрд░-рдСрдк рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреБрдЫ рдирд┐рд╡реЗрд╢ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд▓рдВрдмреЗ рдзрд╛рдЧреЗ рд╕реЗ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХрд┐рд╕ рд╕рдЯреАрдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ?

рдХреНрдпрд╛ рдЗрдЪреНрдЫреБрдХ рдкрдХреНрд╖ рдЕрдкрдиреЗ рд╡рд╛рдВрдЫрд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд╕рд╛рде рдирдИ рдмрдЧ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ/рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рд╡рд╛рдкрд╕ рд▓рд┐рдВрдХ рдХрд░реЗрдВрдЧреЗ? рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реНрдерд╛рди рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реБрдЪрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рдХрд░ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИред

рдкреНрд░рджрд░реНрд╢рди рдФрд░ 2. рдКрдкрд░ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ: рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдлрд╝реНрд▓рдЯрд░ рдХреЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо_рдЪреИрдирд▓ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдФрд░ рд╣рдореЗрдВ рд╕рднреА рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдкреНрд▓рдЧрдЗрди/рдЗрдВрдЯрд░-рдСрдк рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА), рд╣рдо рдХреБрдЫ рдареЛрд╕ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдорд╛рдорд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рд╢рд╛рдпрдж рд╡реЗ рдореМрдЬреВрдж рд╣реИрдВ рдФрд░ рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ?) рдЬрд╣рд╛рдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдлрд╝реНрд▓рдЯрд░ рдХреЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо_рдЪреИрдирд▓реНрд╕ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдПрдХ рдЕрдбрд╝рдЪрди рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдЕрдиреБрднрд╡ рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реА рдЖрдВрдд рдХреА рдкреНрд░рд╡реГрддреНрддрд┐ рдЕрдХреНрд╕рд░ рдЧрд▓рдд рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬреЗрдПрдирдЖрдИ рдпрд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо_рдЪреИрдирд▓ рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдмрд╛рдзрд╛рдУрдВ рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд░рддреА рд╣реИрдВ, рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддрдм рддрдХ рдирд╣реАрдВ рдЬрд╛рди рдкрд╛рдПрдВрдЧреЗ рдЬрдм рддрдХ рд╣рдо рдорд╛рдк рдирд╣реАрдВ рд▓реЗрддреЗред

рдЖрдкрдХреА рдорджрдж рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж!

рдЬрд╛рд╡рд╛/рдУрдмреАрдЬреЗ-рд╕реА рдЧреЛрдВрдж рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдХреЗрд╡рд▓ рд╕реА/рд╕реА ++ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдкрдВрджрди рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рдкреНрд▓рдЧрдЗрди рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдпрд╣ рдЗрд╕ рдмрдЧ рдХреА рдореЗрд░реА рдореВрд▓ рд╕рдордЭ рдереА рдФрд░ рдХреБрдЫ рдореБрдЭреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ/рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП) .

рдпрд╣ рд╕реНрдкрдВрджрди рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╕реНрдХреНрд▓рд╛рдЗрдЯ рдПрдХреАрдХрд░рдг рднреА рджреЗрдЧрд╛ + рдХреНрд░рд┐рдкреНрдЯреЛ, рдПрд╕рдПрд╕рдПрдЪ рдФрд░ рдЕрдиреНрдп рд╕рд╛рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реА рд╕реА/рд░рд╕реНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВред рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

@eseidel

рдореИрдВ рдкреНрд░рд╕реНрддреБрдд рдХрдо рд╕реЗ рдХрдо рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЗрдЪреНрдЫрд╛рдУрдВ рдХреЛ рд╕реБрди рд░рд╣рд╛ рд╣реВрдБ

рдореЗрд░рд╛ рд╡реЛрдЯ 1.)

рд╕реНрдкрдВрджрди рдбреЙрдХреНрд╕ рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЪреИрдирд▓реЛрдВ рдХреЛ рд╕реА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдирд╛ рдХрд╛рдлреА "рд╕рд░рд▓" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдПрдХрдорд╛рддреНрд░ рдЙрдкрдиреНрдпрд╛рд╕ рдЪреАрдЬ рд╢рд╛рдпрдж рд╡рд░реНрддрдорд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ _рдбрд╛рдпрдирд╛рдорд┐рдХ рд╕рд╛рдЭрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ_ (рдУрдВ) рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред

рдореИрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП _Android-C_-рдЙрдкрдпреЛрдЧ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реВрдВрдЧрд╛:

#include <ndk-version.h>
#include "methodchannel.h"
#include "methodchannels.h"

MethodChannel* flutter_channels;

__attribute__((constructor))
void
on_library_load() {
    flutter_channels = NULL;
}

__attribute__((destructor))
void
on_library_unload() {
    while (MethodChannel* channel = MethodChannels_pop(flutter_channels)) {
        MethodChannel_delete(channel);
    }
}

#define str(a) #a

void
{{pluginClass}}_on_method_call(MethodCall* call, Result* result) {
    if (strcmp("getPlatformVersion", call.method) == 0) {
        Result_success(result, "Android " str(__NDK_BUILD__));
    } else {
        Result_not_implemented();
    }
}

void
{{pluginClass}}_register_with(Registrar* registrar) {
    MethodChannel* channel = MethodChannel_new(Registrar_messenger(registrar), "{{projectName}}");
    flutter_channels = MethodChannels_push(flutter_channels, channel);
    MethodChannel_set_call_handler({{pluginClass}}_on_method_call)
}

рд╕рдВрдХрд▓реНрдкрдирд╛рддреНрдордХ рд░реВрдк рд╕реЗ, рдХрдо рд╕реЗ рдХрдо _рдПрдВрдбреНрд░реЙрдЗрдб-рд╕реА_ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рддрдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЬрд╛рд╡рд╛ рдФрд░ рд╕реА рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИред

@eseidelGoogle
рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЬрд╛рд╡рд╛ рдФрд░ рд╕реНрд╡рд┐рдлреНрдЯ рд░реИрдкрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреЛрд▓рд╛рдВрдЧ рдХреЛрдб рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рд▓рдВрдмрддрд╛ рдПрдХ рд╕рд░рд╛рд╣рдиреАрдп рдореБрджреНрджрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдорд╛рд░ рд░рд╣реЗ рд╣реИрдВред
рдХреНрдпреЛрдВ ?

  • рд╣рдореЗрдВ рдХрдИ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рдмреАрдЪ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  • рд╕реНрдХреНрд░реАрди рд╢реЗрдпрд░рд┐рдВрдЧ рдЬреИрд╕реА рд╡реАрдбрд┐рдпреЛ рдФрд░ рдЫрд╡рд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдПред
  • рдбреАрдмреА рдХреЗ рд▓рд┐рдП

рдпрджрд┐ рдЖрдк рд╕реАрдзреЗ рд╕реНрддрд░ рдкрд░ рдЧреЛрд▓рдВрдЧ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ рдЬреЛ рдЧрд▓реЗ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдЕрдВрддрд░ рд▓рд╛рдПрдЧрд╛!
рдореЛрдмрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЧреЛрд▓рдВрдЧ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рднреА рдмрд┐рдирд╛ рдХрд┐рд╕реА рдПрд▓рдбреАрдПрдлрдПрд▓реИрдЧреНрд╕ рдЬрд╛рджреВ рдХреЗ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛрдЧрд╛ред рдореИрдВ рдХреБрдЫ рдЕрдиреНрдп рдЧреЛрд▓рдВрдЧ рдХреЛрдбрд░реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реВрдВ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореЗрдердб рдЪреИрдирд▓реНрд╕ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЬрд╣рд╛рдБ рддрдХ рдХреНрд░рдорд╛рдВрдХрди рдХреА рдмрд╛рдд рд╣реИ, рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреНрд░реЛрдЯреЛрдмрдлрд╝реНрд╕ рдФрд░ рдлрд╝реНрд▓реИрдЯрдмрдлрд╝рд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг:
https://github.com/dnfield/flatbuffers/blob/master/samples/sample_binary.go

рдлреБрдХрд┐рдпрд╛ рдореЗрдВ рдпрд╣ FIDL рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ c, рд░рд╕реНрдЯ рдФрд░ рдЧреЛрд▓рдВрдЧ рдХреЗ рд╕рд╛рде рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╣реЛрддреА рд╣реИред
рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рдПрдХ рдПрдореНрдмреЗрдбреЗрдб рдмреЛрд░реНрдб рдкрд░ рдЬрдВрдЧ рдФрд░ рдЧреЛрд▓рдВрдЧ рдХреЛ рдЖрдЬрдорд╛рдиреЗ рдХрд╛ рдЖрдирдВрдж рд▓реЗ рд░рд╣рд╛ рд╣реВрдВред

рдЖрдИрдУрдПрд╕ рдФрд░ рдЬрд╛рд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рдлрд┐рдбрд▓ рд╕рд╛рдорд╛рди рдХрд╛ рдкрд░реНрджрд╛рдлрд╛рд╢ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдореЛрдмрд╛рдЗрд▓ рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдлреБрдХрд┐рдпрд╛ рдФрд░ рд╕реНрдкрдВрджрди рдХреЗ рдмреАрдЪ рдПрдХ рдЕрдЪреНрдЫрд╛ рдСрдирд░реИрдВрдк рджреЗрдЧрд╛ред
рдмрд╕ рдПрдХ рд╡рд┐рдЪрд╛рд░ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдореИрдВ рдЦреЗрд▓ рд░рд╣рд╛ рд╣реВрдБ

@eseidelGoogle
Hiixe рдиреЗ рдореБрдЭреЗ рдмрддрд╛рдпрд╛ рдХрд┐ FIDL рд╕реНрдкрдВрджрди рд╕реНрддрд░ рдкрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ FIDL рдлреБрдХрд┐рдпрд╛ рдореЗрдВ рдЬрд┐рдХреНрд░реЛрди рд╕реЗ рдХрд░реНрдиреЗрд▓ рдХреЛрдб рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдлрд╝реНрд▓рдЯрд░ рдХреЗ рднреАрддрд░ FIDL IPC рд╢реИрд▓реА рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдлрд╝реНрд▓рдЯрд░ рдЗрдВрдЬрди рдореЗрдВ FIDL рд╕рдВрд╕реНрдХрд░рдг рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рддрдм рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рд░рд╣рд╛ рдерд╛ рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рдлреНрд▓реИрдЯрдмрдлрд░ рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реИред рддреЛ рдХреНрдпреЛрдВ рди рдлрд╝реНрд▓рдЯрд░ рдФрд░ рд╕реАрдкреАрдкреА рдпрд╛ рдЧреЛрд▓рд╛рдВрдЧ рдпрд╛ рдлрд╝реНрд▓рдЯрд░ рдкрд░ рдЬрдВрдЧ рдкрд░рдд рдХреЗ рдмреАрдЪ рдХреНрд░рдорд╛рдВрдХрди рдкрд░рдд рдХреЗ рд▓рд┐рдП рдлрд╝реНрд▓реИрдЯрдмрдлрд╝рд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред ?

рдЗрд╕ рдкрд░ рдмрд╕ +1, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реБрдкрд░рдкрд╛рд╡рд░ рдирд╛рдордХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╕реНрдкрдВрджрди рдРрдк рд╣реИред рд╕реБрдкрд░рдкрд╛рд╡рд░ рд╕реА ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдлрд┐рд░ рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдФрд░ рдЬреЗрдПрдирдЖрдИ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдо рдмрджрд▓реЗ рдореЗрдВ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЪреИрдирд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбрдмреНрд▓реНрдпреВ/рдЬрд╛рд╡рд╛ рдХреЛрдб рдкрд░ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдмрд┐рдЪреМрд▓рд┐рдП рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВред

рдпрд╣ рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА рд░рд┐рдпрд▓рдо рдЬреИрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдореЛрдмрд╛рдЗрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕реНрдкрдВрджрди рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХрд╛ рдореВрд▓ рд╕реА/рд╕реА ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╡реЗ рдЬрд╛рд╡рд╛/рдУрдмреАрдЬреЗрд╕реА/рд╕реНрд╡рд┐рдлреНрдЯ рдмрд┐рдЪреМрд▓рд┐рдП рд╕реЗ рднреА рдирд┐рдкрдЯрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЙрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЗрд╕ рд╕рдордп рд╕реНрдкрдВрджрди рдореЗрдВ рд╕рдмрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред (рдЕрдзрд┐рдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ #1 рдкрд░ @eseidelGoogle рдХреА рд╕реВрдЪреАред)

рдпрджрд┐ рдЖрдк рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ рдЬрд╛рд╡рд╛/рдЬреЗрдПрдирдЖрдИ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реНрдХ рд╕реБрдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдпрд╛рдиреА, рдХреЗрд╡рд▓ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдЧреЛрдВрдж рдкрд░рдд рдХреЛ рдЫрд┐рдкрд╛рдирд╛/рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛), рддреЛ рд╕реБрдкрд░рдкрд╛рд╡рд░ рдХреЗ рдкрд╛рд╕ рдЙрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рд╣реИ: https://www.youtubeред рдХреЙрдо/рдШрдбрд╝реА?v=LzIuir3r6Co

@pnico рдХреНрдпрд╛ рдЖрдк рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рддрд░реНрдХ рджреЗ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛/рдЬреЗрдПрдирдЖрдИ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдСрдбрд┐рдпреЛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЛрдб рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕реА ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред (рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЬреЗрдПрдирдЖрдИ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)

@ csga5000 рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рд╣реИрдВ, рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ: рдбреА рдЬреЗрдПрдирдЖрдИ рд╢рд╛рдпрдж рдкреНрд░рджрд░реНрд╢рди рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдЕрдзрд┐рдХ рдЧреВрдврд╝ рд╕рд╛рдорд╛рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛/рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛/рд╕реА ++ рдФрд░ рдбрд╛рд░реНрдЯ рдореЗрдВ рдЕрдзрд┐рдХ рдРрдк-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЛрдб рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @pnico рдХрд╣ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдЗрд╕реЗ рдЬрд┐рдиреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐ рдЬрд┐рдиреА рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рд┐рд▓рдВрдмрддрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рддреЛ perf рд╕рдорд╕реНрдпрд╛ рд╣реИред
рд╣рд╛рдБ рдирд╣реА ??

рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рдХреНрд░рд┐рдкреНрдЯреЛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЕрдВрддрд░ рд▓рд╛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдерд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдорд╛рдирддрд╛ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рдкреНрд░рдпреЛрдЧ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ
рдФрд░ рд╕рдордп рд╕рдВрд╡реЗрджрдирд╢реАрд▓ gpio рдХреЗ рд▓рд┐рдП рдмреЗрдВрдЪрдорд╛рд░реНрдХ рди рддреЛ c рдФрд░ рди рд╣реА dart a . рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рд▓рд┐рдП
рд╡рд░реНрд╖ред

рд╢рдирд┐рд╡рд╛рд░, 9 рдЬреВрди 2018 рдХреЛ, 10:52 рдПрдбрд╝реА рдбрдмреНрд▓реНрдпреВрдПрдо, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рдХреНрд░рд┐рдкреНрдЯреЛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЕрдВрддрд░ рд▓рд╛ рд╕рдХрддрд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/flutter/flutter/issues/7053#issuecomment-395927258 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AFHMcSI2JDHbgv3iYrStDN5mlzkQ8XEkks5t6xxMgaJpZM4K-PLw
.

рддрдм рд╕реЗ рдХреЛрдИ рдкреНрд░рдЧрддрд┐?

рдЬрдм рддрдХ рдпрд╣ рд╣рд▓ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реНрдкрдВрджрди рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд┐рдлрд╛рд░рд┐рд╢ рд╣реИ рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрд╕реА/рд╕реА ++ lib рдХреЛ рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдП? рдХреНрдпрд╛ рдЬрд┐рдиреНрдиреА рдЬрд╛рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ?

рдЬрдм рддрдХ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛, рддрдм рддрдХ рд╕реА/рд╕реА++ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рджреЗрд╢реА рдПрдВрдбреНрд░реЙрдЗрдб рдФрд░ рдЖрдИрдУрдПрд╕ рдХреЛрдб рд▓рд┐рдЦрдирд╛, рдлрд┐рд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЪреИрдирд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд╛рд░реНрдЯ рдХреЛрдб рдореЗрдВ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд░рдирд╛

рдореИрдВрдиреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓рд╛рдЧреВ рдХрд┐рдП рд╣реИрдВ рдЬреЛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЪреИрдирд▓ (рдЬрд╛рд░ рдлрд╛рдЗрд▓реЛрдВ рдФрд░ рдХреЛрдХреЛрдкреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд▓рдЧрдЗрди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реВрдВ рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реА рд╕реА/рд╕реА ++ lib (рдПрдВрдбреНрд░реЙрдЗрдб рдФрд░ рдЖрдИрдУрдПрд╕ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП) рдХреЛ рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдХреЛрдИ рд╕реБрдЭрд╛рд╡?

@ mmcc007 рдЗрд╕ рддрд░рд╣ рдЖрдк рдЗрд╕реЗ рдЬрд╛рд╡рд╛ рдпрд╛ рд╕реНрд╡рд┐рдлреНрдЯ рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред

рдЬрд╛рд╡рд╛: https://www.google.com/search?client=opera&q=android+java+use+C%2B%2B&sourceid=opera&ie=UTF-8&oe=UTF-8

рд╕реНрд╡рд┐рдлреНрдЯ: https://www.google.com/search?client=opera&q=swift+use+C%2B%2B&sourceid=opera&ie=UTF-8&oe=UTF-8

рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╕реБрдкрд░рдкрд╛рд╡рд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реИ (рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЬрд╛рдирддрд╛ рд╣реВрдВ): https://github.com/superPowerSDK/Low-Latency-Android-iOS-Linux-Windows-tvOS-macOS- рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡-рдСрдбрд┐рдпреЛ-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо
рдЙрджрд╛рд╣рд░рдг рдлрд╝реЛрд▓реНрдбрд░ рджреЗрдЦреЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, https://github.com/superpowerSDK/Low-Latency-Android-iOS-Linux-Windows-tvOS-macOS-Interactive-Audio-Platform/tree/master/Examples_Android/SuperpoweredRecorder/app/src/main рдХреЗ рднреАрддрд░ рд╣реИ java/com/superPowered/recorder/MainActivity.java рдЬреЛ cpp/RecorderExample.cpp рдореЗрдВ рдХреЛрдб рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддрд╛ рд╣реИ

@ csga5000 рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдпрдереЛрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реАрдзреЗ рдЖрдЧреЗ рд╣реЛрдЧрд╛ .. рдкрд╣рд▓реА рд╕рдореАрдХреНрд╖рд╛ рдкрд░ред рдЕрднреА рднреА рдПрдХ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╕реНрдкрдВрджрди рдкреНрд▓рдЧрдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдзрдиреНрдпрд╡рд╛рджред

рдЗрд╕рдХреЗ рд▓рд┐рдП +1ред рд╕реА ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕реНрдкрдВрджрди рдРрдк рдХреЗ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдпрд╢реАрд▓ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛

рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ рдЧреЛрд▓рдВрдЧ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рддреА рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ
рд╕реА ++ рдХреЗ рд▓рд┐рдП рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЧреЛрд▓рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдо jsonrpc рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдлрд┐рд░ рдЖрдкрдХреЛ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ рдХрд┐ jsonrpc рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдЧреЛрд▓рд╛рдВрдЧ рдХреЛрдб рд╕рд╛рдордиреЗ рд░рдЦрдирд╛ рд╣реИред

рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЪреИрдирд▓ рдХреЗрд╡рд▓ JSON рдХреЛ рдЕрдЬреНрдЮреЗрдп рдХреНрд░рдорд╛рдВрдХрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ
рдкреНрд░рд╛рд░реВрдк ?

рдмреБрдз, 18 рдЬреБрд▓рд╛рдИ 2018, 16:50 рдЬреЗрдлрд░рд╕рди рдмреНрд▓реЗрдбрд╕реЛ, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com . рдкрд░
рд▓рд┐рдЦрд╛ рдерд╛:

рдЗрд╕рдХреЗ рд▓рд┐рдП +1ред рд╕реА ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдХ рд╕реНрдкрдВрджрди рдРрдк рдХрд╛ рдХреЛрдИ рднреА рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реЛрдЧрд╛
рдареАрдХ рдврдВрдЧ рд╕реЗ рдкреНрд░рд╛рдкреНрдд

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/flutter/flutter/issues/7053#issuecomment-405958345 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/ATuCwkPbb9vLdoaEwM-bLhYPZxtyQ5Vjks5uH0sqgaJpZM4K-PLw
.

рд╣рд╛рдп, рдХреЛрдИ рдЦрдмрд░?

рдмрд╕ рдпрд╣ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдХреЛрдИ рднреА рд╕реБрдкрд░рдкрд╛рд╡рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕реАрдзреЗ рд╕реНрдкрдВрджрди рдРрдк рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рд╣реИ?

рд╣рд╛рдБ @ рдХреМрд╢рд▓-рдЕрдк рд╣рдордиреЗ рдпрд╣ рдХрд┐рдпрд╛ рд╣реИред рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдирд╣реАрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдирд╣реАрдВ рджрд┐рдЦрд╛ рд╕рдХрддрд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдореЗрд░реЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЛ рдкрд╣рд▓реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╡реИрд╕реЗ рд╣реА рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕реАрдкреАрдпреВ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕реНрдкрдВрджрди рдРрдк рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдиреЗ рдЬреЗрдПрдирдЖрдИ/рдЬрд╛рд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рд╣реИ рди рдХрд┐ рд╕реАрдзреЗ рдбрд╛рд░реНрдЯ рд╕реЗред рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЛрдб рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдЪрдирд╛ рд╕рдВрднрд╡ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕реАрдкреАрдпреВ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕реНрдкрдВрджрди рдРрдк рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ

рдЖрдкрдХрд╛ рдорддрд▓рдм рдкреНрд░рддреНрдпреЗрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдРрдк рд╣реИ, рдпрд╛ рдмрд╕ рд╕рднреА рд╕рдорд░реНрдерд┐рдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реИ?

BTW, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рд╡рд╛ рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдРрдк рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдм рдЬрдм рд╣рдореЗрдВ рдПрдХ рдЖрдИрдУрдПрд╕ рдРрдк рднреА рдмрдирд╛рдирд╛ рд╣реИ, рддреЛ рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рд╕реНрдкрдВрджрди рдореЗрдВ рдПрдХ рдмрдирд╛рдирд╛ (рд╕реНрд╡рд┐рдлреНрдЯ/рдПрдХреНрд╕рдХреЛрдб рдкрд░ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп) рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдирдЬрд░рд┐рдП рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрдПрдЧрд╛, рдПрдХрд▓ рдХреЛрдб рдЖрдзрд╛рд░ рдХреЗ рд▓рд╛рдн рдХреЗ рд╕рд╛рдеред

рдХреБрдВрдЖред рджрд╛рдпрд░реЗ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд╛рд╕реНрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ: https://github.com/realm/realm-object-server/issues/55

рд▓реБрдХрд╛рд╕реНрдкрд┐рд▓реА : рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЕрднреА рднреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ: рд╕реНрдкрдВрджрди/рд╕реНрдкрдВрджрди#7053
bmunkholm: @lukaspili рд╣рд╛рдБ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╢рд░реНрдд рд╣реИред

рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ, рдореИрдВ рднреА рдЗрд╕рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХреНрд╕рдПрдл рдРрдкреНрд╕ рдХреЛ рд╕реНрдкрдВрджрди рдбрд┐рдЯреНрдЯреЛ рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдЬрдм рддрдХ рдХрд┐ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрдЪрд┐рдд рдирд▓рд╕рд╛рдЬреА рдирд╣реАрдВ рдорд┐рд▓рддреАред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЦрдбрд╝рд╛ рд╣реИ, рдЬрд╝рд╛рдорд░реАрди рдЗрд╕ рд╡рд┐рднрд╛рдЧ рдореЗрдВ рдкрд╛рдиреА рд╕реЗ рдмрд╛рд╣рд░ рдлрдбрд╝рдлрдбрд╝рд╛рддрд╛ рд╣реИред

рдЗрд╕ рдкрд╛рд░реНрдЯреА рдХреЗ рд▓рд┐рдП рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ +1 рд╣реИред

рдореИрдВ рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдкреНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рдХреЛрдб рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ (рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ рд▓рд┐рдП):

Flutter - Dart + C++ > Qt ? partyTime() : makeDoWithElectronOrQt()

рдпрджрд┐ рд╕реНрдкрдВрджрди рд╕реА тАЛтАЛ++ рдХреЗ рд▓рд┐рдП рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ рд╕рдорд░реНрдерди рдХреА рдкреЗрд╢рдХрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг рд╡рд┐рдЬреЗрддрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рди рдХрд┐ рдХреЗрд╡рд▓ "рдореЛрдмрд╛рдЗрд▓ рдкрд╣рд▓реЗ" рдмрд▓реНрдХрд┐ рджреБрдирд┐рдпрд╛ рдкрд╣рд▓реЗред рдХреНрдпреВрдЯреА рдЫреЛрдЯреЗ рджреЗрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдпрд╡рд╛рди рд╣реИ, рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдзреБрдирд┐рдХ рд╕реА ++ рдХреЛ рдЧрд▓реЗ рдирд╣реАрдВ рд▓рдЧрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рднреА рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпрд╛ рд╕реНрдкрдВрджрди рдХрдо рд╕реЗ рдХрдо рдпреВрдЖрдИ рдкрд╛рдИ рдЦрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдкреАрдПрд╕: рдореИрдВ рдбрд╛рд░реНрдЯ рд╡рд┐рд░реЛрдзреА рдирд╣реАрдВ рд╣реВрдВ, рдпрд╣ рдПрдХ рдФрд░ рдирдпрд╛ рд╕реА #/рдЧреЛ/рдЬрдВрдЧ/рдЖрджрд┐ рд╣реИред рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рднрд╛рд╖рд╛ рдЬреЛ рдПрдХ рдирдП рдордВрдЪ рдХреЗ рд▓рд┐рдП рд╕реБрдкрд░ рдЙрддреНрдкрд╛рджрдХ рд╣реЛ рд╕рдХрддреА рд╣реИ рд▓реЗрдХрд┐рди рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдбреЗрд╕реНрдХрдЯреЙрдк (рдпрд╣рд╛рдВ рдореЗрд░реА рд░реБрдЪрд┐) рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рджреБрдирд┐рдпрд╛ рджреГрдврд╝рддрд╛ рд╕реЗ рд╕реА ++ рд╣реИ, рд╡реНрдпрд╛рдкрдХ рдУрдПрд╕ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде, рдПрдХ рдРрд╕реА рднрд╛рд╖рд╛ рдЬреЛ рд╕рдореБрджреНрд░реА рдореАрд▓ рдХреА рджрд░ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реА рд╣реИ (рдпрд╣ рдирд╣реАрдВ рд╣реИ рд╕реА), рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдкрдВрджрди рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИ!

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╕реНрдкрдВрджрди рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрд┐рдВрджреБ рдкрд░ C++ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛, рдФрд░ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдм рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдФрд░ рдореИрдВ рдПрдХ рдХреЗ рд▓рд┐рдП рдЬрдмрд░рджрд╕реНрдд рд░реВрдк рд╕реЗ рдбрд╛рд░реНрдЯ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ - рд╕реА ++ рдореЗрдВ рдРрдкреНрд╕ рд▓рд┐рдЦрдирд╛ рднреА w/рд╕реНрдкрдВрджрди рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╕реА ++ рд╕реАрдзреЗ рдбреЗрд╕реНрдХрдЯреЙрдк рд╕рдорд░реНрдерди рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдЕрднреА рднреА рдХрд╛рдлреА рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдбрд╛рд░реНрдЯ рд╡реАрдПрдо рдХреЛ рд╡реИрд╕реЗ рднреА рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдирдЧрдгреНрдп рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдВрдд рдореЗрдВ Google рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд┐рд▓рд┐рдЯреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рд╕рдорд░реНрдерд┐рдд рднрд╛рд╖рд╛рдУрдВ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЙрдХреНрдд рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рднреА рдФрд░ рд╕рднреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╕реНрдкрдВрджрди рдРрдк рд▓рд┐рдЦ рд╕рдХреЗрдВред рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдлреБрдХрд┐рдпрд╛ рдХреЗ рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдпрд╛ рдмрд╛рдж рдореЗрдВ рднреАред рдЕрднреА рдХреЗ рд▓рд┐рдП рдЙрдирдХрд╛ рд▓рдХреНрд╖реНрдп рдПрдХ рдмрд╛рд░ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдирд╛ рд╣реИред рдбрд╛рд░реНрдЯ рдЙрд╕ рд▓рдХреНрд╖реНрдп рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛/рд╕реАрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдХреБрд╢рд▓ рд╣реИ, рдФрд░ рд╡реИрд╕реЗ рднреА Google рдХреА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рд╕реА ++ рд╕рдорд░реНрдерди рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдФрд╕рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдХреЛрдИ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд▓рд╛рдн рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реВрдВред рдореЛрдмрд╛рдЗрд▓ рдРрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдирдЧрдгреНрдп рд╣реИ, рдФрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЪреИрдирд▓ w/C++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ w/рдореМрдЬреВрджрд╛ C++ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред рдЙрдЬреНрдЬреНрд╡рд▓ рдкрдХреНрд╖ рдкрд░, рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЕрдВрддрддрдГ рдбреЗрд╕реНрдХрдЯреЙрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрдВрджрди рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдлреВрд╢рд┐рдпрд╛ рдХреЗ рдХреИрдкрд┐рдмрд╛рд░рд╛ рдкрд░, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рд╡реЗ рд╡рд╣рд╛рдВ рд░реБрдХреЗрдВрдЧреЗ)ред

рдпрд╣ рдзрд╛рдЧрд╛ рдбрд╛рд░реНрдЯ/рд╕реНрдкрдВрджрди рд╕реЗ рдкреНрд░рддреНрдпрдХреНрд╖ рдПрдХреАрдХрд░рдг w/C++ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдЬреЛ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╕реНрдкрдВрджрди C++ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ C++ рд╕рдорд░реНрдерди рдХреЗ рдФрд╕рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдХреЛрдИ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд▓рд╛рдн рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реВрдВред

рдпрд╣ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдлрд╝реНрд▓рдЯрд░/рдбрд╛рд░реНрдЯ рдмрдирд╛рдо рд╕реА ++ рдХрд┐рддрдирд╛ рднрдпрд╛рдирдХ рд╣реИ, рдпрд╣ рд╡рд░реНрддрдорд╛рди рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдПрдХреАрдХрд░рдг рдХреЗ рдмрд┐рдВрджреБ/рдЖрд╕рд╛рдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдПрдХ рд▓рдВрдмреА рд╕реВрдЪреА рд╕рд╛рдЭрд╛ рд╡рд╕реНрддреБ (рдПрдХ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдУрдкрдирд╕реАрд╡реА) рдХреЗ рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рд╣реИ рдЬреЛ рдЙрджреНрдпреЛрдЧ рдорд╛рдирдХ рд╣реИрдВ, рдЖрдк рд▓реЛрдЧреЛрдВ рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдбрд╛рд░реНрдЯ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореЛрдмрд╛рдЗрд▓ рдРрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдирдЧрдгреНрдп рд╣реИ, рдФрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЪреИрдирд▓ w/C++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ w/рдореМрдЬреВрджрд╛ C++ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред

рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЪреИрдирд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдк-рдЗрд╖реНрдЯрддрдо рд╣реИ, рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рд╕реНрдореГрддрд┐ (рдЫрд╡рд┐рдпреЛрдВ) рдкрд░ рдПрдХ рдмрдбрд╝реА рдмрд╛рдЗрдирд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдпрд╛ рддреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
1- рдЗрди рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЛ/рд╕реЗ C++ рдореЗрдореЛрд░реА рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ
2- рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЗрдПрдирдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ (рдФрд░ рдЗрди рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВ)
рдЪреИрдирд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝рд┐рдВрдЧ/deserializing рдореВрд▓реНрдпреЛрдВ/рдкреИрд░рд╛рдореАрдЯрд░ рд▓рд╛рдЧрдд рдХреЗ рдКрдкрд░реА рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рдирд╛ред

рдПрдХ рдЕрдЪреНрдЫрд╛ рдврд╛рдВрдЪрд╛ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ/рдкреНрд░рддрд┐рдорд╛рдиреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрддреБрд▓рди рд╣реИ рдЬреЛ рдЗрд╕реЗ рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИ рдмрдирд╛рдо рд╡рд░реНрддрдорд╛рди рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХ рддрдВрддреНрд░/рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдЕрд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╕реА ++ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

@nhachicha @ csga5000 рдЕрд╕рд╣рдордд рдирд╣реАрдВ рдерд╛ рдХрд┐ рд╕реАрдзреЗ рд╕реА ++ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛; рд╡рд╣ рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд░рд╣рд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдкреВрдЫрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдлрд╝реНрд▓рдЯрд░ рдХреЛ рд╕реАрдзреЗ рд╕реА ++ рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ , рдЬреИрд╕реЗ рдХрд┐, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдбрд╛рд░реНрдЯ рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗред

рдореЛрдмрд╛рдЗрд▓ рдРрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдирдЧрдгреНрдп рд╣реИ, рдФрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЪреИрдирд▓ w/C++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ w/рдореМрдЬреВрджрд╛ C++ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред
@nhachicha рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реЛ рд╕рдХрд╛ред

рд╕рдЪреНрдЪрд╛рдИ рдЙрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рджрд╛рдВрдд рдХрд╛рдЯрдиреЗ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдЬреЛ рдХрд┐ рдХрдИ рд╣реИрдВ) рддреЛ рдХреНрдпреЛрдВ рди рдХреБрдЫ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдб рдХреЛ рдорд╛рд╕реНрдЯрд░ рд╕реА ++ рдореЗрдВ рд╕реНрд╡реИрдк рдХрд░реЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдХреЗрд▓реЗ рдбрд╛рд░реНрдЯ рдкрд░ рд╣реА рдХреНрдпреЛрдВ рд░реБрдХреЗрдВ, рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рд╕реБрдкрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдореЗрдВ рд╕реНрд▓реЙрдЯ рдХреНрдпреЛрдВ рдирд╣реАрдВ, ( рдбрд╛рд░реНрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдИ рдЕрдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдп/рд╕реНрдерд╛рдкрд┐рдд) рднрд╛рд╖рд╛рдПрдВ:

  • рд╕реА#/.рдиреЗрдЯ рдХреЛрд░ рд░рдирдЯрд╛рдЗрдо
  • рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ/рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ V8 рд░рдирдЯрд╛рдЗрдо (рдЙрд╕ рд╕рдордп рдЖрдкрдХреЗ рдкрд╛рд╕ рд▓рдЧрднрдЧ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХреНрдпрд╛ рд╣реИ)
  • рдЬрдВрдЧ (рднреА рддреЗрдЬ!)
  • GoLang
  • рдЕрдЬрдЧрд░
  • [рдЕрдкрдирд╛ рдкрд╕рдВрджреАрджрд╛ рдпрд╣рд╛рдВ рдбрд╛рд▓реЗрдВ]...

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

рдЙрд╕реА рдХрд╛рд░рдг рд╕реЗ рдХрд┐ рдлрд╝реНрд▓рдЯрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЗрдВрдЬрди рд╕реНрд╡рдпрдВ C ++ (рджреЗрд╢реА, рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди, рдмреИрдЯрд░реА/рдореЗрдореЛрд░реА/рд╕реАрдкреАрдпреВ рдХреБрд╢рд▓)

_рдПрдХ рд╕рд╛рдЗрдб рдиреЛрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реА/рд╕реА ++ рдореЗрдВ рд╕рдм рдХреБрдЫ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рд╛рде рдШрд░ рдкрд░ рд╣реВрдВ, рдлреЙрд░реНрдо рд╕рддреНрдпрд╛рдкрди рд╕реЗ рд▓реЗрдХрд░ рдкрд┐рдХреНрд╕реЗрд▓ рд╢реЗрдбрд░реНрд╕ рддрдХ, рд▓реЗрдХрд┐рди рдореИрдВ рдирд╛рдЯрдХ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рд░реЗрдкреЛ рдХреЛ рджреЗрдЦрдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рд▓реЛрдЧреЛрдВ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ - рдФрд░ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд╕реА ++ рдП рдЕрддреНрдпрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рднрд╛рд╖рд╛ - рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд╕рдВрджред_

рдпрд╣ рдореБрдЦреНрдп рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╕реА ++ рдПрдХреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

https://github.com/realm/realm-object-server/issues/55

C/C++ рдПрдХреАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рджреЛ рд╕рд░рд▓ рддрд░реАрдХреЗ рд╣реИрдВ:

  • рд╕реА ++ рдореЗрдВ рд╡рд┐рдзрд┐ рдЪреИрдирд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░реЗрдВ
  • рдбрд╛рд░реНрдЯ рд╡реАрдПрдо рдиреЗрдЯрд┐рд╡ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕рдкреЛрд░реНрдЯ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЗрди рджреЛрдиреЛрдВ рдореЗрдВ рдмрдбрд╝реА рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдЙрдирдХрд╛ рдкреАрдЫрд╛ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддреА рд╣реИрдВ:

  • рд╡рд┐рдзрд┐ рдЪреИрдирд▓ рдЙрдЪреНрдЪ рдУрд╡рд░рд╣реЗрдб рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рд╣реИрдВ - рдЬрдмрдХрд┐ рдХрдо рдУрд╡рд░рд╣реЗрдб рдЗрдВрдЯрд░реИрдХреНрд╢рди рд╡рд╛рдВрдЫрдиреАрдп рд╣реЛрдиреЗ рдкрд░ рд╕реА/рд╕реА ++ рдПрдХреАрдХрд░рдг рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╡рд┐рдзрд┐ рдЪреИрдирд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
  • рдбрд╛рд░реНрдЯ рд╡реАрдПрдо рдиреЗрдЯрд┐рд╡ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рд▓реЛрдЧреЛрдВ рдХреЛ рдбрд╛рд░реНрдЯ рд╡реАрдПрдо рд╕реА рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рдЙрд╕ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдкреЗрд╢ рдХрд░рдирд╛ рд╡рд╛рдВрдЫрдиреАрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рддрдереНрдп рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдПрдкреАрдЖрдИ рдХреА рдЙрдореНрд░ рдЕрдЪреНрдЫреА рдирд╣реАрдВ рдереА рдФрд░ рдХреБрдЫ рдЧрдВрднреАрд░ рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЕрдзрд┐рдХ рд╡рд╛рдВрдЫрдиреАрдп рд╡рд┐рдХрд▓реНрдк dart:ffi рдХрд╛ рдкрд░рд┐рдЪрдп рд╣реИ - рдбрд╛рд░реНрдЯ рд╡реАрдПрдо рдХрд╛ рдПрдХ рдореБрдЦреНрдп рдШрдЯрдХ рдЬреЛ рд╕реАрдзреЗ рдореВрд▓ рдХреЛрдб рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдЬрд┐рд╕рд╕реЗ рд▓реЛрдЧ рдХреБрдЫ рд▓рд┐рдЦ рд╕рдХреЗрдВ:

import 'dart:ffi' as ffi;

// Bind foo to symbol _foo from library libxyz.so with signature
// int32_t (int32_t, double, char*).
@ffi.import("libxyz.so", name: '_foo',
            signature: ffi.Signature(ffi.Int32, [ffi.Int32, ffi.Double, ffi.PChar]))
extern int foo(int foo, double x, String foo);

рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдлрдПрдлрдЖрдИ рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╣рдорд╛рд░реА рдХреБрдЫ рд░реБрдЪрд┐ рдереА - рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреБрдЫ рд╕рдордп рдЗрд╕рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдореИрдВ рдХрд┐рд╕реА рдареЛрд╕ рд╕рдордпрд╕реАрдорд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдирд╣реАрдВ рд╣реВрдВред

@ kirbyfan64 рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╣реИ, @nailgilaziev , @bytesoftly рдореИрдВ рдпрд╣ рдХрд╣рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╕реА ++ рдПрдХреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдмрд╕ рдЗрддрдирд╛ рдХрд╣ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╕реНрдкрдВрджрди рд╕рдорд░реНрдерди рд╕реА ++ рдбрд╛рд░реНрдЯ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рдХрд╛рд░рдг/рдорд╛рдВрдЧ рд╣реИ - рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдПрдХреАрдХрд░рдг рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред @mraleph рдЬреЛ рдХрд╣ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рдореБрдЭреЗ рд╕реНрдорд╛рд░реНрдЯ рд▓рдЧрддрд╛ рд╣реИред

@mraleph рдбрд╛рд░реНрдЯрд┐рдиреЛ рдХрд╛ рдПрдлрдПрдлрдЖрдИ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдерд╛ред рдкреБрдирд░реБрддреНрдерд╛рди рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдХрдард┐рди рд╣реИ?

@listepo рдЗрд╕рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЗред рдбрд╛рд░реНрдЯрд┐рдиреЛ рдХрд╛ рдПрдлрдПрдлрдЖрдИ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрд╣реБрдд рдЧрддрд┐рд╢реАрд▓ рдерд╛ - рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдбрд╛рд░реНрдЯ 2 рдХреЗ рд▓рд┐рдП рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдбрд╛рд░реНрдЯ 1 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рд╣реИред

рдЦреЗрд▓ рдХреЗ рд▓рд┐рдП рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ: рд╣рдо рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реА рдлрд╛рдЗрд▓реЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдбрд╛рд░реНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рд╣рдо рдЬреЛ рдЙрдореНрдореАрдж рдХрд░реЗрдВрдЧреЗ рд╡рд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:
1) рдЖрдИрдУрдПрд╕ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХреЛрдб, рдпрд╛рдиреА рдУрдмреАрдЬреЗрд╕реА рдпрд╛ рдЬреЗрдПрдирдЖрдИ рдкрд░рддреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
2) рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рджреЛ рдмрд╛рд░ рдЬреЗрдПрдирдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред
3) рдлреЙрд▓реЛ-рдЕрдк рд╡реЗрдм рдРрдк рдЬреИрд╕реЗ рдПрдВрдЧреБрд▓рд░рдбрд╛рд░реНрдЯ рдореЗрдВ рдбрд╛рд░реНрдЯ рдореЙрдбрд▓ рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛, рдпрд╛ рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлреЙрд▓реЛ-рдЕрдк рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдк: https://github.com/google/flutter-desktop-embeding

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╣рдо рдЬреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ рдКрдкрд░ рдмрддрд╛рдП рдЧрдП рдмрд┐рдВрджреБ 2 @eseidelGoogle рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм рд╣реИред рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕реЗ "рдЕрдЪреНрдЫрд╛ рд╣реЛрдирд╛" рдорд╛рдирддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рдХреЛрдИ рддреНрд╡рд░рд┐рдд рд╣реИрд╢ рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдбрд╛рд░реНрдЯреНрд╕ рдПрд╕рд┐рдВрдХ рддрд░реАрдХреЗ рд╕реЗ рдЕрднреНрдпрд╕реНрдд рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг, рдКрдкрд░ рджрд┐рдП рдЧрдП рдЕрдВрдХ 1)-3) рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрднрд╛рд╡рдирд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕рдорд░реНрдерди рдХрдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

@mraleph рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдП рдЧрдП рдПрдлрдПрдлрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдХреНрдпрд╛ рдпрд╣ рдореЗрд░реА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЕрдиреБрд╕рд╛рд░ 1) -3 рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ (рдПрдВрдбреНрд░реЙрдЗрдб, рдЖрдИрдУрдПрд╕, ...) рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

@CryptUser рдпрджрд┐ рдЖрдкрдХрд╛ C/C++ рдХреЛрдб рд╕рднреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╕рдорд╛рди рд╣реИ рддреЛ FFI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд╛рд░реНрдЯ рдХреЛрдб рднреА рд╕рднреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╕рдорд╛рди рд╣реЛрдЧрд╛ред

@mraleph рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ! рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдореВрд▓ рдореБрджреНрджреЗ рдореЗрдВ 200 рд╕реЗ рдЕрдзрд┐рдХ рдЕрдВрдЧреВрдареЗ рд╣реИрдВ, рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛ рд╣реИ?

@mraleph рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдбрд╛рд░реНрдЯ рдореЗрдВ FFI рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рдореБрджреНрджрд╛ рд╣реИ?

@dnfield рдореИрдВрдиреЗ рдЕрднреА рдПрдХ рдлрд╛рдЗрд▓ рдХреА рд╣реИ https://github.com/dart-lang/sdk/issues/34452

рдореИрдВ рд╕реА/рд╕реА++/рд░рд╕реНрдЯ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдПрдлрдПрдлрдЖрдИ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ

рдЙрджрд╛рд╣рд░рдг:

рдореИрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдЯреИрдмрд▓реЗрдЯ (рдПрдВрдбреНрд░реЙрдЗрдб 4.4) рдкрд░ рд╕реНрдкрдВрджрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реВрдВред
рд╕реНрдкрдВрджрди рддреЗрдЬреА рд╕реЗ рднрд╛рдЧреЛред
рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЪреИрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдЧрдлрд▓рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде 1000 рдкрдВрдХреНрддрд┐ рдкрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рдзреАрдорд╛ рд╣реИред
рдХрд╛рд░рдг: рдореИрдВ sqlite рдХрд░реНрд╕рд░ рд░реАрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рд╕реАрдзреЗ рдПрд╕рдХреНрд▓рд╛рдЗрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рддреЛ рд╡рд╣реА рдХреНрд╡реЗрд░реА рддрддреНрдХрд╛рд▓ рд╣реИред (xamarin рдФрд░ рджреЗрд╢реА Android рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛)ред

рд╣рдо рдЕрднреА рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪрд╛ рдЬрд╛рдПред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ https://github.com/flutter/flutter/issues/7053#issuecomment-377711814 рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдХрдИ рд╣рд┐рд╕реНрд╕реЗ рд╣реИрдВ рдФрд░ рд╢рд╛рдпрдж рдЗрд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред :)

рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЗрдВрдЬреАрдирд┐рдпрд░ рдПрдлрдПрдлрдЖрдИ рдХреА рдЦреЛрдЬ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ https://github.com/flutter/flutter/issues/7053#issuecomment-415161464 рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдЕрднреА рд╣рдорд╛рд░рд╛ рдзреНрдпрд╛рди 1.0 рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдкрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдРрд╕рд╛ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рд╕реВрдЪреА рдореЗрдВ рд╕рдмрд╕реЗ рдКрдкрд░ рд╣реЛрдЧрд╛ред рдЖрдкрдХреА рд╕рднреА рдирд┐рд░рдВрддрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рджред рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдкреНрд░рдЧрддрд┐ рд╣реЛрдЧреА рддреЛ рд╣рдо рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗред

рдореИрдВ рдореИрдЯрд▓реИрдм/рд╕рд┐рдореБрд▓рд┐рдВрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднреА рд╣реВрдВред рдореИрдВ рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╕реАрдкреАрдпреВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реА/рд╕реАрдкреАрдкреА рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВ рдЕрдкрдиреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд╕реНрдкрдВрджрди рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реИрдВред рдореБрдЭреЗ рджреЗрд╢реА рдХреЛрдб рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдпрдХрд╛рд░реА рдЬрдирд░реЗрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдирд╣реАрдВ рддреЛ рдореИрдВ рдЕрдкрдиреЗ рд╕рднреА рдбрд╛рд░реНрдЯ-рдлрдбрд╝рдлрдбрд╝рд╛рд╣рдЯ рдХреЗ рдЕрдиреБрднрд╡реЛрдВ рдХреЛ рднреВрд▓ рдЬрд╛рдКрдВрдЧрд╛ рдФрд░ рдореИрдВ рдЬрд╝рд╛рдорд░реАрди рдпрд╛ рдХреБрдЫ рдРрд╕рд╛ рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджреВрдВрдЧрд╛ рдЬреЛ рдореБрдЭреЗ рд╕реВрдЯ рдХрд░реЗред

рдХреНрдпрд╛ рд╣рдо рдкреНрд░рдЧрддрд┐ рдХреЛ рдЧрддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?

рдбрд╛рд░реНрдЯ рдФрд░ рд╕реА рдХреЗ рдмреАрдЪ рдЗрдВрдЯрд░рдСрдкрд░реЗрдЯ рдХрд░рдирд╛ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рджрд░реНрдж рд╣реИред

рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рддреЗрдЬ рдХрд░рдиреЗ рд╕реЗ рдЕрдЪреНрдЫреА рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдЙрддреНрдкрд╛рдж рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдкрд░ рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред :-)

рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рддреЗрдЬ рдХрд░рдиреЗ рд╕реЗ рдЕрдЪреНрдЫреА рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдЙрддреНрдкрд╛рдж рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдкрд░ рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред :-)

рдЦреИрд░, рдореИрдВрдиреЗ рдЬреЛ рдХрд╣рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╡рд╣ рдпрд╣ рдерд╛ рдХрд┐ рд╣рдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрдврд╝рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдо рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрди рдФрд░ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХреЗрдВред рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ "рд▓рдХреНрд╖реНрдп" рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ 1386 рдЦреБрд▓реЗ рдореБрджреНрджреЗ рд╣реИрдВ рдЬреЛ "рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдлрд┐рдХреНрд╕рд┐рдВрдЧ" рд╣реЛрдВрдЧреЗред

рдереНрд░реЗрдб рдХреЛ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ @eseidelGoogle рдиреЗ рдХрд╣рд╛ рдХрд┐

"рд▓рдХреНрд╖реНрдп" рдЧрд▓рдд рдмрдХреЗрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред :) @mraleph рдХреЗ рдкрд╛рд╕ https://github.com/dart-lang/sdk/issues/34452 рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рд╣реИред рдпрд╣ рдХрдо рд╕реЗ рдХрдо рд╕рдорд╛рдзрд╛рди рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

рдпрд╣рд╛рдВ рдПрдлрдПрдлрдЖрдИ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬрди рдбреЙрдХ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдбрд╛рд░реНрдЯ рдкрдХреНрд╖ рдкрд░ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдХреГрдкрдпрд╛ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдФрд░ рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВред

рдореИрдВ рдПрдлрдПрдлрдЖрдИ рднрд╛рдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдХрднреА рдРрд╕рд╛ рдХреБрдЫ рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛,
рд▓реЗрдХрд┐рди рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдкрдм рдПрдХреАрдХрд░рдг рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛ред

рдПрдлрдПрдлрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рдХрд╛рд╢рди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдХреИрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?
рдПрдлрдПрдлрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрднреЛрдЧ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдПрдЧрд╛?

@zoechi рд╣рдордиреЗ рдЕрднреА рддрдХ pub рдПрдХреАрдХрд░рдг рдкрд░ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХреА рд╣реИред

рд╡реЗ рдЖрдЬ рдлрд╝реНрд▓рдЯрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рдорд╛рди рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо/рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЙрдкрдпреБрдХреНрдд рд╕реНрд░реЛрдд рдФрд░/рдпрд╛ рдмрд╛рдЗрдирд░реА рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд/рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкрдм рдХреЗ рдирдЬрд░рд┐рдП рд╕реЗ, рдпрд╣ рдХреЛрдИ рдмрдбрд╝реА рдмрд╛рдд рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП - рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдкреИрдХреЗрдЬ рдореЗрдВ рдмрдбрд╝реА рдмрд╛рдЗрдирд░реА рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЪреАрдЬреЛрдВ рдХреЗ рд╕реНрдкрдВрджрди рдЯреВрд▓рд┐рдВрдЧ рдЕрдВрдд рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЙрдиреНрд╣реЗрдВ рдлрд╝реНрд▓рдЯрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдВрдбреНрд░реЙрдЗрдб/рдЖрдИрдУрдПрд╕ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рдорд╛рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдХреЗрдВрджреНрд░рд┐рдд рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрдм-рдПрдХреАрдХрд░рдг рдХреЛ рдбрд╛рд░реНрдЯ-рд▓реИрдВрдЧ/рдкрдм рдореБрджреНрджреЗ рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдореИрдВрдиреЗ 'рд╡рд┐рдЬрд╝рди рдбреЙрдХ' рдкрдврд╝рд╛ рд╣реИ рдФрд░ рдореИрдВ рдХреЛрд╣рд░реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдХреГрддрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдБред

рдЗрд╕ рдмреАрдЪ рдореИрдВ рдХреБрдЫ рдФрд░ рд╣реА рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ред

рдиреЗрдЯрд┐рд╡рдЪреИрдирд▓ рдХреА рддрд░рд╣ рдХреБрдЫ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП

рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рднреА рд╡рд░реНрддрдорд╛рди рд╕реНрдЯреНрд░реАрдо рдЖрдзрд╛рд░рд┐рдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ (рдмреНрд▓реЙрдХ, рдЖрд░рдПрдХреНрд╕) рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИред рдпрд╣ рд╕реНрдореГрддрд┐ рдкреНрд░рдмрдВрдзрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐рд╕реА рднреА рдЪрд┐рдВрддрд╛ рд╕реЗ рднреА рдмрдЪрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдХрд▓рдХ рдЙрдкрдпреБрдХреНрдд рд░рд┐рдВрдЧ рдмрдлрд╝рд░реНрд╕ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдБ рдЙрдкрдпреБрдХреНрдд рд╣реЛ рдпрд╛ рд╕рд░рд▓ 'рдХреИрд▓реА рдлрд╝реНрд░реАрдЬрд╝' рдорд╛рди рд▓реЗрдВ рдЬрд╣рд╛рдБ рдПрдХ рдХреИрд▓реА рдХреЛ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдбреЗрдЯрд╛ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рд▓реЗрдХрд┐рди рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдХрд╣реВрдВ рддреЛ рдореИрдВ рдПрдлрдПрдлрдЖрдИ рдХреЗ рдХрд┐рд╕реА рднреА рд░реВрдк рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реВрдВрдЧрд╛ рдЕрдЧрд░ рдЗрд╕реЗ рдлрд╝реНрд▓рдЯрд░ (рдлреНрдпреВрд╢рд┐рдпрд╛) рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдореБрдЭреЗ рдбрд╛рд░реНрдЯ рдРрдк рдХреЗ рднреАрддрд░ рд╕реЗ рд╕реАрдкреАрдпреВ рдЕрдиреБрдХреВрд▓рд┐рдд рджреЗрд╢реА рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рджреЗрдВред

@ohir рдЖрдкрдиреЗ рдЬреЛ рдХрд▓реНрдкрдирд╛ рдХреА рдереА рд╡рд╣ рдмрдЧ рдкреНрд░рд╕реНрддреБрдд рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛ред рдпрд╣ рдмрдЧ C++ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЬрди рдХреИрдЪ-рдСрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖред :/ рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ) рд╣рдореЗрдВ рдЗрд╕ рдмрдЧ рдХреЛ рдЫреЛрдЯреЗ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рдПрдХрдорд╛рддреНрд░ рд╕рдорд╛рдзрд╛рди FFI рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@seidelGoogle рдЗрд╕ рдкрд░ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рдХрд░ рд░рд╣рд╛ рд╣реИ? рдЕрднреА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рднрд╛рд░реА рд╡реАрдбрд┐рдпреЛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдХрд┐ ffmpeg рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд░реНрддрдорд╛рди рдбрд╛рд░реНрдЯ рдкреИрдХреЗрдЬ рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╣рдо рдмреЗрд╕рдмреНрд░реА рд╕реЗ ffmpeg рд▓рд┐рдм рдХреЛ рд╕реАрдзреЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрдВрджрди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЙрди рдкреЗрдЬ-рдЯреВ-рдкреЗрдЬ рдпреВрдЖрдИ рдЖрдзрд╛рд░рд┐рдд рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП, рдЕрдм рд╕реНрдкрдВрджрди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдФрд░ рдЖрдИрдУрдПрд╕ рджреЛрдиреЛрдВ рдкрд░ рдбрдмрд▓ рдХреЛрдбрд┐рдВрдЧ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдЕрдЧрд░ рд╣рдо 5 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЗрддрдиреЗ рдкреНрдпрд╛рд░реЗ рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рдереЗ, рддреЛ рдкреВрд░реЗ рдРрдк рдЙрджреНрдпреЛрдЧ рдХреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдмрджрд▓рд╛ рдЧрдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрднреА рд╕реНрдкрдВрджрди рдХреЗ рдлрд╛рдпрджреЗ рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд▓реБрднрд╛рд╡рдиреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреБрд░рд╛рдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЧреИрд░-рдпреВрдЖрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд╛рд░реНрдЯ рд╢реАрд░реНрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдкреАрдЫреЗ рд╣реИред

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

рдФрд░ рдореБрдЦреНрдп рд╕рдорд╛рдзрд╛рди рд╕реНрдкрдВрджрди рдХреЗ рд▓рд┐рдП рд╕реА ++ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпрдХреНрд╖ рдФрд░ рдХреБрд╢рд▓ рддрд░реАрдХрд╛ рдкреЗрд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ "рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо" рдЪреАрдЬрд╝ рдХреА рдкрд╣рд▓реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ, рдпреВрдЖрдИ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд╛рд░реНрдЯ рд╕рд╣реА рд╣реИ, рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдбреЗрдЯрд╛ рддрд░реНрдХ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдбрд╛рд░реНрдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдкрдВрджрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╡рд┐рддреНрд░ рдирдП рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрдЬрд╛рдп рд▓рдВрдмреЗ рд▓реЗрдХрд┐рди рдЕрднреА рднреА рд╕рдХреНрд░рд┐рдп рдФрд░ рдХреБрд╢рд▓ рд╕реА ++ рдЗрдХреЛ-рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ!

рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ "рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо" рдХреЛрдбрд┐рдВрдЧ рдЕрдиреБрднрд╡ рдХрд╛ рд╕рдкрдирд╛ рд╣реБрдб рдХреЗ рдкреАрдЫреЗ рд╕реА ++ рдХреЗ рд╕рд╛рде рдбрд╛рд░реНрдЯ рдпреВрдЖрдИ рд╕реНрдЯрд╛рдл рд╣реИ, рдХреЛрдИ рдЬрд╛рд╡рд╛ рдХреЛрдб рдирд╣реАрдВ, рдХреЛрдИ рдУрд╕реА рдХреЛрдб рдирд╣реАрдВ рд╣реИред рд╡рд╣рд╛рд╣рд╛, рдореИрдВ рдЗрд╕реЗ рд╣реЛрддреЗ рд╣реБрдП рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛!

@smellbee рдХреНрдпрд╛ рдЖрдк ffmpeg рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ?

@smellbee рдореИрдВ рдХрд░рддрдм рдореИрдВ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдирд╣реАрдВ рд╣реВрдВред @seidelGoogle рдЗрд╕ рдкрд░ рдХреЛрдИ рдЦрдмрд░?

@smellbee рдХреНрдпрд╛ рдЖрдк ffmpeg рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ?

рдпрд╣ рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рд╡рд░реНрдХ рд╣реИ, ffmpeg рд▓рд┐рдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реАрдбрд┐рдпреЛ рдлреНрд░реЗрдо рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдлреАрдб рдмреИрдХ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ, рдХреНрдпрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?

@smellbee рдореИрдВ рдХрд░рддрдм рдореИрдВ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдирд╣реАрдВ рд╣реВрдВред @seidelGoogle рдЗрд╕ рдкрд░ рдХреЛрдИ рдЦрдмрд░?

рдЗрд╕рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рдореИрдВрдиреЗ "es" рдЯрд╛рдЗрдк рдХрд┐рдпрд╛, рдФрд░ рдпрд╣ рд╕реНрд╡рддрдГ рдкреВрд░реНрдг рд╣реЛ рдЧрдпрд╛, рдореИрдВрдиреЗ рдЗрд╕реЗ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛... рдЖрд╢рд╛ рд╣реИ @eseidelGoogle рдЗрд╕реЗ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ

рдбрд╛рд░реНрдЯ рдкрдХреНрд╖ рдкрд░ рдХрд╛рд░реНрдп рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ - рд╣рдо 2019 рдХреА рдкрд╣рд▓реА рддрд┐рдорд╛рд╣реА рдХреЗ рд▓рд┐рдП рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреА рдЖрд╢рд╛ рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ рдПрдХ рдмрдбрд╝реА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: рдЪреВрдВрдХрд┐ рд╣рдо рдЗрд╕реЗ рдбрд╛рд░реНрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдирд┐рд╖реНрдкрд╛рджрди рдореЛрдб рдореЗрдВ рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рд╡рд░рдг рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╕рдордп рдХреГрдкрдпрд╛ рд╣рдорд╛рд░реЗ рд╕рд╛рде рд░рд╣реЗрдВред

рдЖрдк рдбрд╛рд░реНрдЯ-рд▓реИрдВрдЧ/рдПрд╕рдбреАрдХреЗ#34452 рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдбрд╛рд░реНрдЯ рд╕рд╛рдЗрдб рдкрд░ рдХрд╛рдо рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддрд╛ рд╣реИред

рдбрд╛рд░реНрдЯ рдПрдлрдПрдлрдЖрдИ рдбрд╛рд░реНрдЯ рд╕реЗ рд╕реА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рд▓реЗрдХрд┐рди рд╕реА ++ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ - рдХрдХреНрд╖рд╛рдПрдВ, рдПрд╕рдЯреАрдбреА рдХрдВрдЯреЗрдирд░, рд╕реНрдорд╛рд░реНрдЯ рдкреЙрдЗрдВрдЯрд░реНрд╕, рдЕрдкрд╡рд╛рдж?
рдХреНрдпрд╛ рд╣рдо рдиреНрдпреВрдирддрдо рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдбрд╛рд░реНрдЯ рдХреЛ рд╕реА ++ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕рдорд░реНрдерди рд╣реИ - рд╕реА ++ рдХреЛрдб рдХреЛ рдПрдХ рдЕрд▓рдЧ рдереНрд░реЗрдб рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рд╕реЗ рдлреНрдпреВрдЪрд░/рд╕реНрдЯреНрд░реАрдо рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред

@ рдЯреА-рдЖрд░реНрдЯрд┐рдХреЛрд╡ рд╕реАрдзреЗ рд╕реА ++ рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд┐рд▓рд┐рдЯреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдореМрдЬреВрджрд╛ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИ. рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдПрд░реНрдЧреЛрдиреЛрдорд┐рдХ рд░реВрдк рд╕реЗ рд╕реА ++ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдСрдк рдХрд░ рд╕рдХрддреА рд╣реИ рд╡рд╣ рд╕реА ++ рд╣реИред

рдпрджрд┐ рдЖрдк рд╕реА ++ рдХреЗ рд╕рд╛рде рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдЗрдВрдЯрд░рдСрдк рдореЗрдВ рд░реВрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреА рдЦреБрдж рдХреА рдЗрдВрдЯрд░рдСрдк рдкрд░рдд рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рдЖрдкрдХреЗ рд╕реА ++ рдПрдкреАрдЖрдИ рдХреЛ рд╕реА рдЬреИрд╕реЗ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд░реЗред

рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕рдорд░реНрдерди рд╣реИ - рд╕реА ++ рдХреЛрдб рдХреЛ рдПрдХ рдЕрд▓рдЧ рдереНрд░реЗрдб рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рд╕реЗ рдлреНрдпреВрдЪрд░/рд╕реНрдЯреНрд░реАрдо рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдПрдХ рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рдмрд╕ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рдо рд╕рд╣реА рдЖрджрд┐рдо рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдбрд╛рд░реНрдЯ рдПрдлрдПрдлрдЖрдИ рдбрд╛рд░реНрдЯ рд╕реЗ рд╕реА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рд▓реЗрдХрд┐рди рд╕реА ++ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ - рдХрдХреНрд╖рд╛рдПрдВ, рдПрд╕рдЯреАрдбреА рдХрдВрдЯреЗрдирд░, рд╕реНрдорд╛рд░реНрдЯ рдкреЙрдЗрдВрдЯрд░реНрд╕, рдЕрдкрд╡рд╛рдж?
рдХреНрдпрд╛ рд╣рдо рдиреНрдпреВрдирддрдо рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдбрд╛рд░реНрдЯ рдХреЛ рд╕реА ++ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЬрдм рддрдХ рд╕реА ++ рдХреЗ рд▓рд┐рдП рдбрд╛рд░реНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЪреАрдЬреЗрдВ рд╕рдВрднрд╡ рд╣реИрдВя╝М рд╕реА ++ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рд╕реА ++ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реИя╝М рдФрд░ рдбрд╛рд░реНрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдпрд╛ рдХреЙрд▓ рдХрд░рдХреЗ рд╕рдВрдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдХрд┐рд╕реА рднреА рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╣реЗрд░рдлреЗрд░ рдХреЛ рдмреЗрдирдХрд╛рдм рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдбрд╛рд░реНрдЯ рдЬреЛ рдбрд╛рд░реНрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╕рд╛рдиреА рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрдЧрд╛ред

рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕рдорд░реНрдерди рд╣реИ - рд╕реА ++ рдХреЛрдб рдХреЛ рдПрдХ рдЕрд▓рдЧ рдереНрд░реЗрдб рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рд╕реЗ рдлреНрдпреВрдЪрд░/рд╕реНрдЯреНрд░реАрдо рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред

рдФрд░ рдбрд╛рд░реНрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХреА рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рддрдВрддреНрд░ рд╣реИя╝М рдЗрд╕рд▓рд┐рдП рдЪрд╛рд╣реЗ рдХреЛрдИ рдереНрд░реЗрдб рд╕реА ++ рдЙрдиреНрдореБрдЦ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рд╕реА ++ рднрд╛рдЧ рдЬрдм рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рдбрд╛рд░реНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдПрдХ "рдЖрдЗрд╕реЛрд▓реЗрдЯ" рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрд╣реА рд▓рдЧрддрд╛ рд╣реИ @mraleph , рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдореБрдЭреЗ

@mraleph
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдорд╣рд╛рди C++ рдЗрдВрдЯрд░рдСрдк рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред
https://github.com/boostorg/python
https://github.com/ThePhD/sol2
https://github.com/dropbox/djinni
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдбрд╛рд░реНрдЯ/рд╕реНрдкрдВрджрди рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдПрдХ рд╕рдорд╛рди рддрдВрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

рдпрджрд┐ рдЖрдк рд╕реА ++ рдХреЗ рд╕рд╛рде рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдЗрдВрдЯрд░рдСрдк рдореЗрдВ рд░реВрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреА рдЦреБрдж рдХреА рдЗрдВрдЯрд░рдСрдк рдкрд░рдд рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рдЖрдкрдХреЗ рд╕реА ++ рдПрдкреАрдЖрдИ рдХреЛ рд╕реА рдЬреИрд╕реЗ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд░реЗред

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреИрд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд ╨б++ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

struct MyObject
{
    std::string name;
    std::vector<int> data;
};

class MyService
{
    // Can throw std::exception
    std::shared_ptr<MyObject> createObject(std::string name, std::vector<int> data);
};

рддрд╛рдХрд┐ рдЗрд╕реЗ Dart . рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ

var service = MyService();
var object = service.createObject("foo", [1, 2, 3]);
assert(object.name == "foo");
assert(object.data[0] == 1);

@ рдЯреА-рдЖрд░реНрдЯрд┐рдХреЛрд╡ рджреЛрдиреЛрдВ boostorg::python рдФрд░ sol2 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реА рдмрд╛рдд рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдСрдкрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реА ++ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рджреВрд╕рд░реА рддрд░рдл рдирд╣реАрдВред рдбрд╛рд░реНрдЯ рдПрдлрдПрдлрдЖрдИ рд╕реА рдПрдкреАрдЖрдИ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдбрд╛рд░реНрдЯ рдХреЗрдВрджреНрд░рд┐рдд рддрд░реАрдХрд╛ рд╣реИ, рдбрд╛рд░реНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рд╕реА ++ рдХреЗрдВрджреНрд░рд┐рдд рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреИрд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд ╨б++ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдЖрдкрдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ (рдпрд╛ рдХрд┐рд╕реА рдЯреВрд▓ рджреНрд╡рд╛рд░рд╛ рдЬреЗрдирд░реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛)ред

// To be compiled together with your code.
typedef std::shared_ptr<MyObject>* MyObjectPtr;

MyService* MyService_create() {
  return new MyService();
}

void MyService_destroy(MyService* ptr) {
  delete ptr;
}

MyObjectPtr MyService_createObject(MyService* ptr, const char* name, int* data, size_t size) {
  try {
    return new std::shared_ptr<MyObject>(createObject());
  } catch (...) {
    return nullptr;
  }
}

const char* MyObject_getName(MyObjectPtr obj) {
  return (*obj)->name.c_str();
}

int* MyObject_data(MyObjectPtr obj) {
  return (*obj)->data.data();
} 

void MyObject_destroy(MyObjectPtr obj) {
  delete obj;
}
// To be included on the Dart side.
@ffi.External()
external Pointer<Void> MyService_create();
@ffi.External()
external void MyService_destroy(Pointer<Void> ptr);
@ffi.External<Pointer<Void> Function(Pointer<Void>, Pointer<Void>, Pointer<Void>, Int32)>()
external Pointer<Void> MyService_createObject(Pointer<Void> service, String name, Int32List data, int size);
@ffi.External()
external String MyObject_getName(Pointer<Void> obj);
@ffi.External()
external Pointer<Int32> MyObject_data(Pointer<Void> obj);
@ffi.External()
external void MyObject_destroy(Pointer<Void> ptr);

class MyService {
  final Pointer<Void> _impl;
  MyService() : _impl = ffi.anchor(MyService_create(), MyService_destroy);

  MyObject create(String name, List<int> values) {
    final Int32List data = Int32List.fromList(values);
    return MyObject._(MyService_createObject(_impl, name, data, data.length));
  }

  static _destroy(Pointer<Void> ptr) {
    return MyService_destroy(ptr);
  }
}

class MyObject {
  final Pointer<Void> _impl;

  MyObject._(Pointer<Void> impl) : _impl = anchor(impl, MyObject.destroy);

  String get name => MyObject_getName(_impl);
  Int32List data => MyObject_data(_impl).as<Int32List>();

  static void destroy(Pointer<Void> ptr) { MyObject_destroy(ptr); }
}

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдСрдкрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реА ++ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рджреВрд╕рд░реА рддрд░рдл рдирд╣реАрдВред

рдЖрдк рдЧрд▓рдд рд╣реИрдВ, рд╡реЗ рд╕реА ++ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдмреЗрдирдХрд╛рдм рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
https://www.boost.org/doc/libs/1_68_0/libs/python/doc/html/tutorial/tutorial/expose.html

рдЖрдкрдХреЗ рдбрд╛рд░реНрдЯ рдПрдлрдПрдлрдЖрдИ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдХреБрдЫ рдЦрд╛рдорд┐рдпрд╛рдВ рд╣реИрдВ: рд╕реА ++ рдЕрдкрд╡рд╛рдж рдбрд╛рд░реНрдЯ рдкрдХреНрд╖ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП; рдФрд░ MyObject.data рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рдЗрд╕реЗ рдХреЗрд╡рд▓ рдкреЙрдЗрдВрдЯрд░ рдорд┐рд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ)ред
рд▓реЗрдХрд┐рди рд╡рд┐рдЪрд╛рд░ рд╕реНрдкрд╖реНрдЯ рд╣реИред

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдРрд╕рд╛ рдХреЛрдб рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд╣реИред
рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирдП рдбрд╛рд░реНрдЯ рдПрдлрдПрдлрдЖрдИ рд╕реНрдкрдВрджрди рдЗрдВрдЬрди рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реЛрдЧреАред

C++ рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рд▓рд┐рдП рд░рди-рдЯрд╛рдЗрдо рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИ (рдЖрдк рдЬреЗрдирд░рд┐рдХ, рдорд▓реНрдЯреАрдкрд▓ рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕, рдСрдкрд░реЗрдЯрд░ рдУрд╡рд░рд▓реЛрдб, рдореИрдВрдЧрд▓реНрдб рдиреЗрдо рдЖрджрд┐ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВ ...) рдХрдИ рдХрдард┐рди рдкреНрд░рдпрд╛рд╕ рдХрд┐рдП рдЧрдП рдереЗ (BridJ, CppSharp, рдЖрджрд┐), рдФрд░ рдореЗрд░реА рд╕рдордЭ рд╕реЗ рд▓реЛрдЧ C рдЗрдВрдЯрд░рдСрдк рдХреЛ рд╕рдмрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рддреЗ рд╣реИрдВред

рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд┐рд▓рд┐рдЯреА рдбреЗрд╡рд▓рдкрд░ рд▓реЛрдЧ рд╕реА ++ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рдХреЛрдЯрд▓рд┐рди/рдореВрд▓ рдпрд╣ рдкреЗрд╢рдХрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╕реНрдХреИрд▓рд╛-рджреЗрд╢реА iether. .NET рдпрд╛ рддреЛ (рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕реА ++ рдЗрдВрдЯрд░рдСрдк рд╣рдореЗрд╢рд╛ рдЕрдЬреАрдм рдпрд╛ рд╕реНрдерд┐рд░ рд╣реЛрддрд╛ рд╣реИ)ред рдЬреЗрдПрдирдЖрдИ рдХреЗрд╡рд▓ рд╕реА ++ рдЗрдВрдЯрд░рдСрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕реНрдерд┐рд░ рд╕рдВрдХрд▓рди рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рдкрд╛рдЗрдерди рдмреВрд╕реНрдЯ рдЧреНрд▓реВ рдЬреИрд╕рд╛ рдХреБрдЫ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреЛрдИ рднреА рддреГрддреАрдп рдкрдХреНрд╖ рд╕рдореВрд╣ JNAerator рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдпрд╛рдиреА рдЖрдк рдЗрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдбрд╛рд░реНрдЯ/рд╕реНрдкрдВрджрди рдЯреАрдореЛрдВ рдХреЛ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред

рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрддреНрддрд░ рдХреЗ рдЗрд╕ рдмрд╛рддрдЪреАрдд рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХреНрдпреВрдЯреА рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣реВрдВрдЧрд╛ рдЬреЛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдкреВрд░реНрдг рд╕реА ++ рд╕рдорд░реНрдерди рд╣реИред рдореИрдВ рдмрд╕ рдЕрдкрдиреЗ рдЕрдЧрд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдлрд╝реНрд▓рдЯрд░ рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм рдореИрдВ рдирд╣реАрдВ рдХрд░реВрдБрдЧрд╛, рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рд╕реНрдкрдВрджрди C++ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реЛрддрд╛ рддреЛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛, рдЬрд┐рд╕рд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдСрдк рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрднрд╡ рд╣реЛ рдкрд╛рддрд╛ред рдХреНрдпрд╛ рд╕реА ++ рдореЗрдВ рд╕реНрдкрдВрджрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рдкреНрд░рдпрд╛рд╕ рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЪрд░реНрдЪрд╛ рдЕрдм рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЦрд┐рдВрдЪреА рдЬрд╛ рд░рд╣реА рд╣реИред

рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрдкрдВрджрди рдХреЗ рд╡рд┐рдХрд╛рд╕ рд░реЛрдбрдореИрдк рдкрд░ рдХреНрдпрд╛ рд╣реИ (рдпрд╛ рдирд╣реАрдВ)ред
рддрджрдиреБрд╕рд╛рд░, рд╣рдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ (рдпрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ) рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдПрдЬреЗрдВрдбреЗ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдХреЛрдИ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдирд╣реАрдВ рджреЗрдЦрддрд╛, рдпрд╛
рдЗрд╕ рдмрд┐рдВрджреБ рд╕реЗ рдкрд░реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдорд╛рдВрдЧ рдХрд░рдирд╛ред

рдзрдиреНрдпрд╡рд╛рдж,
рдЧреМрд░рд╡

рд╕реЛрдо 25 рдлрд░рд╡рд░реА, 2019, рд░рд╛рдд 10:51 рдмрдЬреЗ рднреМрдЬ, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдпрд╣ рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддрд╛ рдерд╛ рдЕрдЧрд░ рд╕реНрдкрдВрджрди C++ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реЛрддрд╛, with
рдЬреЛ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рдиреА рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддрд╛ рдерд╛ред рд╣реИ
рд╕реА ++ рдореЗрдВ рд╕реНрдкрдВрджрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рдкреНрд░рдпрд╛рд╕?

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/flutter/flutter/issues/7053#issuecomment-467098455 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AZ86acDpZgNeyezx40uxe_c5E2xZHWxaks5vRBumgaJpZM4K-PLw
.

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдкрдВрджрди рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╕реА ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдкрдВрджрди рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рджреБрднрд╛рд╖рд┐рдпрд╛ рднрд╛рд╖рд╛ рдбрд╛рд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╡реАрдПрдо рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдбрд╛рд░реНрдЯ рд╕реЗ рд╕реА++ рд╕реНрдкрдВрджрди рдХреЗ рднрд╛рдЧ рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛ рдирд╣реАрдВ рд╣реИ...

рддреЛ рдЬреЛ рдХреЛрдИ рднреА рдЗрд╕реЗ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рдЕрдЪреНрдЫреЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рдПрдкрдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ, рдлрд╝реНрд▓рдЯрд░ рд╕реА ++ рдХреЗ рдкреНрд░рддреНрдпрдХреНрд╖ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛ рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдХреНрдпреВрдЯреА рд╕реА ++ рдЬреИрд╕реЗ рдЕрдиреНрдп рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдореЗрд░реЗ рд▓рд┐рдП C++ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд▓рдЧрднрдЧ рд╣рд░ рддрдХрдиреАрдХ рдореЗрдВ рд╕рдмрд╕реЗ рдХрдо рдЖрдо рднрд╛рдЬрдХ рд╣реИред

@aqmappdesigners

рджреБрднрд╛рд╖рд┐рдпрд╛ рднрд╛рд╖рд╛ рдбрд╛рд░реНрдЯ рдЬреЛ рдПрдХ VM рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ

рдпрд╣ рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реИред

рд╕реНрдкрдВрджрди рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдбрд╛рд░реНрдЯ рд╡реАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╣реЙрдЯ-рд░реАрд▓реЛрдб рдХреЛ рднреА рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред
рд░рд┐рд▓реАрдЬ рдмрд┐рд▓реНрдб рдореЗрдВ рдбрд╛рд░реНрдЯ рдХреЛ рд╕реА ++ рдЬреИрд╕реЗ рдмрд╛рдЗрдирд░реА рдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

@zoechi рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ред рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ

рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ

рдФрд░ рд╕реЗрдм рдРрдк рд╕реНрдЯреЛрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

dart:ffi рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдЙрд╕ рдмрд┐рдВрджреБ рддрдХ рдЖрдЧреЗ рдмрдврд╝ рдЧрдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдо рдПрдкреАрдЖрдИ рдирд┐рд░реНрдгрдпреЛрдВ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗ рд░рд╣реЗ рд╣реИрдВред (рдХреБрдЫ рдбрд┐рдЬрд╛рдЗрди рдирд┐рд░реНрдгрдпреЛрдВ рдкрд░ рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ

рд╕реВрдЪрд┐рдд рдбрд┐рдЬрд╝рд╛рдЗрди рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХрд┐рди C API рдХреЛ рдмрд╛рдзреНрдп рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЕрдм рддрдХ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ SQLite, Realm, OpenCV, SuperPowered, рдФрд░ ffmpeg рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реИред рдХреЛрдИ рдЕрдиреНрдп рдПрдкреАрдЖрдИ рдЬрд┐рд╕ рдкрд░ рд╣рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

@dcharkes рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо
https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/jni/TgNetWrapper.cpp
рдпрд╣ ffmpeg рдХреЗ рд╕рд╛рде рдЬреАрдЖрдИрдПрдл рдкреНрд▓реЗрдмреИрдХ рдХреЛ рднреА рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ, рд╕реАрдзреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдмрд┐рдЯрдореИрдкреНрд╕ рдкрд░ рд▓рд┐рдЦрддрд╛ рд╣реИ:
https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/jni/gifvideo.cpp

рдкрдВрдЬреАрдХрд░рдг рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП libphonenumber рдФрд░ libpostal рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлреЛрди рдФрд░ рдкрддреЗ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ glfw + рд╕реНрдкрдВрджрди-рдПрдореНрдмреЗрдбрд░ рдФрд░ рд╢рд╛рдпрдж рдПрдХ рджрд┐рди рд╣рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдбрд╛рд░реНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реБрдЖ рдПрдХ рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдк рджреЗрдЦреЗрдВрдЧреЗред

SQLite рдФрд░ рджрд╛рдпрд░реЗ рдХреЗ рд▓рд┐рдП +1ред рдХреГрдкрдпрд╛ рдХреЙрдЪрдмреЗрд╕ рдХреЛ рднреА рджреЗрдЦреЗрдВ, рдЙрдирдХреЗ рдкрд╛рд╕ рд╕реА рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реА ++ рдХреЛрд░ рд╣реИред

рдХреНрдпрд╛ рдлрд╛рдпрд░рдмреЗрд╕ рд╕реА ++ рдПрдкреАрдЖрдИ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛? https://firebase.google.com/docs/reference/cpp/

рдЗрд╕ рдкрд░ рдЬреНрдпрд╛рджрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЖрдИрдУрдПрд╕ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рдПрдХ рд╣реА рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕реАрдзреЗ рд╕реА ++ рд╕реЗ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред

рдХреБрдЫ рдХреНрд░рд┐рдкреНрдЯреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬрдВрдЧ рд╕реЗ рдЕрдВрдЧреВрдареА рдЬреИрд╕рд╛ рдХреБрдЫ рдкреНрдпрд╛рд░ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП - https://github.com/briansmith/ring

OpenCV, рджрд╛рдпрд░реЗ, SqlCipher рдХреЗ рд▓рд┐рдП +1 (https://github.com/sqlcipher/sqlcipher)

рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдкреБрд╕реНрддрдХрд╛рд▓рдпред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓рд┐рдмрд╕реЛрдбрд┐рдпрдо рдпрд╛ рдЯрд┐рдВрдХред

https://github.com/google/tink

https://libsodium.gitbook.io/doc/

рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕реНрдкрдВрджрди-рд╕реЛрдбрд┐рдпрдо рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рдпрд╣ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЪреИрдирд▓реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд▓рд┐рдмреНрд╕реЛрдбрд┐рдпрдо рд░реИрдкрд░ рд╕реЗ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рджреЗрд╢реА рдХреЗ рд▓рд┐рдПред

рдХрд╕реНрдЯрдо рдореИрдкрд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬреИрд╕реЗ рдХрд┐ рдореИрдкрдмреЙрдХреНрд╕-рдЧреНрд▓ https://github.com/mapbox/mapbox-gl-native

https://github.com/deltachat/deltachat-core рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝реНрд▓рдЯрд░ рдХреЗ рд▓рд┐рдП рдПрд╕рдПрдордЯреАрдкреА/рдЖрдИрдПрдордПрдкреА рд╣реИрдВрдбрд▓рд┐рдВрдЧ (рдЪреИрдЯ-рдУрд╡рд░-рдИрдореЗрд▓ рдХреЗ рд▓рд┐рдП) рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдпрджрд┐ рдореИрдВ рдЗрддрдирд╛ рдмреЛрд▓реНрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдкреИрд░рд╛рдлреНрд░реЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╣реИрдВ:

  1. рдХрдо рд╡рд┐рд▓рдВрдмрддрд╛ рдСрдбрд┐рдпреЛ/рд╡реАрдбрд┐рдпреЛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдПрдХреНрд╕реЗрд╕ (рдЬреИрд╕реЗ, рд╕реБрдкрд░рдкрд╛рд╡рд░)
  2. рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЕрд╕рд┐рд╕реНрдЯреЗрдб a/v рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ (рдЬреИрд╕реЗ, ffmpeg)
  3. рдПрдХреНрд╕рдПрдордкреАрдкреА/рдЕрдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдЙрдиреНрдореБрдЦ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдЯреАрд╕реАрдкреА рдЖрдзрд╛рд░рд┐рдд рд╕реЙрдХреЗрдЯ рдПрдХреНрд╕реЗрд╕
    (рдЪреИрдЯ рдХреЗ рд▓рд┐рдП, рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди)
  4. рдкреНрд░реЛрд╕реЗрд╕ рд▓реЗрд╡рд▓ рдЕрдкрдЧреНрд░реЗрдб (рд░реВрдЯ рдПрдХреНрд╕реЗрд╕) / рд╕реНрдкреЙрдирд┐рдВрдЧ рдереНрд░реЗрдбреНрд╕
    рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдВрдЧрдд рддрд░реАрдХреЗ (рд╕рд┐рд╕реНрдЯрдо рдРрдкреНрд╕, рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ, рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рд▓рд┐рдП)

рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпреЗ рдкреНрд░рд╛рдердорд┐рдХ рд╣реИрдВ рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдЖрддреЗ рд╣реИрдВ
рдордиред

рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣ рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд╣реИред

@ рдХреМрд╢рд▓-рдЕрдк рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо рдЕрдореВрд░реНрдд рд╡рд░реНрдЧреАрдХрд░рдг рдХреЗ рдмрдЬрд╛рдп рдареЛрд╕ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдареЛрд╕ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдПрдлрдПрдлрдЖрдИ рдХреЗ рдПрд░реНрдЧреЛрдиреЙрдорд┐рдХреНрд╕ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ, рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЬреЛ рд╕реА ++ рд╕реЗ/рд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд░рд╕реНрдЯ рд╣реИ, рдЗрд╕рдХреЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдореИрдХреНрд░реЛ + рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдУрдУ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрджред

рдореИрдВ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХрд╣реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рдмреБрди рдЕрдиреБрд░реЛрдзреЛрдВ рдФрд░ рдПрдХреНрд╕рдПрдордПрд▓ рдлрд╛рдЗрд▓реЛрдВ (рдПрдХреНрд╕рдПрдордПрд▓рдбреАрдПрд╕рдЖрдИрдЬреА, рдПрдХреНрд╕рдбреЗрд╕ рдПрд▓) рдкрд░ рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдбрд╛рд░реНрдЯ рдореЗрдВ рд╣реА рдмреЛрд░рд┐рдВрдЧрдПрд╕рдПрд╕рдПрд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдбрд╛рд░реНрдЯ рдХреЗ рд╕рдВрдкрд░реНрдХ рдореЗрдВ рд╣реИред рддреЛ рдЕрдЧрд▓реА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╕реНрдкрдВрджрди рд╕реЗ рджреЗрд╢реА рдУрдкрдирд╕реНрд▓ рд▓рд┐рдм рдХреЛ рдХреЙрд▓ рдХрд░ рд░рд╣реА рд╣реИ

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╕реНрдкреИрдорд┐рдВрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЯреЗрдиреНрд╕рд░рдлреНрд▓реЛ рд▓рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рдПрдХреАрдХрд░рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреЗрдПрдирдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдпрд╣ рд╡реАрдбрд┐рдпреЛ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛

рдЗрд╕ рдкрд░ рдЬреНрдпрд╛рджрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЖрдИрдУрдПрд╕ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓рдЧрдЗрдиреНрд╕> рдХреЛ рдПрдХ рд╣реА рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕реАрдзреЗ рд╕реА ++ рд╕реЗ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред

рд╕реА ++ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рдкреНрд▓рдЧрдЗрди рд╣реИ рдЬреЛ рд╕реАрдзреЗ рдЧреЛ рд╕реЗ рдмрд╛рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрднреА рд╣рдо рдЧреЛ рдореЛрдмрд╛рдЗрд▓ рдФрд░ рд╕реНрдкрдВрджрди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЪреИрдирд▓реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдпреВрдЖрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИред рдлрд╝реНрд▓рдЯрд░ рдореЗрдВ рдЧреЛ рдФрд░ рд╕реА ++ рдХрд╛ рдореВрд▓ рд╕рдорд░реНрдерди рд╣реЛрдиреЗ рд╕реЗ рд╣рдореЗрдВ рдХрдИ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХреЛрдб-рдмреЗрд╕ (рдмрд┐рдЬрдиреЗрд╕-рд▓реЙрдЬрд┐рдХ/рдПрд▓реНрдЧреЛрд░рд┐рджрдо) рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рднреА рдорджрдж рдорд┐рд▓реЗрдЧреАред

рдореВрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП +1ред

рдореИрдВ рдПрдВрдбреНрд░реЙрдЗрдб/рдЖрдИрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдо рдЪреИрдирд▓ рдмрдирд╛рдиреЗ рдФрд░ рджреЛ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рдмрд┐рдирд╛ рд╡рд▓реНрдХрди/рдореЛрд▓реНрдЯреЗрдирд╡реАрдХреЗ рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ (рдЬреЛ рднреА рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛)ред рдпрд╣ рдХреЗрд╡рд▓ рдбрд╛рд░реНрдЯ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди, 3 рдбреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдмрдирд╛рд╡рдЯ рд╡рд┐рдЬреЗрдЯ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЪреИрдирд▓ рдмрд╕ рдПрдХ рд╣реИрдХреА рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рддрд░рд╣ рд▓рдЧрддреЗ рд╣реИрдВред рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдПрдХ рд░реИрдкрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд┐рдирд╛ рджреЗрд╢реА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЬрдм рднреА рдЙрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрддрд╛ рд╣реИ рддреЛ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдЧреАред

рд╣рд╛рдБ, рдХреГрдкрдпрд╛ рд╕реНрдкрдВрджрди рд╕реЗ рд╕реАрдзреЗ рджреЗрд╢реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдореИрдВ рд╕реНрдкрдВрджрди рдкрд░ рдХреБрдЫ рд╕реА ++ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБред

рд╣рд╛рдБ, рдХреГрдкрдпрд╛ рд╕реНрдкрдВрджрди рд╕реЗ рд╕реАрдзреЗ рджреЗрд╢реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдореИрдВ рд╕реНрдкрдВрджрди рдкрд░ рдХреБрдЫ рд╕реА ++ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБред

рдЕрдм рд╣рдо рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдо рдХреБрдЫ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдбрд╛рд░реНрдЯ рдЯреНрд░реИрдХрд┐рдВрдЧ рдмрдЧ рдореЗрдВ рдЕрдкрдбреЗрдЯ рджреЗрдЦреЗрдВред

рдкрд╛рд░реНрдЯреА рдХреЗ рд▓рд┐рдП рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ, рд▓реЗрдХрд┐рди SQLCipher @dcharkes @mraleph . рдХреЗ рд▓рд┐рдП +1

@ doc-rj рдЕрдм рд╣рдо рдЙрд╕ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рд╣реИрдВ рдЬрд╣рд╛рдБ рдЖрдкрдХреЛ SQLCipher рдХреЛ рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдкрд░ рд╣рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВред

рдореИрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЬреЛрд░ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╕реНрд╡рдпрдВ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рдирд╣реАрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ - рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреБрд░реЛрдз рдмреЗрд╣рдж рд╡рд┐рд╡рд┐рдз рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдФрд░ рдХрд┐рд╕реА рдХреЛ рднреА рд╕реА рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рдЬреБрдбрд╝рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рдирд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдмрдврд╝ рдЧрдИ рд╣реИ рдХрд┐ рдорд▓реНрдЯреА-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдХрд┐рд╕реА рд░реЛрдбрдореИрдк рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ?

@felemedeiros рдХрд╛рдо рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ - рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдПрдлрдПрдлрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВред

рдЗрд╕ рдкрд░ рдЬреНрдпрд╛рджрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЖрдИрдУрдПрд╕ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓рдЧрдЗрдиреНрд╕> рдХреЛ рдПрдХ рд╣реА рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕реАрдзреЗ рд╕реА ++ рд╕реЗ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред

рд╕реА ++ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рдкреНрд▓рдЧрдЗрди рд╣реИ рдЬреЛ рд╕реАрдзреЗ рдЧреЛ рд╕реЗ рдмрд╛рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрднреА рд╣рдо рдЧреЛ рдореЛрдмрд╛рдЗрд▓ рдФрд░ рд╕реНрдкрдВрджрди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЪреИрдирд▓реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдпреВрдЖрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИред рдлрд╝реНрд▓рдЯрд░ рдореЗрдВ рдЧреЛ рдФрд░ рд╕реА ++ рдХрд╛ рдореВрд▓ рд╕рдорд░реНрдерди рд╣реЛрдиреЗ рд╕реЗ рд╣рдореЗрдВ рдХрдИ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХреЛрдб-рдмреЗрд╕ (рдмрд┐рдЬрдиреЗрд╕-рд▓реЙрдЬрд┐рдХ/рдПрд▓реНрдЧреЛрд░рд┐рджрдо) рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рднреА рдорджрдж рдорд┐рд▓реЗрдЧреАред

рдореИрдВрдиреЗ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рдерд╛ рдХрд┐ рдХреИрд╕реЗ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдлрд╝реНрд▓рдЯрд░ рд╕реЗ рдЧреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдПрдкреАрдЖрдИ рдХреЛ рдХреЙрд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред https://medium.com/@archan.paul/using -go-library-in-flutter-a04e3496aa05

рдореИрдВ рд╕реНрдкрдВрджрди рдРрдк рдкрд░ c++ рдХреЛрдб рдХреИрд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ?

рдореИрдВ рд╕реНрдкрдВрджрди рдРрдк рдкрд░ c++ рдХреЛрдб рдХреИрд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрднреА рдХреЗрд╡рд▓ рд╡рд┐рдХрд▓реНрдк C++ -> JNI (рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП) -> PlatformChannel рддрд░реАрдХрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рди рд╣реЛ !!

рдореИрдВрдиреЗ рдИрдЬрд╝реЛрд░реЗрдб (http://ezored.com) рдирд╛рдордХ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ред рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдореИрдВ рдЬрдЯрд┐рд▓ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕реНрдкрдВрджрди рдореЗрдВ рдкрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪреАрдЬ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рд╡рд╛ рдФрд░ рдУрдмреАрдЬреЗрд╕реА рдореЗрдВ рд╣реИред рджреЗрд╢реА рдФрд░ рдбрд╛рд░реНрдЯ рдХреЗ рдмреАрдЪ рд╕реНрдкрдВрджрди рдПрдХреАрдХрд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдПрд╕рдбреАрдХреЗ (рдпрд╛ рдкреНрд░реАрдмрд┐рд▓реНрдЯ рдбрд╛рдЙрдирд▓реЛрдб) рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдИрдЬрд╝реЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрд░реЛрдз, рдкрд╛рд░реНрд╕рд┐рдВрдЧ, рдХреНрд░реВрдб рдФрд░ рдбреЗрдореЛ рдПрд╕рдбреАрдХреЗ рдореЗрдВ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд╛рдЧреВ рд╣реИрдВред

рдореИрдВ рд╕реНрдкрдВрджрди рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рд╡рд╕реНрддреБрдУрдВ рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдХреЛ рд╕реНрдкрдВрджрди рдкреНрд░рддреНрдпрдХреНрд╖ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рдХрд┐рд╕реА рднреА рдорджрдж рдореЗрдВ рдзрдиреНрдпрд╡рд╛рджред

рдХреЛрдИ рдирдИ рдкреНрд░рдЧрддрд┐? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 2.5 рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдмреАрдд рдЪреБрдХрд╛ рд╣реИ ...

@fzyzcjy рд╣рдо рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдордиреЗ рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИред рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ https://github.com/dart-lang/sdk/issues/34452#issuecomment -482136759 рджреЗрдЦреЗрдВред

рдЗрд╕ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЗ рдмрд╛рдж рд╕реЗ рд╣рдордиреЗ рдЗрдВрдЯреЗрд▓ 32, рдЖрд░реНрдо 64 рдФрд░ рдЖрд░реНрдо 32 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рд╣реИред рдпреЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЕрднреА рддрдХ рд╕реНрдерд┐рд░ рдпрд╛ рджреЗрд╡ рдкрд░ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдпреЗ рдХреЗрд╡рд▓ рдбрд╛рд░реНрдЯ рдПрд╕рдбреАрдХреЗ рдХреА рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдпрд╣рд╛рдВ рдкреНрд░рдЧрддрд┐ рдкрд░ рдирдЬрд░ рд░рдЦреА рдЬрд╛ рд░рд╣реА рд╣реИ ред

@dcharkes рдпрд╣ рд╕реБрдирдХрд░ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реБрдИ! рдЖрдкрдХреЗ рд╢рд╛рдирджрд╛рд░ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╢реБрдХреНрд░рд┐рдпрд╛!

рдХреЛрдЗ рдкреНрд░рдЧрддрд┐?

рд╕реНрдерд┐рддрд┐ рдЕрджреНрдпрддрди рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ https://github.com/dart-lang/sdk/issues/34452 рджреЗрдЦреЗрдВред рд╕рдмрд╕реЗ рдКрдкрд░ рдХреА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдЕрдкрдбреЗрдЯ рд╣реИред

рд╡реЗрдм рдРрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрдВрджрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдХреНрдпрд╛ рдПрд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдПрдлрдПрдлрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?

рд╡реЗрдм рдРрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрдВрджрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдХреНрдпрд╛ рдПрд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдПрдлрдПрдлрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?

рдЗрд╕рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЗрд╕реЗ WebAssembly рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

@ рд╕рд╛рде-рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡ рдореЗрдВя╝Я

рд╡реЗрдм рдРрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрдВрджрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдХреНрдпрд╛ рдПрд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдПрдлрдПрдлрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?

рдЗрд╕рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЗрд╕реЗ WebAssembly рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЗрд╕реЗ WebAssembly рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реЛрдЧреА? рдЕрдЧрд░ рдЖрдк рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд▓реЛрдЧреЛрдВ рд╕реЗ WebAssembly рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЕрднреА ASM.js рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред

@ nic-hartley рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЪреБрдиреМрддреА рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореВрд▓ рдХреЛрдб рдХреЛ рдХреИрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдпрд╣ рдбрд╛рд░реНрдЯ (JS рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд) рдФрд░ рдореВрд▓ рдХреЛрдб рдХреЗ рдмреАрдЪ рд╕реЗрддреБ рдмрдирд╛рдиреЗ рдореЗрдВ рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ рдХрд┐рд╕реА рднреА рд░реВрдк рдореЗрдВ рд╣реЛред

рдореВрд▓ FFI рдкреНрд░рджрд░реНрд╢рди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдмрд╣реБрдд рдирд┐рдореНрди-рд╕реНрддрд░ рдХрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ asm.js рдпрд╛ WebAssembly рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрд╣реБрдд рдирд┐рдореНрди рд╕реНрддрд░ рдХрд╛ рд╣реИ - рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╕реНрдкрдВрджрди рдХреЗрд╡рд▓ рдПрдХ рдЦрд┐рд▓реМрдирд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ c++ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдореИрдВ рдпрд╣рд╛рдВ рджреВрд╕рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд╛рди рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдкреНрд░рддрд┐рдзреНрд╡рдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛ рд╣реВрдВ, рдЬрдм рддрдХ рдХрд┐ рдлрд╝реНрд▓рдЯрд░ рдЖрд╕рд╛рдиреА рд╕реЗ C ++ (рдмрд┐рдирд╛ рдмреНрд░рд┐рдЬ рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рдФрд░ рдХреЛрдИ рдкреНрд░рджрд░реНрд╢рди рджрдВрдб рдХреЗ рд╕рд╛рде) рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдСрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рдореМрдЬреВрджрд╛ рджреЗрд╢реА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ, рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдирд┐рд╡реЗрд╢ рдХреЗ рд╕рд╛рде рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрднреА рдирд╣реАрдВ рдЕрдкрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЬрд╣рд╛рдВ рдкреНрд░рджрд░реНрд╢рди рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИред

рдореИрдВ рдзреНрдпрд╛рди рджреВрдВрдЧрд╛ рдХрд┐ рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рднреА рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдкреБрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдПрдлрдПрдлрдЖрдИ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реНрдкрдВрджрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдЧреЗ рдХреА рдУрд░ рд╣реИред

рдЖрдИрдУрдПрд╕ рдкрд░ рдРрдкрдХрд┐рдЯ рдХреЗ рд╕рд╛рде рд╕реА ++ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдЫреЛрдЯрд╛ рд╣реИред рд╣рдореЗрдВ рдЗрд╕реА рд╕реЗ рддреБрд▓рдирд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рд╕реЗред

рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдФрд░ рд╕реА ++ рднреА рдЫреЛрдЯрд╛ рд╣реИред

рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ "рдбрд╛рд░реНрдЯ рдПрдлрдПрдлрдЖрдИ рдкреНрд░рдпрд╛рд╕ рдХрд╛ рд╕рдорд░реНрдерди" рдкрд╛рд░реНрдЯреА рдХреЗ рд▓рд┐рдП рднреА рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ ...

Xamarin UWP рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рддреБрд▓рдирд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди Xamarin рдХреЗ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рджреГрд╢реНрдп рдлрд╝реНрд▓рдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рдЧрднрдЧ рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рдирд╣реАрдВ рдереЗ рдФрд░ рдЕрдХреНрд╕рд░ рд╕рднреНрдп рджрд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рджреЗрд╢реА рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рдереАред

рдпрд╣ рд╕рдЪ рдирд╣реАрдВ рд╣реИред Flutter рдХреЗ рд╡рд┐рдкрд░реАрдд, Xamarin рдХреЗ рдкрд╛рд╕ рдореВрд▓ API (рдпрд╛рдиреА Xamarin.iOS рдФрд░ Xamarin.Android) рдХреЗ рд▓рд┐рдП рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╣реИ, рдФрд░ рдРрдк рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рднрд╛рд╖рд╛ (C#/.NET) рдореЗрдВ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ UI рд╡рд┐рдЬреЗрдЯ API рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд╕рд╛рде рдорд┐рд╢реНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдмрд╣реБрдд рд╕рд╛рд░реЗ рджреЗрд╢реА рдПрдкреАрдЖрдИ рдЙрдкрдпреЛрдЧ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдореВрд▓ рдХреЛрдб рдЖрдордВрддреНрд░рдг рдирд╣реАрдВ рд╣реИ, рдЬрд╣рд╛рдВ рдлрд╝реНрд▓рдЯрд░ рдПрдХ рд╣реА рдирд╛рд╡ рдкрд░ рд╣реЛрдЧрд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬрд╝реИрдорд░рд┐рди рдХреЛ рдЬрд╛рд╡рд╛ рдпрд╛ рдУрдмреАрдЬреЗрд╕реА рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдРрдк рдХреЛрдб рдореЗрдВ рдХреЛрдИ рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╣реИрдХ рдирд╣реАрдВ рд╣реИ)ред рдореВрд▓ рдХреЛрдб рдХреЗ рд▓рд┐рдП , рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ Xamarin.Android рдкрд░ рднреА (рдмреИрдХрдПрдВрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдмреИрдХрдПрдВрдб рдореЗрдВ рд╕реЗ рдПрдХ) рдореВрд▓ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╣реБрдд рдХрдо рд╣реИ, рдФрд░ рдРрдк рдбреЗрд╡рд▓рдкрд░ рдХреЛрдИ рдореВрд▓ рдХреЛрдб рдирд╣реАрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред

рдФрд░ рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдпрд╛ рдЬрд╝рд╛рдорд░реАрди рдХреЗ рд╡рд┐рдкрд░реАрдд, рдлрд╝реНрд▓рдЯрд░ рдХреЛ рдЕрдкрдирд╛ рдкреВрд░рд╛ рдврд╛рдВрдЪрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдЪрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ рдХрд┐ рд╣рдо рдкреВрд░реЗ рдлрд╝реНрд▓рдЯрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдРрдкрдХрд┐рдЯ рдЬреИрд╕реА рдЪреАрдЬрд╝реЛрдВ рд╕реЗ рдХрд░реЗрдВред

рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рднреА рдХреНрдпреВрдЯреА рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рд╕реА ++ рдПрдХреАрдХрд░рдг рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЖрдЧреЗ рд╣реИ

рдХреНрдпреВрдЯреА рд╕реА ++ рд╣реИред рдФрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рдХреВрд▓ рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╣реИред

рд╕реЛрдо рдкрд░, 12 рдЕрдЧрд╕реНрдд 2019, 06:41 рд╡реНрд▓рд╛рджрд┐рд╕реНрд▓рд╛рд╡ рд╕реНрдЯреЗрд▓рдорд╛рдЦреЛрд╡рд╕реНрдХреА, <
рд╕реВрдЪрдирд╛рдПрдВ@github.com> рдиреЗ рд▓рд┐рдЦрд╛:

рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рднреА рдХреНрдпреВрдЯреА рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдмрд╣реБрдд рдЖрдЧреЗ рд╣реИ
рд╕реА ++ рдПрдХреАрдХрд░рдг рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/flutter/flutter/issues/7053?email_source=notifications&email_token=AGDYMWXHTJUBUW64LEOO27TQEDSWNA5CNFSM4CXY6LYKYY3PNVWWWK3TUL52HS4DFVREXG43VMVBW63DNMVW20D2071KT
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AGDYMWTNMTM7QUOY2BEIPM3QEDSWNANCNFSM4CXY6LYA
.

рдХреНрдпреВрдЯреА рд╕реА ++ рдФрд░ рдХреНрдпреВрдПрдордПрд▓ (рдЬреЗрдПрд╕ рдЗрдВрдЬрди) рд╣реИ
рдХреНрдпрд╛ рд▓рд╛рдЗрд╕реЗрдВрд╕? рдПрд▓рдЬреАрдкреАрдПрд▓? рдЬреАрдкреАрдПрд▓? рдЗрд╕рдореЗрдВ рдЧрд▓рдд рдХреНрдпрд╛ рд╣реИ?

IANAL рд╕реЗ рдкрд╣рд▓реЗ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреНрдпреВрдЯреА рдПрд▓рдЬреАрдкреАрдПрд▓ (рдЖрдИрдбреАрдИ рдЗрддреНрдпрд╛рджрд┐ рдЬреАрдкреАрдПрд▓ рд╣реИрдВ) рдмрдВрдж рд╕реНрд░реЛрдд рд╣реИред

рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдПрд▓рдЬреАрдкреАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╛рдЗрд▓реЗрдВ (рдФрд░ рд╢рд╛рдпрдж рдирд┐рд░реНрджреЗрд╢) рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдХрд┐рд╕реА рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╡рд┐рд░реБрджреНрдз рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХреЗрдВ, рддреЛ рдЖрдк рдПрд▓рдЬреАрдкреАрдПрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдХреНрдпреВрдЯреА рдХрдВрдкрдиреА рдЙрд╕ рддрдереНрдп рдХрд╛ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдо рдзрд╛рд░рдгрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рд╕реНрдерд┐рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рддреИрдирд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдРрдк рдХреЛ рдРрдк рд╕реНрдЯреЛрд░ рдкрд░ рдЙрдирдХреЗ рдЬрдмрд░рди рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╢реБрд▓реНрдХ рдХрд╛ рднреБрдЧрддрд╛рди рдХрд┐рдП рдмрд┐рдирд╛ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдФрд░ рдореИрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╛рдЗрд▓ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ, рдпрд╣ рд╕рд┐рд░реНрдл рдореЗрд░реА рд╕рдордЭ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреЛрдИ рдХрдВрдкрдиреА рдРрд╕рд╛ рдХрд░ рд░рд╣реА рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдПрдВрдбреНрд░реЙрдЗрдб рдЖрд╕рд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд▓реЛрдб рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдПрд▓рдЬреАрдкреАрдПрд▓ рдХреЗ рддрд╣рдд рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд╕реНрдерд┐рд░ рд▓рд┐рдВрдХрд┐рдВрдЧ рд╢рд╛рдпрдж рдРрдк рдЖрдХрд╛рд░ рдХреЛ рдиреАрдЪреЗ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред

рд╣рд╛рдп @cpboyd , рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рд╕реЗ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╡рд┐рд╢рд┐рд╖реНрдЯ UI рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдирд┐рд░реНрдорд┐рдд рдРрдкреНрд╕ рд╣реИрдВ, рдЬрд╣рд╛рдБ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣рдореЗрдВ рдореМрдЬреВрджрд╛ C++ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╣рдорд╛рд░реЗ рд╡рд┐рд╢рд╛рд▓ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд╕реНрдкрдВрджрди рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИ, рдЬреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ (рдореЗрд░реЗ рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЗ рд╕рд╛рде), рддреЛ рдореИрдВ рдЧреИрд░-рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо UI рдХреЗ рд╕рд╛рде рдЪрд┐рдкрдХреЗ рд░рд╣рдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реВрдВред рдПрдХрдорд╛рддреНрд░ рд╕реНрдЯрд┐рдХрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рддрдм рдЖрддрд╛ рд╣реИ рдЬрдм рднрд╡рд┐рд╖реНрдп рдХреЗ рдУрдПрд╕ (рдЬреИрд╕реЗ рдлреБрдХрд┐рдпрд╛) рдХреЛ рдлрд╝реНрд▓рдЯрд░ рдФрд░ рдбрд╛рд░реНрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмрдбрд╝реЗ рдореМрдЬреВрджрд╛ рдХреЛрдбрдмреЗрд╕ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдлрд╝реНрд▓рдЯрд░/рдбрд╛рд░реНрдЯ рдХреЛ "рд╡реЗрдм" рдРрдкреНрд╕ (рдпрд╛рдиреА рдЬрд╣рд╛рдВ рдмреИрдХрдПрдВрдб рд╡реЗрдм рдкрд░ рд╣реИрдВ) рдХреЗ рд╕рд╛рде рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рдкреЗрд╢реЗрд╡рд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдЬрд░реВрд░рддреЛрдВ рдкрд░ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдЕрдВрддрддрдГ рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рд░реНрдгрдп рдРрдк рд╕реНрдЯреЛрд░ рдкрд░ рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд░ рдореИрдВ рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреА рд▓рд╛рдЦреЛрдВ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП UIKit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ iOS рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓рд╛ рдкреЗрд╢реЗрд╡рд░ рдРрдк рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рдлреБрдХрд┐рдпрд╛/рд╕реНрдкрдВрджрди/рдбрд╛рд░реНрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ рдореИрдВ (рд▓рдЧрднрдЧ-рд╢реВрдиреНрдп рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рдЧрдд рдХреЗ рд╕рд╛рде) рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рддреЛ рд╡рд╣ рд╣реЛрдЧрд╛ рдПрдХ OS рдФрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдмрдиреЗрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореИрдВ рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рд╣реЛрдКрдВрдЧрд╛ред

рдореЗрд░реА рдкреЛрд╕реНрдЯ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдлрд╝реНрд▓рдЯрд░ рдХреА рддреБрд▓рдирд╛ рдЕрдиреНрдп рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдпрд╛ рдЧреИрд░-рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдХрд░рдирд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЙрди рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рдмрд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред

рдбрд╛рд░реНрдЯ рдПрдлрдПрдлрдЖрдИ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдПрд╕рдХреНрд▓рд╛рдЗрдЯ рдЙрджрд╛рд╣рд░рдг рдХреЗ _very_ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкрдврд╝рдиреЗ рд╕реЗ, рдпрд╣

#include <mylib/mytype.h>
<strong i="11">@implementation</strong> MyView
{
    MyLib::MyType *_pMyType;
}
<strong i="12">@end</strong>

рдпрд╛ C++/WinRT рдХреЗ рд╕рд╛рде UWP:

#include <mylib/mytype.h>
class MyUserControl : public UserControl
{
    MyLib::MyType *_pMyType;
};

рдзрдиреНрдпрд╡рд╛рдж :-)

@Hixie @MarkIngramUK рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдореЗрд░реА рдмрд╛рдд рдереАред
рдРрдкрдХрд┐рдЯ рдХреЗрд╡рд▓ рдРрдкреНрдкрд▓ рд╣реИ, рдЬрдмрдХрд┐ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╣реИред
рд╢рд╛рдпрдж рдЕрдЧрд░ рдлрд╝реНрд▓рдЯрд░ рдиреЗ рдбрд╛рд░реНрдЯ рдХреЗ рдмрдЬрд╛рдп рд╕реНрд╡рд┐рдлреНрдЯ рдпрд╛ рд╕реА # рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реЛрддрд╛, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдорд╛рди рд╕реНрддрд░ рдХрд╛ рд╕рдорд░реНрдерди рд╣реЛрддрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рддрд░реНрдХ рд╣реИред
Xamarin UWP рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рддреБрд▓рдирд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди Xamarin рдХреЗ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рджреГрд╢реНрдп рдлрд╝реНрд▓рдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рдЧрднрдЧ рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рдирд╣реАрдВ рдереЗ рдФрд░ рдЕрдХреНрд╕рд░ рд╕рднреНрдп рджрд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рджреЗрд╢реА рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рдереАред
рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рдЕрднреА рднреА рдмрдирд╛ рд╣реБрдЖ рд╣реИ: рдпрджрд┐ рдЖрдк рд╕реА ++ рдХреЗ рд╕рд╛рде рдлрд╝реНрд▓рдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдбрд╛рд░реНрдЯ рдЯреАрдо рдХреЗ рдПрдлрдПрдлрдЖрдИ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ рднрд╛рдЧ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╣рдо рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП

рдпрд╣ рд╕рдорд╕реНрдпрд╛ рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ UI рд╡рд┐рдЬреЗрдЯ API рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд╕рд╛рде рдорд┐рд╢реНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

@atsushieno рдЬрд╝рд░реВрд░, рдФрд░ рдЗрд╕реАрд▓рд┐рдП рдбрд╛рд░реНрдЯ рдПрдлрдПрдлрдЖрдИ рдлреЛрд░рдо рдкрд░ рдпрд╣ рдЪрд░реНрдЪрд╛ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рд╣реЛрдЧреА ... рд╕реНрдкрдВрджрди рдврд╛рдВрдЪрд╛ рд╣реИред рдбрд╛рд░реНрдЯ рднрд╛рд╖рд╛ рд╣реИред

рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрдХрд░реНрд╖рдХ рдирд╣реАрдВ рд╣реИ рдЬрдм рдЖрдк рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдУрдмреНрдЬреЗ-рд╕реА рд╡рд░реНрдЧ рдХреА рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ:

@MarkIngramUK рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдбрд╛рд░реНрдЯ рдЯреАрдо https://groups.google.com/forum/#!forum/dart -ffi рдкрд░ рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдЧреАред

рдореЗрд░реЗ рдкрд╛рд╕ рдИрдЬрд╝реЛрд░реНрдб (https://ezored.com) рдирд╛рдордХ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ рдПрд╕рдбреАрдХреЗ рдФрд░ рд╕реА ++ рдореЗрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реА ++ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИред рд╣рдо рдореЛрдмрд╛рдЗрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ (рдПрдВрдбреНрд░реЙрдЗрдб рдФрд░ рдЖрдИрдУрдПрд╕) рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ рдПрдХ рдРрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдлрдПрдлрдЖрдИ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рд╕реНрдкрдВрджрди рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред

рд╣рдореЗрдВ рд╕реА ++ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рджреЗрд╡ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╕рдордп рдХрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрд╕рдбреАрдХреЗ рдХреЗ рдкрд╛рд╕ рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдореЗрдВ рдПрдХ рд╣реА рдХреЛрдб рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдкреЛрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ, рдУрдкрдирдПрд╕рдПрд▓, рдПрд╕рдХреНрд▓рд╛рдЗрдЯ, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛрдб рдПрдХреАрдХреГрдд) рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдмреНрд░рд┐рдЬ рдХреЛрдб рдЖрджрд┐ рдХреЗ рд╕рд╛рде)ред

рдореЗрд░реЗ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ:

  • C++ рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде iOS рдФрд░ Android (ezored)
  • рд╕реНрдкрдВрджрди рдФрд░ C++ рдмреИрдХрдПрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рд╢реБрд░реБрдЖрдд рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ :)

рдХреЛрдЯрд▓рд┐рди рдорд▓реНрдЯреАрдкреНрд▓реЗрдЯрдлрд╛рд░реНрдо рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╕рд╣реА рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВред рдЕрднреА рднреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ https://github.com/dart-lang/sdk/issues/34452

Unity3d рд▓рдЧрддрд╛ рд╣реИ рдХрд┐рд╕реА рддрд░рд╣ рдЙрдирдХреЗ рдЗрдВрдЬрди рдореЗрдВ рд╕реНрдкрдВрджрди рдкреЛрд░реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ C# VM [1] рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ - рдЙрд╕ рджреБрдирд┐рдпрд╛ рдореЗрдВ C# рдФрд░ C++ рдХреЗ рдмреАрдЪ рдмрд╛рдд рдХрд░рдирд╛ рд╕рднреНрдп рд╣реИред рд╢рд╛рдпрдж рдЙрдирдХреЗ рд░реЗрдкреЛ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рд▓рд╛рдпрдХ рд╣реЛ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреБрдЫ рдореБрджреНрджреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ред рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ: "UIWidgets рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реНрдкрдВрджрди рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ"ред рдореИрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрд╢реА рд╢рд┐рд╡рд┐рд░ рдФрд░ TurboModules рдХреЗ рд╕рд╛рде рдЙрдирдХреЗ рдирдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рднреА рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реВрдВрдЧрд╛ - рдЙрдирдХреЗ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рд╕реНрдкрдВрджрди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рдмрдврд╝рдд рд╣реЛ рд╕рдХрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣реЛрдЧрд╛
1) рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рджреЛрдиреЛрдВ рдФрд░
2) рдХреЛрдИ рдорд╛рд░реНрд╢рд▓рд┐рдВрдЧ рдирд╣реАрдВ рд╣реЛрдЧреА рдФрд░
3) рди рдХреЗрд╡рд▓ C рдмрд▓реНрдХрд┐ C++ рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛

рдореИрдВ рджреЛрдиреЛрдВ рдЦреЗрдореЛрдВ рдХреА рдЬрдп-рдЬрдпрдХрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

[1] https://github.com/UnityTech/UIWidgets

рдбрд╛рд░реНрдЯ 2.5 рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ ( dart:ffi ) рдЕрдм рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ рд╣реИ:
https://medium.com/dartlang/announcing-dart-2-5-super-charged-development-328822024970

рдмрдврд╝рд┐рдпрд╛ рдЦрдмрд░!

рдордореНрдо... рдХреНрдпрд╛ рд╕реНрдкрдВрджрди рдХреЗ рд╕рд╛рде рдУрдмреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛?..

https://github.com/google/oboe

@rg4real рд╣рд╛рдБ! рд▓реЗрдХрд┐рди, рдЖрдкрдХреЛ рдХреБрдЫ рд╕реА рд░реИрдкрд░ рд▓рд┐рдЦрдиреЗ рд╣реЛрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рдУрдмреЛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реА ++ рдореЗрдВ рд╣реИред

рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдк https://github.com/flutter/flutter/wiki/Binding-to-native-code-via-FFI рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдк рдореЗрд░реЗ oboe-c.so рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕реА # рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдерд╛, рдЕрдЧрд░ рд╡рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ https://github.com/atsushieno/oboe-sharp/tree/master/native

@ sjindel-google, рдпрд╣ рдХреБрдЫ рдХрдорд╛рд▓ рдХреА рдЦрдмрд░реЗрдВ рд╣реИрдВ!

рддреЛ рдореБрдЭреЗ рдХрдХреНрд╖рд╛рдПрдВ рдФрд░ рдХрд╛рд░реНрдп рдмрдирд╛рдХрд░ рд╕реА ++ рдФрд░ рд╕реА рдХреЛрдб рдХреЗ рдмреАрдЪ рдПрдХ рдкреБрд▓ рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдФрд░ рдлрд┐рд░ рдореИрдВ рдЙрди рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдбрд╛рд░реНрдЯ рдХреЛрдб рд╕реЗ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╣реА рд╣реИред

@atsushieno , рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреБрд▓ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП (рдЕрдиреБрднрд╡ рдХреА рдХрдореА)ред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдкрдиреЗ рдУрдмреЛ рдХреЗ рд╕рд╛рде рд╕рдЯреАрдХ рдЦреЗрд▓рдиреЗ рдХреЗ рдЕрдкрдиреЗ рд╕рдордЧреНрд░ рд▓рдХреНрд╖реНрдп рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд┐рдпрд╛? рдХреНрдпрд╛ рдпрд╣ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдерд╛?

@ rg4real рдореИрдВ рдХрдо рд╡рд┐рд▓рдВрдмрддрд╛ рдСрдбрд┐рдпреЛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреЗрд╡рд▓ рд╕рд░рд▓ API (OpenSLES рдХреА рддреБрд▓рдирд╛ рдореЗрдВ) рдХреЗ рд▓рд┐рдП рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЕрдЧрд░ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рд▓рдВрдмрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЧрдВрднреАрд░ рд╣реЛрддрд╛ рддреЛ рдореИрдВ Xamarin.Android рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ред рдпрджрд┐ рдЖрдк рдУрдмреЛ (рдпрд╛ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдСрдбрд┐рдпреЛ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЗрд╕реЗ рдлреНрд▓реВрдЗрдбрд╕рд┐рдВрде рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛

рд╕реНрдореГрддрд┐ рдХреИрд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЧрд╛рдЗрдб рд╣реИ?

рдпрджрд┐ рд╕реА ++ рдХреЛрдб рдирдП/рдореЙрд▓реЛрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдореЛрд░реА рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдбрд╛рд░реНрдЯ рдХреЛрдб рдкрд░ рд╡рд╛рдкрд╕ рдЖрддрд╛ рд╣реИ, рддреЛ рдЙрд╕ рдореЗрдореЛрд░реА рдХреЛ рдХреИрд╕реЗ рдореБрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

рд╕реА++ рдХреЛрдб
рд╢реВрдиреНрдп рдлреВ (рдЪрд╛рд░ ** рдмрд╛рд╣рд░) {
*рдмрд╛рд╣рд░ = рдирдпрд╛ рдЪрд╛рд░ [25];
}

|рдЖрдЙрдЯ| . рдХреЛ рд╕реМрдВрдкреА рдЧрдИ рдореЗрдореЛрд░реА рдХреЛ рдХреИрд╕реЗ рдбрд┐рд▓реАрдЯ рдХрд░реЗрдВ рдбрд╛рд░реНрдЯ рдХреЛрдб рд╕реЗ рдЪрд░?

рдпрджрд┐ рдЖрдк рдбрд╛рд░реНрдЯ 2.5 рдкрд░ рд╣реИрдВ, рддреЛ .free() рдкрд░ Pointer ред рдпрджрд┐ рдЖрдк рджреЗрд╡/рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╣реИрдВ рддреЛ рдпрд╣ рд╡рд┐рдзрд┐ package:ffi https://github.com/dart-lang/ffi/blob/master/lib/src/allocation.dart#L70 рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЧрдИ рд╣реИ

рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЕрдиреБрд╕рд╛рд░ - "рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ [рдЖрд╡рдВрдЯрд┐рдд] рдХреЗ рдмрд░рд╛рдмрд░ рддрд░реАрдХреЗ рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЗ рд╡рд┐рд░реБрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред" - рдлреНрд░реА () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддрднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред

рдЬреИрд╕реЗ
рдПрдлрдПрдлрдЖрдИ.рд╕реВрдЪрдХрдкреАрдЯреАрдЖрд░ = рдПрдлрдПрдлрдЖрдИред рд╕реВрдЪрдХрдЖрд╡рдВрдЯрд┐рдд ();
рдкреАрдЯреАрдЖрд░ рдореБрдХреНрдд ();

рдХреНрдпрд╛ рдпрд╣ рд╕реНрдореГрддрд┐ рдХреЛ рдореБрдХреНрдд рдХрд░рдиреЗ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕реА ++ рдкрдХреНрд╖ рдореЗрдВ рдбрд╛рд░реНрдЯ рдХреЛрдб рд╕реЗ рдирдП рдпрд╛ рдореЙрд▓реЛрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

рдЬрдм рддрдХ рд╕реНрдореГрддрд┐ рдХреЛ malloc рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпрд╛ рддреЛ рдбрд╛рд░реНрдЯ рдпрд╛ рд╕реА ++ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЗрд╕реЗ free рдореБрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдбрд╛рд░реНрдЯ 2.6 рд╣рдо рдХрд╛ рдЙрдкрдпреЛрдЧ DynamicLibrary.lookupFunction("free") рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП free рдбрд╛рд░реНрдЯ рдореЗрдВ, рддреЛ рдпрд╣ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА free рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕реА ++ рднрд╛рдЧ рдореЗрдВ рдХреЗ рд░реВрдк рдореЗрдВред (рдЬрдм рддрдХ рдЖрдк рдЕрдкрдиреЗ рдмрд╛рдЗрдирд░реА рдореЗрдВ free рдХрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд▓рд┐рдВрдХ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред)

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрдм рд╕рднреА рдлрд╝реНрд▓рдЯрд░ рдЪреИрдирд▓реЛрдВ рдореЗрдВ рдЖрдо рддреМрд░ рдкрд░ (рдмреАрдЯрд╛ рдореЗрдВ) рдЙрдкрд▓рдмреНрдз рд╣реИред рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕реБрдзрд╛рд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд░рд╣реЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рд╡рд┐рд╕реНрддреГрдд рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдЙрдиреНрд╣реЗрдВ https://github.com/dart-lang/sdk/issues/new рдкрд░ рджрд░реНрдЬ рдХрд░реЗрдВред

рд╕реА ++ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд╕реА рд╕рдВрдЧрддрддрд╛ рдмрдирд╛рдирд╛ рдЧрдиреНрджрд╛ рд╣реИред рдХреГрдкрдпрд╛ рд╕реА ++ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд╕реАрдзреЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдмрдирд╛рдПрдВ

+1 рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реА ++ рд╕рдорд░реНрдерди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

@KaungZawHtet рдФрд░ @fzyzcjy - рдХреГрдкрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ (рд╢рд╛рдпрдж рд╕реНрдкрдВрджрди рдХреЗ рдмрдЬрд╛рдп рдбрд╛рд░реНрдЯ-рд▓реИрдВрдЧ рдореЗрдВ) рдЦреЛрд▓рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ - рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдиреЗ рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдореВрд▓ рд▓рдХреНрд╖реНрдп рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╣рд╛рдВ, рдирдП рдореБрджреНрджреЛрдВ рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╛рдЗрд▓ рдХрд░реЗрдВ: https://github.com/dart-lang/sdk/issues/new?labels=library-ffi ,area-vm

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

aegis123 picture aegis123  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

drewwarren picture drewwarren  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

collinjackson picture collinjackson  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dyu picture dyu  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

apwilson picture apwilson  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ