Techno4 Framework 2.0
Посібник зі встановлення, розгортання та створення вебзастосунків
1. Встановлення інструментів командного рядка (CLI)
npm install -g techno4-cli cordovasudo:sudo npm install -g techno4-cli cordovatechno4 -V && cordova -v
2. Запуск інтерактивного майстра створення проєкту з шаблону
techno4 create3. Інтерактивна консоль генерації та перевірки збірки (CLI Showcase)
npm i -g techno4-cli
techno4 create
npm start
-
================================================================================ TECHNO4 FRAMEWORK2 CLI — ПРОЦЕС ГЕНЕРАЦІЇ ПРОЄКТУ (MONOSPACE CONSOLE LOG) ================================================================================ $ techno4 --version 2.0.0 $ cd cli-demos $ techno4 create [?] Techno4 може згенерувати стартовий проєкт у наступних форматах: [ ] Простий вебзастосунок [ ] PWA (Progressive Web App) [*] Cordova застосунок (цільові платформи iOS, Android, Electron для MacOS, Linux та Windows.) [ ] Capacitor застосунок (цільові платформи iOS, Android, Electron для MacOS, Linux та Windows.) [?] Назва застосунку (проєкт): Techno4 Tabs Cordova Android [?] Ідентифікатор пакунку (Bundle ID): io.techno4.tabsandroid [?] Цільові Cordova платформи: [ ] iOS [*] Android [ ] Electron (настільний застосунок) [ ] macOS (настільний MacOS застосунок) [?] Який тип Techno4 фреймворку обрати? > Techno4 Core [?] Який стартовий шаблон обрати? Пустий Один Перегляд (View) > Перегляд з вкладками (Tabs) Двопанельний перегляд (Split Panel) [?] Налаштувати проєкт з компілятором (Bundler)? > Компілятор Vite (рекомендовано) Без компілятора [?] Бажаєте налаштувати препроцесор CSS Pre-Processor? > Ні, все чудово з CSS Less Stylus SCSS (SASS) [?] Хочете визначити власний колір теми? > Ні, Залиште стандартні кольори теми. Так, я хочу визначити власний колір теми. [?] Ви хочете включити Techno4 Icons та Material Icons шрифт? > Так. Ні. -------------------------------------------------------------------------------- ВИКОНАННЯ ГЕНЕРАЦІЇ ТА ВСТАНОВЛЕННЯ -------------------------------------------------------------------------------- > [START] Генерація package.json. ✔ [DONE] Генерація package.json. > [START] Генерація структури файлів. ✔ [DONE] Генерація структури файлів. > [START] Генерація NPM залежностей. (Очікуйте, це може зайняти деякий час.) ✔ [DONE] Генерація NPM залежностей. > [START] Генерація NPM залежностей розробника. (Очікуйте, це може зайняти деякий час.) ✔ [DONE] Додавання NPM залежностей розробника. > [START] Генерація Cordova проекту. (Очікуйте, це може зайняти деякий час.). ✔ [DONE] Генерація Cordova проекту. > [START] Генерація файлів проекту. ✔ [DONE] Генерація файлів проекту. √ Виконано! 💪 i Подальші кроки: - 😎😉 Запустіть команду "npm install" для встановлення пакетів залежностей. - ✔✔ Запустіть команду "npm start" для запуску сервера розробки. - ✨✨ Офіційний сайт проєкту: https://techno4.online - 📖📖 Документація фреймворку: https://techno4.online/techno4-framework2 - 📖📖 Читайте README.md у файлах проєкту для отримання інструкцій. - 🚀🚀 GitHub репозиторій: https://github.com/CO-CF-TECHNO4/TECHNO4FRAMEWORK2 ================================================================================ ПІДСУМОК ГЕНЕРАЦІЇ ТА СТАТУС ПАКУНКІВ ================================================================================ ✔ Успішно згенеровано проєкт з шаблоном Tabs (Перегляд з вкладками) ✔ Налаштовано цільову платформу Cordova Android (io.techno4.tabsandroid) ✔ Підключено плагіни: statusbar, keyboard, splashscreen ✔ Підключено пакети з npm: techno4@2.0.0, dom64@0.1.1, rollup-plugin-techno4@2.0.0 -
================================================================================ СТРУКТУРА ЗГЕНЕРОВАНОГО ПРОЄКТУ: cli-demos/ (Techno4 Tabs Cordova Android) ================================================================================ cli-demos/ ├── .vscode/ │ └── settings.json ├── assets-src/ │ ├── cordova-android-icon.png │ └── cordova-splash-screen.png ├── build/ │ └── build-cordova.js ├── cordova/ │ ├── platforms/ │ │ └── android/ │ │ ├── AndroidManifest.xml (generated by Cordova) │ │ ├── app/ │ │ ├── cordova/ │ │ └── platform_www/ │ ├── plugins/ │ │ ├── cordova-plugin-keyboard/ │ │ │ ├── src/ │ │ │ │ ├── android/ │ │ │ │ │ └── Keyboard.java │ │ │ │ └── ios/ │ │ │ │ ├── CDVKeyboard.h │ │ │ │ └── CDVKeyboard.m │ │ │ ├── www/ │ │ │ │ └── keyboard.js │ │ │ ├── package.json │ │ │ ├── plugin.xml │ │ │ └── README.md │ │ ├── cordova-plugin-splashscreen/ │ │ │ ├── src/ │ │ │ │ ├── android/ │ │ │ │ │ └── SplashScreen.java │ │ │ │ ├── browser/ │ │ │ │ │ └── SplashScreenProxy.js │ │ │ │ └── windows/ │ │ │ │ └── SplashScreenProxy.js │ │ │ ├── types/ │ │ │ │ └── index.d.ts │ │ │ ├── www/ │ │ │ │ └── splashscreen.js │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── NOTICE │ │ │ ├── package.json │ │ │ ├── plugin.xml │ │ │ └── README.md │ │ │ └── RELEASENOTES.md │ │ ├── cordova-plugin-statusbar/ │ │ │ ├── src/ │ │ │ │ ├── android/ │ │ │ │ │ └── StatusBar.java │ │ │ │ ├── browser/ │ │ │ │ │ └── StatusBarProxy.js │ │ │ │ └── ios/ │ │ │ │ ├── CDVStatusBar.h │ │ │ │ └── CDVStatusBar.m │ │ │ ├── types/ │ │ │ │ └── index.d.ts │ │ │ ├── www/ │ │ │ │ └── statusbar.js │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── NOTICE │ │ │ ├── package.json │ │ │ ├── plugin.xml │ │ │ ├── README.md │ │ │ └── RELEASENOTES.md │ │ ├── android.json │ │ └── fetch.json │ ├── res/ │ │ ├── icon/ │ │ │ ├── android/ │ │ │ │ ├── mipmap-hdpi/ │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-ldpi/ │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi/ │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi/ │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi/ │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi/ │ │ │ │ │ └── ic_launcher.png │ │ │ │ └── playstore-icon.png │ │ │ ├── electron/ │ │ │ │ ├── app.png │ │ │ │ └── installer.png │ │ │ ├── ios/ │ │ │ │ ├── icon-20x20@1x.png │ │ │ │ ├── icon-20x20@2x.png │ │ │ │ ├── icon-20x20@3x.png │ │ │ │ ├── icon-29x29@1x.png │ │ │ │ ├── icon-29x29@2x.png │ │ │ │ ├── icon-29x29@3x.png │ │ │ │ ├── icon-40x40@1x.png │ │ │ │ ├── icon-40x40@2x.png │ │ │ │ ├── icon-40x40@3x.png │ │ │ │ ├── icon-50x50@1x.png │ │ │ │ ├── icon-50x50@2x.png │ │ │ │ ├── icon-512x512@1x.png │ │ │ │ ├── icon-512x512@2x.png │ │ │ │ ├── icon-57x57@1x.png │ │ │ │ ├── icon-57x57@2x.png │ │ │ │ ├── icon-60x60@1x.png │ │ │ │ ├── icon-60x60@2x.png │ │ │ │ ├── icon-60x60@3x.png │ │ │ │ ├── icon-72x72@1x.png │ │ │ │ ├── icon-72x72@2x.png │ │ │ │ ├── icon-76x76@1x.png │ │ │ │ ├── icon-76x76@2x.png │ │ │ │ ├── icon-76x76@3x.png │ │ │ │ └── icon-83.5x83.5@2x.png │ │ │ └── osx/ │ │ │ ├── icon-1024x1024.png │ │ │ ├── icon-128x128.png │ │ │ ├── icon-16x16.png │ │ │ ├── icon-256x256.png │ │ │ ├── icon-32x32.png │ │ │ ├── icon-512x512.png │ │ │ └── icon-64x64.png │ │ └── screen/ │ │ ├── android/ │ │ │ ├── drawable-hdpi/ │ │ │ │ └── screen.png │ │ │ ├── drawable-ldpi/ │ │ │ │ └── screen.png │ │ │ ├── drawable-mdpi/ │ │ │ │ └── screen.png │ │ │ ├── drawable-xhdpi/ │ │ │ │ └── screen.png │ │ │ ├── drawable-xxhdpi/ │ │ │ │ └── screen.png │ │ │ └── drawable-xxxhdpi/ │ │ │ └── screen.png │ │ └── ios/ │ │ └── Default@2x~universal~anyany.png │ ├── www/ │ │ ├── css/ │ │ │ └── index.css │ │ ├── img/ │ │ │ └── logo.png │ │ ├── js/ │ │ │ └── index.js │ │ └── index.html │ ├── .gitignore │ ├── config.xml │ ├── package-lock.json │ └── package.json ├── public/ ├── src/ │ ├── assets/ │ ├── css/ │ │ ├── app.css │ │ └── icons.css │ ├── fonts/ │ ├── js/ │ │ ├── app.js │ │ ├── cordova-app.js │ │ ├── routes.js │ │ └── store.js │ ├── pages/ │ │ ├── 404.t4 │ │ ├── about.t4 │ │ ├── catalog.t4 │ │ ├── dynamic-route.t4 │ │ ├── form.t4 │ │ ├── home.t4 │ │ ├── product.t4 │ │ ├── request-and-load.t4 │ │ └── settings.t4 │ ├── app.t4 │ └── index.html ├── www/ ├── .gitignore ├── package-lock.json ├── package.json ├── postcss.config.js ├── README.md ├── techno4.json └── vite.config.js -
================================================================================ ВЕРИФІКАЦІЯ CORDOVA ANDROID ПІДСИСТЕМИ ================================================================================ $ cd cordova $ cordova platform ls Installed platforms: android 15.1.0 Available platforms: browser electron $ cordova plugin ls cordova-plugin-keyboard 1.3.0 "Keyboard" cordova-plugin-splashscreen 6.0.2 "Splashscreen" cordova-plugin-statusbar 4.0.0 "StatusBar" -------------------------------------------------------------------------------- КОНФІГУРАЦІЯ cordova/config.xml -------------------------------------------------------------------------------- <?xml version='1.0' encoding='utf-8'?> <widget id="io.techno4.tabsandroid" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> <name>Techno4 Tabs Cordova Android</name> <description> A sample Apache Cordova application that responds to the deviceready event. </description> <author email="dev@cordova.apache.org" href="https://cordova.apache.org"> Apache Cordova Team </author> <content src="/index.html" /> <allow-intent href="http://*/*" /> <allow-intent href="https://*/*" /> <allow-navigation href="/*" /> <platform name="android"> <preference name="StatusBarOverlaysWebView" value="false" /> <preference name="android-minSdkVersion" value="22" /> <preference name="SplashMaintainAspectRatio" value="true" /> <splash density="land-hdpi" src="/res/screen/android/drawable-hdpi/screen.png" /> <splash density="land-mdpi" src="/res/screen/android/drawable-mdpi/screen.png" /> <splash density="land-xhdpi" src="/res/screen/android/drawable-xhdpi/screen.png" /> <splash density="land-xxhdpi" src="/res/screen/android/drawable-xxhdpi/screen.png" /> <splash density="land-xxxhdpi" src="/res/screen/android/drawable-xxxhdpi/screen.png" /> <splash density="port-hdpi" src="/res/screen/android/drawable-hdpi/screen.png" /> <splash density="port-mdpi" src="/res/screen/android/drawable-mdpi/screen.png" /> <splash density="port-xhdpi" src="/res/screen/android/drawable-xhdpi/screen.png" /> <splash density="port-xxhdpi" src="/res/screen/android/drawable-xxhdpi/screen.png" /> <splash density="port-xxxhdpi" src="/res/screen/android/drawable-xxxhdpi/screen.png" /> <icon density="ldpi" src="/res/icon/android/mipmap-ldpi/ic_launcher.png" /> <icon density="mdpi" src="/res/icon/android/mipmap-mdpi/ic_launcher.png" /> <icon density="hdpi" src="/res/icon/android/mipmap-hdpi/ic_launcher.png" /> <icon density="xhdpi" src="/res/icon/android/mipmap-xhdpi/ic_launcher.png" /> <icon density="xxhdpi" src="/res/icon/android/mipmap-xxhdpi/ic_launcher.png" /> <icon density="xxxhdpi" src="/res/icon/android/mipmap-xxxhdpi/ic_launcher.png" /> </platform> <preference name="DisallowOverscroll" value="true" /> <preference name="BackupWebStorage" value="local" /> <preference name="AutoHideSplashScreen" value="false" /> <preference name="ShowSplashScreenSpinner" value="false" /> <preference name="SplashScreenDelay" value="0" /> <preference name="Suppresses3DTouchGesture" value="true" /> <preference name="Allow3DTouchLinkPreview" value="false" /> <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" /> <preference name="AllowInlineMediaPlayback" value="true" /> </widget> -
================================================================================ TECHNO4 FRAMEWORK2 — ПЕРЕВІРКА ЗБІРКИ ПРОЄКТУ (BUILD VERIFICATION) ================================================================================ $ cd cli-demos $ npm run build > techno4-tabs-cordova-android@1.0.0 build > cross-env NODE_ENV=production vite build vite v8.3.0 building client environment for production... transforming... ✓ 26 modules transformed. rendering chunks... computing gzip size... www/index.html 1.23 kB │ gzip: 0.69 kB www/assets/material-icons-kAwBdRge.woff2 128.35 kB www/assets/material-icons-Dr0goTwe.woff 164.91 kB www/assets/index-DRgZnHvN.css 520.17 kB │ gzip: 75.00 kB www/assets/index-1z1g1sRE.js 840.63 kB │ gzip: 220.50 kB ✓ built in 4.84s ================================================================================ ВЕРИФІКАЦІЯ ВИХІДНИХ ФАЙЛІВ У www/ ================================================================================ - www/index.html [OK] Головна HTML сторінка застосунку - www/assets/index-DRgZnHvN.css [OK] CSS-бандл (Techno4 Core + Tabs theme) - www/assets/index-1z1g1sRE.js [OK] JS-бандл (Techno4 Core + VDOM + Router) - www/assets/material-icons-*.woff2 [OK] Вбудовані веб-шрифти Material Icons - cordova/platforms/android/ [OK] Готовий Cordova Android проєкт з плагінами
4. Демонстраційний комплекс застосунку (Live App Showcase)
iframe, нижче інтегровано ергономічну адаптивну вітрину з підтримкою повноекранного 4K збільшення (UIkit Lightbox) та швидким перемиканням модулів:-
Hardware & Sound Studio (Web Audio, MIDI, Serial)
Студія тестування апаратних API у мобільних і вебзастосунках. Включає синтезатор на базі Web Audio API з поліфонічною клавіатурою (C4–C5), осцилограф реального часу через
<canvas>таAnalyserNode, перемикання форм хвиль (sine, square, sawtooth, triangle), перевірку доступу Web MIDI (портів та повідомлень) і термінал Web Serial.Web Audio API Canvas Oscilloscope Web MIDI Web Serial -
Threads Studio & Каталог візуальних компонентів
Інтеграція візуального редактора Threads Studio та екосистеми Total.js. Забезпечує миттєвий доступ до модального вікна вибору серед більш ніж 140 UI-компонентів, налаштування серверних обчислювальних ланцюжків та синхронізацію потоків даних між бекендом і клієнтським застосунком.
140+ UI Blocks Threads Engine Total.js Platform -
Динамічні колірні теми (Material Design 3 & iOS)
Повна адаптивність візуального стилю. Підтримує 12 офіційних колірних тем фреймворку, перемикання між світлим і глибоким темним режимом (Dark Mode), а також фірмовий неоновий бірюзовий акцент
#22ffd8. Зміна кольору здійснюється динамічно через змінні CSS без втрати стану застосунку.Neon #22ffd8 Dark Mode Material 3 iOS Theme
5. Ручне підключення бібліотеки у готовий проєкт
npm install techno4 dom64
6. Ініціалізація та налаштування точки входу
src/js/app.js):// 1. Імпорт стилів теми Techno4 та набору іконок
import 'techno4/css/bundle';
import 'techno4/icons/css';
// 2. Імпорт ядра фреймворку
import Techno4 from 'techno4/bundle';
// 3. Ініціалізація застосунку
const app = new Techno4({
el: '#app',
name: 'Мій Techno4 Застосунок',
theme: 'auto', // або 'ios', 'md'
store: store,
routes: routes,
});
7. Каталог компонентів та швидка перелінковка
Скористайтеся бічним меню праворуч для швидкого переходу між розділами документації або відкрийте один із ключових компонентів:
Типи даних (Types)— повний довідник структур, властивостей, подій та параметрівДіалогові вікна (Dialog)— модальні вікна попередження, підтвердження, паролів та прогресуКартки (Cards)— гнучкі картки контенту та розширювані картки AppStoreТаблиці даних (Data Table)— структуровані таблиці даних з сортуванням і пагінацієюЕкран входу (Login Screen)— еталонний модальний екран автентифікації користувача
- TECHNO4 FRAMEWORK2
- Get Started
- Boonker
- Installation
- Package Structure
- App HTML Layout
- RTL Layout
- Initialize App
- Events
- Router Component
- Routes
- Store
- App/Core
- Accordion/Collapsible
- Action Sheet
- Area chart
- Autocomplete
- Badge
- Block/Content Block
- Breadcrumbs
- Button
- Calendar/Date Picker
- Cards
- Checkbox
- Chips
- Color Picker
- Contact List
- Data Table
- Dialog
- Floating action button
- Form
- Gauge
- Icons
- Inputs / Form Inputs
- Grid /Layout Grid
- Link
- List Button
- List View
- List Index
- Login Screen
- Menu List
- Messagebar
- Navbar
- Messages
- Notification
- Panel/Side Panels
- Photo Browser
- Picker
- Pie Chart
- Popover
- Popup
- Preloader
- Progressbar
- Pull to Refresh
- Radio
- Range Slider
- Searchbar
- Segmented
- Sheet Modal
- Skeleton
- Introduction
- Page
- Infinite Scroll
- Tabs
- Swiper
- Smart Select
- Sortable List
- Statusbar
- Stepper
- Subnavbar
- Swipeout
- Text Editor
- Timeline
- Toast
- Toggle
- Toolbar & Tabbar
- Tooltip
- Touch Ripple
- Treeview
- Virtual List
- Elevation
- Apache Cordova Integration
- Hardware: Web Audio API & Synth
- Hardware: Web MIDI Inspector
- Hardware: Web Serial UART Terminal
- Threads Studio: Visual Workflows
- Techno4 CLI: Scaffolding Reference
- DOM64: Selector Engine
- Rollup & Vite Component Compiler
- Початок роботи
- Techno4 Total
- Threads Components
- Types