Framory
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Telegram WebApp Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΡΠ°ΡΠΈΠ²ΡΡ
ΠΎΠ±Π»ΠΎΠΆΠ΅ΠΊ ΠΈ ΠΏΠΎΡΡΠ΅ΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²Π΅ΠΉΡΠΈΡ
Web API ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Telegram.
"Framory" - ΡΡΠΎ ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΎΠ½Π½ΡΠΉ Telegram WebApp, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΎΠ±Π»ΠΎΠΆΠΊΠΈ, ΠΏΠΎΡΡΠ΅ΡΡ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΡΡΠΌΠΎ Π² ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅ΡΠ΅. ΠΡΠΎΠ΅ΠΊΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΌΠΎΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π²Π΅Π±-ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΠΌ Telegram ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΎΠΏΡΡ.
- Telegram WebApp ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ - ΠΏΠΎΠ»Π½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Telegram Bot API
- Canvas ΡΠ΅Π΄Π°ΠΊΡΠΎΡ - ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΈ
- Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΈ AI - Π³ΠΎΡΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°
- ΠΡΠ»ΡΡΠΈΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΡ - ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π²ΡΠ΅Ρ
ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
- Inline ΡΠ΅ΠΆΠΈΠΌ - Π±ΡΡΡΡΠ°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΡΡΠΌΠΎ Π² ΡΠ°ΡΠ΅
- Vue.js 3 Ρ Composition API Π΄Π»Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ
- TypeScript Π΄Π»Ρ ΡΠΈΠΏΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ Π»ΡΡΡΠ΅Π³ΠΎ DX
- Vite Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
- Pinia Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- Fabric.js 6.0 Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ HTML5 Canvas
- OffscreenCanvas Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
- HTML2Canvas Π΄Π»Ρ ΡΠΊΡΠΏΠΎΡΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
- @telegram-apps/sdk Π΄Π»Ρ WebApp API
- Haptic feedback Π΄Π»Ρ ΡΠ°ΠΊΡΠΈΠ»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ
- Viewport management Π΄Π»Ρ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
- View Transitions API Π΄Π»Ρ ΠΏΠ»Π°Π²Π½ΡΡ
Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ
- Popover API Π΄Π»Ρ Π½Π°ΡΠΈΠ²Π½ΡΡ
Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
- Scroll-driven Animations Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ
ΡΡΡΠ΅ΠΊΡΠΎΠ²
- ResizeObserver Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ Ρ ΡΠ΅ΡΠΊΠΈΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ:
src/
βββ components/ # Vue ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
β βββ EditorCanvas.vue # ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
β βββ InlineEditor.vue # ΠΡΡΡΡΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅
β βββ ModernToolbar.vue # ΠΠ°Π½Π΅Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²
β βββ ExportPanel.vue # ΠΠΊΡΠΏΠΎΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
βββ composables/ # ΠΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°
β βββ useTelegram.js # Telegram WebApp API
βββ stores/ # Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ
β βββ canvas.js # Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ canvas
βββ views/ # Π‘ΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
β βββ EditorPage.vue # ΠΠ»Π°Π²Π½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°
βββ types/ # TypeScript ΡΠΈΠΏΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° Ρ <script setup> ΠΈ Composition API:
<script setup>
import {(ref, computed, onMounted)} from 'vue' import {useTelegram} from
'@/composables/useTelegram' const {(isReady, themeColors, hapticFeedback)} =
useTelegram() const canvas = ref(null)
</script>
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ
- ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ResizeObserver
- ΠΠ΅Π½ΠΈΠ²Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
- ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ²
- Π’Π΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ: 12+ ΡΡΠΈΡΡΠΎΠ², ΡΠ°Π·ΠΌΠ΅ΡΡ 12-120px, ΡΠ²Π΅ΡΠ° ΠΈ ΡΡΡΠ΅ΠΊΡΡ
- ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ: ΡΠΈΠ³ΡΡΡ, Π»ΠΈΠ½ΠΈΠΈ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, emoji
- Π¨Π°Π±Π»ΠΎΠ½Ρ: Π½ΠΎΠ²ΠΎΡΡΠΈ, ΡΠΈΡΠ°ΡΡ, Π°Π½ΠΎΠ½ΡΡ, ΠΏΡΠΎΠΌΠΎ-ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
- Π€ΠΎΠ½Ρ: ΡΠ²Π΅ΡΠ°, Π³ΡΠ°Π΄ΠΈΠ΅Π½ΡΡ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡΡ
- WebApp ΡΠ΅ΠΆΠΈΠΌ: ΠΏΠΎΠ»Π½ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
- Inline ΡΠ΅ΠΆΠΈΠΌ: Π±ΡΡΡΡΠ°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π² ΡΠ°ΡΠ΅
- Haptic feedback: ΡΠ°ΠΊΡΠΈΠ»ΡΠ½Π°Ρ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ²ΡΠ·Ρ
- ΠΠ°ΡΠΈΠ²Π½ΡΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ: popup, alert, confirm
- Π€ΠΎΡΠΌΠ°ΡΡ: PNG, JPG, SVG Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°
- Π Π°Π·ΠΌΠ΅ΡΡ: Instagram, Facebook, YouTube, ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠ΅
- Π¨Π°ΡΠΈΠ½Π³: Telegram, Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°, Web Share API
- Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΏΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²Π°ΠΌ:
@Π½ΠΎΠ²ΠΎΡΡΡ, @ΡΠΈΡΠ°ΡΠ°, @Π°Π½ΠΎΠ½Ρ - ΠΠ²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: Π±ΡΡΡΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ
- ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²: AI-ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΠΊΡΡΠ°
- ΠΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°: ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ touch-ΠΆΠ΅ΡΡΠ°ΠΌΠΈ
- ΠΠ»Π°Π½ΡΠ΅ΡΡ: ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
- ΠΠ΅ΡΠΊΡΠΎΠΏΡ: ΠΏΠΎΠ»Π½ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Ρ Π³ΠΎΡΡΡΠΈΠΌΠΈ ΠΊΠ»Π°Π²ΠΈΡΠ°ΠΌΠΈ
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΌΡ Telegram
- ΠΠ»Π°Π²Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΌΠ°ΠΌΠΈ
- ΠΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ²Π΅ΡΠΎΠ² ΠΏΠΎΠ΄ Π±ΡΠ΅Π½Π΄ΠΈΠ½Π³
- View Transitions: ΠΏΠ»Π°Π²Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΡΠ°Π½Π°ΠΌΠΈ
- Scroll-driven: Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΠΊΡΠΎΠ»Π»ΠΎΠΌ
- Haptic feedback: ΡΠ°ΠΊΡΠΈΠ»ΡΠ½Π°Ρ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠ²ΡΠ·Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ
- ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: 60 FPS Π½Π° Π²ΡΠ΅Ρ
ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
- Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ: ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΠ΅Ρ
ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ²
- ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ: ΠΌΠΎΠ΄ΡΠ»ΡΠ½Π°Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° Π΄Π»Ρ Π»Π΅Π³ΠΊΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ
- ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ: TypeScript + ESLint Π΄Π»Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠ΄Π°
- ΠΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎΡΡΡ: ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±Π΅Π· ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ
- Π‘ΠΊΠΎΡΠΎΡΡΡ: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±Π»ΠΎΠΆΠΊΠΈ Π·Π° 30 ΡΠ΅ΠΊΡΠ½Π΄
- ΠΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ: ΡΠ°Π±ΠΎΡΠ° Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ: seamless ΠΎΠΏΡΡ Π² Telegram
- ΠΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ: 3 ΠΌΠ΅ΡΡΡΠ° ΠΎΡ ΠΈΠ΄Π΅ΠΈ Π΄ΠΎ MVP
- Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΎΠ»Π³: ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌΡ ΡΡΠ΅ΠΊΡ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°: Π»Π΅Π³ΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π³ΠΎΠ²
- Π Π°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ: Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΡ ΠΊ Π½ΠΎΠ²ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ
"Framory" ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½ΠΎ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ. ΠΡΠΎΠ΅ΠΊΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Telegram WebApp ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΡΡΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ, Π° ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΡΠΏΠ΅Ρ
ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
- ΠΠ½Π½ΠΎΠ²Π°ΡΠΈΠΎΠ½Π½ΠΎΡΡΡ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ cutting-edge Web API
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ: Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² Telegram ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ
- ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΡΡΡΠΎΠΉΡΡΠ²
- UX: ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½Π½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΎΠΏΡΡ
ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π±ΡΠ΄ΡΡΠ΅Π΅ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π»Π΅ΠΆΠΈΡ Π² ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ, Π³Π΄Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.