|
1 | | -# OneScriptDeclarativeForms |
2 | | -Декларативные формы для сценарного языка OneScript. |
| 1 | + |
3 | 2 |
|
4 | | -Данная библиотека позволяет создать оконное приложение с браузером внутри. Браузер внутри окна - это значит нам будут доступны технологии html, javascript и css. Движок браузера - Chromium. Соответственно у нас будет кроссплатформенность. В основе десктопного приложения лежат три разработки. Это [OneScript](https://oscript.io/), [NW.JS](https://nwjs.io/) и [OneScriptClientServer](https://github.com/ahyahy/OneScriptClientServer). |
| 3 | +# OneScript Declarative Forms |
5 | 4 |
|
6 | | -OneScript дает возможность писать сценарии на языке 1С. |
| 5 | +**Декларативные формы для сценарного языка OneScript** |
7 | 6 |
|
8 | | -NW.JS обеспечивает кроссплатформенность. Его изучать не нужно, механизм его работы и взаимодействия со сценарием скрыт внутри библиотеки декларативных форм. |
| 7 | +Данная библиотека позволяет создавать приложения с графическим интерфейсом (GUI), используя OneScript в качестве языка разработки. Она обеспечивает выполнение обработчиков событий и связь OS-сценария с окном программы на основе библиотеки [OneScriptClientServer ](https://github.com/ahyahy/OneScriptClientServer) |
9 | 8 |
|
10 | | -OneScriptClientServer - это библиотека для OneScript. Работает фоновым заданием и обеспечивает связь сценария с окном программы. |
11 | 9 |
|
12 | | -### Подробнее можно узнать на этом сайте |
| 10 | +## Особенности |
13 | 11 |
|
14 | | -> <https://ahyahy.github.io/OneScriptDeclarativeForms/index.html> |
| 12 | +<img src="https://github.com/user-attachments/assets/04035547-93cb-42d0-977b-28d220f17d61" align="right" width="128"> |
15 | 13 |
|
16 | | -**ВАЖНО:** В разделе "Документация" кликните самый верхний пункт "Декларативные формы". Это нужно прочитать в первую очередь. |
| 14 | ++ Для отрисовки интерфейса и элементов управления используется [nw.js](https://github.com/nwjs/nw.js) - кросплатформенный JavaScript-фреймворк, позволяющий создавать десктопные приложения на основе web-технологий. Благодаря ему готовое приложение может быть запущено на любой из основных операционных систем без внесения изменений в код |
17 | 15 |
|
18 | | -Библиотека только начата, впереди ещё много работы. Сейчас есть работающий движок, обработка событий, получение аргументов событий, несколько классов для примера. |
| 16 | + >Изучать nw.js для использования библиотеки не нужно: механизм работы и взаимодействия со сценарием скрыт внутри библиотеки декларативных форм. |
| 17 | +
|
| 18 | +<img src="https://github.com/user-attachments/assets/26dc67d8-170b-45a2-813f-01bb75354b39" align="right" width="128"> |
| 19 | + |
| 20 | +<br> |
| 21 | + |
| 22 | ++ Логика приложения описывается на языкe 1С при помощи [OneScript](https://github.com/EvilBeaver/OneScript) - независимой кросс-платформенной реализации виртуальной машины, исполняющей скрипты на языке 1С:Предприятие. Интерфейс программы создается в декларативной парадигме, что позволяет работать в привычных терминах языка, не прибегая к прямой работе с HTML и JS |
| 23 | + |
| 24 | + <br> |
| 25 | + |
| 26 | + **Пример создания элемента интерфейса** |
| 27 | + ```bsl |
| 28 | +
|
| 29 | + Кнопка1 = ДФ.Кнопка(); |
| 30 | + Кнопка1.Родитель = Форма1; |
| 31 | + Кнопка1.Текст = "Кнопка"; |
| 32 | + Кнопка1.Нажатие = ДФ.Действие(ЭтотОбъект, "Кнопка1_Нажатие"); |
| 33 | + ``` |
| 34 | + |
| 35 | +<br> |
| 36 | + |
| 37 | +## Установка |
| 38 | + |
| 39 | +Для начала работы необходимо: |
| 40 | +1. Устанавить OneScript ([оф. сайт](https://oscript.io/)) |
| 41 | +2. Скачать и распаковать nw.js (версия >= v0.45.6, [оф. сайт](https://nwjs.io/)) |
| 42 | +3. Прочитать указанный ниже раздел документации и согласно этой информации организовать каталог будущей программы |
| 43 | + |
| 44 | +## Документация |
| 45 | + |
| 46 | +Документацию библиотеки можно найти [по этой ссылке](https://ahyahy.github.io/OneScriptDeclarativeForms/index.html) |
| 47 | + |
| 48 | +>**ВАЖНО:** В разделе "Документация" кликните самый верхний пункт "Декларативные формы". Это нужно прочитать в первую очередь. |
| 49 | +
|
| 50 | + |
| 51 | +## Roadmap |
| 52 | + |
| 53 | +Библиотека только начата, впереди ещё много работы. Сейчас есть работающий движок, обработка событий, получение аргументов событий, несколько классов для примера |
0 commit comments