ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Matrix-ΡΡΡΠ²ΡΡ , ΠΊΠΎΠΉΡΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π² Π΅ΡΠ°ΠΏΠ° Π½Π° Π±Π΅ΡΠ°-ΡΠ΅ΡΡΠΈΡΠ°Π½Π΅. Dendrite ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ Π΅ΠΊΠΈΠΏ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Matrix ΠΈ ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠ° ΠΊΠ°ΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π²ΡΠΎΡΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ ΡΡΡΠ²ΡΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° Matrix. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈΡ ΡΡΡΠ²ΡΡ , Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Python, ΠΊΠΎΠ΄ΡΡ Π½Π° Dendrite Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Go. Π Π΄Π²Π΅ΡΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ° Ρ Π»ΠΈΡΠ΅Π½Π· Apache 2.0. Π ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° Matrix-ΡΡΡΠ²ΡΡ Π½Π° Rust, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· MIT.
ΠΠΎΠ²ΠΈΡΡ ΡΡΡΠ²ΡΡ Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° Π²ΠΈΡΠΎΠΊΠ° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ, Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ. Dendrite Π΅ ΠΏΠΎ-Π±ΡΡΠ· ΠΎΡ Synapse, ΠΈΠ·ΠΈΡΠΊΠ²Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ° ΡΡΠ΅Π· Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠ·Π΅Π»Π°. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Dendrite ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ ΠΈ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠΈΡΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΠΈ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ Π²ΡΠ΅ΠΊΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ· ΠΏΡΠΈΡΠ΅ΠΆΠ°Π²Π° ΡΠ²ΠΎΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ° ΠΊΡΠΌ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΎΡ Π±Π°Π»Π°Π½ΡΡΠΎΡ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ. ΠΠ° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π² ΠΊΠΎΠ΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΠΎΡΠΎΡΠΈ (go routines), ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ΄ΡΠ° Π½Π° CPU Π±Π΅Π· ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ.
Dendrite ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°Π±ΠΎΡΠ° Π² Π΄Π²Π° ΡΠ΅ΠΆΠΈΠΌΠ° - ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ΅Π½ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅Π½ (polylith). Π ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π²ΡΠΈΡΠΊΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΈ Π² Π΅Π΄ΠΈΠ½ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ ΡΠ°ΠΉΠ», ΡΠ°Π±ΠΎΡΡΡ Π² Π΅Π΄ΠΈΠ½ ΠΏΡΠΎΡΠ΅Ρ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Ρ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ. Π ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅Π½ (ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅Π½) ΡΠ΅ΠΆΠΈΠΌ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΠΏΠΎΠΎΡΠ΄Π΅Π»Π½ΠΎ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²ΡΠ·Π»ΠΈ. ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π²
ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΡΠ΅Π· Π²ΡΡΡΠ΅ΡΠ½ΠΎ HTTP API ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° .
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Matrix ΠΈ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π²Π° ΡΠ΅ΡΡΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° - ΠΎΠ±ΡΠΈ Ρ ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ Π½Π° Synapse ΠΈ Π½ΠΎΠ² Π½Π°Π±ΠΎΡ . Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Dendrite ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° 56% ΠΎΡ ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ Π½Π° Client-Server API ΠΈ 77% ΠΎΡ ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ Π½Π° Federation API, ΠΊΠ°ΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΡΠΎ ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° ΡΠ΅ ΠΎΡΠ΅Π½ΡΠ²Π° Π½Π° 70% Π·Π° Client-Server API ΠΈ 95% Π·Π° Federation API.
ΠΠ΅ΡΠ°-ΡΠ΅ΡΡΠΎΠ²Π°ΡΠ° ΡΠ°Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π° Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΡΠ° Π½Π° Dendrite Π·Π° Π½Π°ΡΠ°Π»Π½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ ΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΊΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ. ΠΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΠΈΡΠ΅ ΡΠ΅Π³Π° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½ΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡ Π΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ Π²Π΅ΡΡΠΈΠΈ ΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, ΡΠ»Π΅Π΄ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π±Π°Π·Π°ΡΠ° Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π³ΡΠ±Π΅Π½ΠΎ). ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, Π½Π°ΡΡΡΠ°Π²Π°ΡΠΈ ΠΎΠ±ΡΠ°ΡΠ½Π°ΡΠ° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ, ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°, ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π½ΠΈ ΡΠ°ΠΌΠΎ Π² Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ. Dendrite Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π·Π°Π΅Π΄Π½ΠΎ Ρ Π‘Π£ΠΠ PostgreSQL Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠ°Π»ΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ (homeserver) ΠΈ P2P-ΡΠ·Π»ΠΈ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° SQLite Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π΅ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅ΡΠ΅ΡΠ΅Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΡ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π² Dendrite ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π°Ρ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΡ Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΈΠ·Π²Π΅ΡΡΠΈΡ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, OpenID, ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ ΠΈΠΌΠ΅ΠΉΠ», ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΡΡΡΠ°Π½Π° Π½Π° ΡΡΡΠ²ΡΡΠ°, ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΡΠΏΠΈΡΡΡΠΈ Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π³ΡΡΠΏΠΈ ΠΈ ΠΎΠ±ΡΠ½ΠΎΡΡΠΈ, ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΠΏΡΠΈΡΡΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΎΠ½Π»Π°ΠΉΠ½, Π³ΠΎΡΡΠΎΠ²ΠΈ Π²Ρ ΠΎΠ΄ΠΎΠ²Π΅, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π²ΡΠ½ΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΈ.
ΠΠ°Π»ΠΈΡΠ΅ ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°Ρ ΡΡΠ°ΠΈ (ΡΡΠ·Π΄Π°Π²Π°Π½Π΅, ΠΏΠΎΠΊΠ°Π½ΠΈ, ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅), ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΡΠ΅Π΄Π΅ΡΠ°ΡΠΈΡ Π½Π° ΡΡΠ°ΡΡΠ½ΠΈΡΠΈΡΠ΅ Π² ΡΡΠ°ΠΈΡΠ΅, ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ±ΠΈΡΠΈΡ ΡΠ»Π΅Π΄ Π²ΡΡΡΠ°Π½Π΅ ΠΎΡ ΠΎΡΠ»Π°ΠΉΠ½, Π°ΠΊΠ°ΡΠ½ΡΠΈ, ΠΏΡΠΎΡΠΈΠ»ΠΈ, ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ Π·Π° Π½Π°Π±ΠΎΡ, ΠΊΠ°ΡΠ²Π°Π½Π΅ ΠΈ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (Media API), ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ACL, ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠ° ΡΡΡ ΡΠΏΠΈΡΡΡΠΈ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π·Π° ΠΊΡΠ°ΠΉΠ½ΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅.
ΠΡΠΈΠΏΠΎΠΌΠ½ΡΠΌΠ΅, ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ Matrix ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡ HTTPS+JSON Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° WebSockets ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π½Π° Π±Π°Π·Π° +. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° ΠΊΠ°ΡΠΎ ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ²ΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Ρ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ ΠΈ Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Ρ Π² ΠΎΠ±ΡΠ° Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΌΡΠ΅ΠΆΠ°. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° ΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ°Ρ ΠΏΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΡΡΠ²ΡΡΠΈ, ΠΊΡΠΌ ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈΡΠ΅ Π² ΠΎΠ±ΠΌΠ΅Π½Π° Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Ρ ΠΏΠΎ ΡΡΡΠ²ΡΡΠΈΡΠ΅ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ Ρ ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΈΡΠΈΡΠ΅ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Ρ ΠΌΠ΅ΠΆΠ΄Ρ Git Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°. Π ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠ°, ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° Π½Π΅ ΡΠ΅ Π³ΡΠ±ΡΡ, Π° ΡΠ΅ ΠΏΡΠ΅Π΄Π°Π²Π°Ρ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΠ»Π΅Π΄ Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠΌΠ΅ΠΉΠ», ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅Π½ Π½ΠΎΠΌΠ΅Ρ, ΠΏΡΠΎΡΠΈΠ» Π²ΡΠ² Facebook ΠΈ Ρ.Π½.
Π ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π½ΡΠΌΠ° Π΅Π΄ΠΈΠ½Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΎΡΠΊΠ°Π· ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π°Π΄ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ°. ΠΡΠΈΡΠΊΠΈ ΡΡΡΠ²ΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΠ±Ρ
Π²Π°ΡΠ°Ρ ΠΎΠ±ΡΡΠΆΠ΄Π°Π½Π΅ΡΠΎ, ΡΠ° ΡΠ°Π²Π½ΠΎΠΏΡΠ°Π²Π½ΠΈ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈ.
ΠΡΠ΅ΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΡΡΡΠ²ΡΡ ΠΈ Π΄Π° Π³ΠΎ ΡΠ²ΡΡΠΆΠ΅ ΠΊΡΠΌ ΠΎΠ±ΡΠ°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π° Matrix Ρ ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ»ΡΠ³ΠΈ Π·Π° Π΄Π²ΡΡΡΡΠ°Π½Π½ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² IRC, Facebook, Telegram, Skype, Hangouts, Email, WhatsApp ΠΈ Slack. ΠΡΠ²Π΅Π½ ΠΌΠΈΠ³Π½ΠΎΠ²Π΅Π½ ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΡΠΎΠ²Π΅, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ,
ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π»Π΅ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ, ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π³Π»Π°ΡΠΎΠ²ΠΈ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΎΠ±Π°ΠΆΠ΄Π°Π½ΠΈΡ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ ΡΡΡΠΎ ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΡΠΎ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π·Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΡ, ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΠΏΡΠΈΡΡΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΎΠ½Π»Π°ΠΉΠ½, ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° ΠΏΡΠΎΡΠΈΡΠ°Π½Π΅, push ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠ°, ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΈΡΡΠΎΡΠΈΡ ΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
