Qt ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ
ΠΠ»ΡΡ
- API Π·Π° Π°Π±ΡΡΡΠ°Ρ ΠΈΡΠ°Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ°, ΠΊΠΎΠΉΡΠΎ Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌ ΠΎΡ 3D API Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠ»ΡΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π° Π½ΠΎΠ²ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΡΡΠ΅ΠΊ Π½Π° Qt Π΅ ΠΌΠ°ΡΠΈΠ½Π°ΡΠ° Π·Π° ΡΠ΅Π½Π΄ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ΅Π½ΠΈ, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ»ΠΎΡ RHI (Rendering Hardware Interface) Π·Π° Π·Π°Ρ ΡΠ°Π½Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Qt Quick Π½Π΅ ΡΠ°ΠΌΠΎ Ρ OpenGL, Π½ΠΎ ΠΈ Π²ΡΡΡ Ρ Vulkan, Metal ΠΈ Direct 3D API.
- Qt Quick 3D ΠΌΠΎΠ΄ΡΠ» Ρ API Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Qt Quick, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΠΈ 2D ΠΈ 3D Π³ΡΠ°ΡΠΈΡΠ½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ. Qt Quick 3D Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ QML, Π·Π° Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° 3D ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ UIP ΡΠΎΡΠΌΠ°ΡΠ°. Π Qt Quick 3D ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π΅Π΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ (Qt Quick), Π΅Π΄Π½ΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ΅Π½Π° ΠΈ Π΅Π΄Π½Π° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠ°ΠΌΠΊΠ° Π·Π° 2D ΠΈ 3D ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Qt Design Studio Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²ΠΈΠ·ΡΠ°Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠΎΠ΄ΡΠ»ΡΡ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΊΠ°ΡΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ ΠΏΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π΅ Π½Π° QML ΡΡΡ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΠΎΡ Qt 3D ΠΈΠ»ΠΈ 3D Studio ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ°ΠΌΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ 2D ΠΈ 3D.
- ΠΡΠ΅ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π° Π² ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡ. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ, ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Π½ΠΈ ΡΡΠ΅Π· ΠΊΠ°ΡΠ°Π»ΠΎΠΆΠ½ΠΈΡ ΠΌΠ°Π³Π°Π·ΠΈΠ½
Qt Marketplace . - ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΡ Π½Π° QML:
- Π‘ΠΈΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΠΈΡΠ°Π½Π΅.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° QML Π² C++ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ ΠΈ ΠΌΠ°ΡΠΈΠ½Π΅Π½ ΠΊΠΎΠ΄.
- ΠΡΠ΅Π²ΡΡΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° JavaScript Π² ΠΎΠΏΡΠΈΡ (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ»Π½ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅Π½ JavaScript Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° QML Π½Π° ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ ΠΊΠ°ΡΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ).
- ΠΡΠΊΠ°Π· ΠΎΡ Π²Π΅ΡΡΠΈΠΈ Π² QML.
- ΠΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΡΠΊΡΡΡΠΈΡΠ΅ ΠΎΡ Π΄Π°Π½Π½ΠΈ, Π΄ΡΠ±Π»ΠΈΡΠ°Π½ΠΈ Π² QObject ΠΈ QML (ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ ΠΊΠΎΠ½ΡΡΠΌΠ°ΡΠΈΡΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΡΠ΅ ΡΡΠΊΠΎΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ).
- ΠΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΎΡ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ»Π·Π° Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅.
- Π‘ΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΡΠ΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π»ΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π° ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ.
- ΠΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π³ΡΠ°ΡΠΈΠΊΠΈ Π°ΠΊΡΠΈΠ²ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅, ΠΊΠ°ΡΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°Π½Π΅ Π½Π° PNG ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ ΡΠ΅ΠΊΡΡΡΡΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΉΠ΄ΡΡΠΈ ΠΈ ΠΌΡΠ΅ΠΆΠΈ Π² ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π΄Π²ΠΎΠΈΡΠ½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ Π·Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Ρ Π°ΡΠ΄ΡΠ΅Ρ.
- ΠΠ³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Π·Π° ΡΠ΅ΠΌΠΈ ΠΈ ΡΡΠΈΠ»ΠΎΠ²Π΅, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΡΠ΅ Π²ΡΠ½ΡΠ½ΠΈΡ Π²ΠΈΠ΄ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Qt Widgets ΠΈ Qt Quick, ΡΠΎΠ΄Π½ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΈ Π½Π°ΡΡΠΎΠ»Π½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ.
- ΠΠ΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° CMake Π²ΠΌΠ΅ΡΡΠΎ QMake ΠΊΠ°ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° QMake ΡΠ΅ ΠΎΡΡΠ°Π½Π΅, Π½ΠΎ ΡΠ°ΠΌΠΈΡΡ Qt ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° CMake. CMake Π±Π΅ΡΠ΅ ΠΈΠ·Π±ΡΠ°Π½, Π·Π°ΡΠΎΡΠΎ ΡΠΎΠ·ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΡΠΎΠΊΠΎ ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° C++ ΠΈ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π² ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈ ΡΡΠ΅Π΄ΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. Π Π°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ Π½Π° Qbs, ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΠΈΡΠ°ΡΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°ΠΌΠ΅ΡΡΠΈΡΠ΅Π» Π½Π° QMake,
ΡΠ΄ΡΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡΠ½ΠΎΡΡ. - ΠΡΠ΅Ρ ΠΎΠ΄ ΠΊΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ° C++17 ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° (ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° C++98). Qt 6 ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° Π²Π½Π΅Π΄ΡΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° C++, Π½ΠΎ Π±Π΅Π· Π΄Π° Π³ΡΠ±ΠΈ ΠΎΠ±ΡΠ°ΡΠ½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ ΠΊΠΎΠ΄, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΈ.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°ΡΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ°, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π½Π° Π·Π° QML ΠΈ Qt Quick Π² C++ ΠΊΠΎΠ΄. Π©Π΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π½ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° Π·Π° QObject ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅. ΠΡ QML, Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½ΠΈΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Qt, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π·Π° ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½ΠΈΡ ΠΈ ΡΠ΅ Π³ΠΈ Π½Π°ΠΏΡΠ°Π²ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ°ΡΡΠΈ Π½Π° Qt, Π° Π½Π΅ ΡΠ°ΠΌΠΎ Π·Π° Qt Quick.
- Π Π°Π·ΡΠΈΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΅Π·ΠΈΡΠΈ ΠΊΠ°ΡΠΎ Python ΠΈ WebAssembly.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru