| OberonCore https://forum.oberoncore.ru/ |
|
| Насчёт мануалов о том, как делать расширения для Bb https://forum.oberoncore.ru/viewtopic.php?f=47&t=7013 |
Страница 1 из 1 |
| Автор: | Артем Запаранюк [ Четверг, 24 Июль, 2025 10:02 ] |
| Заголовок сообщения: | Насчёт мануалов о том, как делать расширения для Bb |
Добрый день. На главной странице https://blackbox.oberon.org/ вижу предложение опубликовать свое расширение для BB. Стал искать инфу о том, как делать расширения. Тут на форуме инфы не нашел, на Вики тоже нет. Поэтому предлагаю добавить на вышеуказанную страницу информацию о том, как сделать расширение. Ну или ссылку на мануал, если мануал будет размещен в Вики. А ещё можно здесь в шапку раздела добавить. |
|
| Автор: | Александр Ильин [ Пятница, 25 Июль, 2025 23:39 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Похоже, вы нашли просто зеркало коллекции https://www.zinnamturm.eu/ Возможно, имеет смысл посмотреть в первоисточнике. Я как-то публиковался там, но уже забыл, как именно. |
|
| Автор: | Comdiv [ Среда, 30 Июль, 2025 18:14 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Артем Запаранюк писал(а): Стал искать инфу о том, как делать расширения. Тут на форуме инфы не нашел, на Вики тоже нет. Лучше воспользоваться самим BlackBox:BlackBox → Инструменты →Создать подсистему... |
|
| Автор: | Comdiv [ Среда, 30 Июль, 2025 18:23 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Александр Ильин писал(а): Похоже, вы нашли просто зеркало коллекции zinnamturm.eu Это не зеркало, а другой репозиторий, в который проще выкладывать. |
|
| Автор: | arisu [ Четверг, 31 Июль, 2025 23:19 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
не надо. если это надо — то расширения делать не надо, рано ещё. работает как первичный фильтр от leftpad-ов. |
|
| Автор: | Иван Денисов [ Воскресенье, 31 Август, 2025 22:35 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Артем Запаранюк писал(а): Добрый день. На главной странице https://blackbox.oberon.org/ вижу предложение опубликовать свое расширение для BB. Стал искать инфу о том, как делать расширения. Тут на форуме инфы не нашел, на Вики тоже нет. Поэтому предлагаю добавить на вышеуказанную страницу информацию о том, как сделать расширение. Ну или ссылку на мануал, если мануал будет размещен в Вики. А ещё можно здесь в шапку раздела добавить. Посмотрите файл Tut-3, там описывается про подсистемы. Потом, всё, что надо для публикации, сжать (меню Инструменты->Закодировать список файлов) свою подсистему или иной набор файлов, в общем случае - расширение функциональности Блэкбокса, и загрузить на сайт. |
|
| Автор: | Артем Запаранюк [ Вторник, 02 Сентябрь, 2025 15:02 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Не могу найти файл Tut3. Можно мне ссылку или адрес, в какой директории он расположен? |
|
| Автор: | Иван Денисов [ Вторник, 02 Сентябрь, 2025 15:30 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Артем Запаранюк писал(а): Не могу найти файл Tut3. Можно мне ссылку или адрес, в какой директории он расположен? В папке Docu или в справке выбрать из первой части учебника ссылку "Приёмы проектирования" Вот от туда ещё выдержка есть, поясняющая принцип. Что компонент это чаще всего одна папка. Цитата: Единственно подходящим для компонентно-ориентированного ПО является вариант, когда добавление и удаление компонентов может выполняться по нарастающей, добавлением или удалением папки. Все виды механизмов централизованной инсталляции или регистрации, которые распространяют составляющие компонента, должны быть исключены, поскольку они неизбежно ведут к (ненужным) проблемам управления. Однако как например для случая пакета локализации, не всегда расширение Блэкбокса - это один компонент или одна папка. Поэтому назвал "расширение", как сокращение от "расширения функциональности". |
|
| Автор: | Артем Запаранюк [ Вторник, 02 Сентябрь, 2025 16:21 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Теперь стало ясно. Пойду изучать. Спасибо. |
|
| Автор: | Артем Запаранюк [ Среда, 03 Сентябрь, 2025 08:36 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Файл нашёл. Ознакомился. Теперь мне ясно как оформить расширение и как его инсталлировать. Ещё раз спасибо. Теперь мне надо определиться на каком принципе будет работать расширение. Я пока знаю 2 таких принципа: 1. Расширение работает на основе готовых технологий типа OLE, COM, SQL. Они есть в BlackBox. 2. Расширение создает новые API интерфейсы для стыковки и работы с framework. Как например интерфейс JNI. |
|
| Автор: | Артем Запаранюк [ Среда, 03 Сентябрь, 2025 11:06 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Нашёл примеры готовых расширений на сайте https://oberoncore.ru/bbcc/subs/start По первому принципу работают: 1. Fib BlackBox Sql-драйвер для СУБД Firebird 2. Mysql Средства взаимодействия с клиентской библиотекой СУБД MySQL 3. Xmlcore - Использование DOM и XML По второму принципу работают: 1. Mbedtls - Интерфейс к криптографической и SSL/TLS-библиотеке Mbedtls. 2. O3 — каркас для разработки веб-приложений (Web-Application-Framework) 3. Ogl -Интерфейс к библиотеке OpenGL 4. Sdl2 - Привязка к Simple DirectMedia Layer v2. 5. Sedna - Интерфейс C-API драйвера XML СУБД Sedna. 6. Xmpp - Реализация клиента сети XMPP (jabber). 7. YSon - Парсер/генератор JSON 8. Acad - Подсистема, позволяющая использовать BlackBox в качестве скриптовой системы вместо Лисп и VisualBasic в программе AutoCAD |
|
| Автор: | Артем Запаранюк [ Среда, 03 Сентябрь, 2025 15:05 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Нашёл в Инете информацию о том, какова сейчас мировая практика создания и подключения расширений. Для framework-ов. На примере Chrome Browser, Visual Studio Community. Пока выяснил, что: 1. Оба framework-a предоставляют API интерфейс для подключения расширений. Для пользователя фреймворка API интерфейс=frontend, расширение=backend. 2. Для сборки главной программы с использованием разных языков программирования нужен сборщик типа Cmake, Cradle. 3. Эта технология выгодна любому автору расширения - у него становится больше пользователей. Поэтому для подключения расширений такого типа к BlackBox достаточно предложить API BlackBox всем авторам популярных расширений. Конечно, при необходимости API BlackBox потребуется модернизировать. Либо самостоятельно писать на КП модуль стыковки, с разрешения автора плагина. |
|
| Автор: | Артем Запаранюк [ Среда, 03 Сентябрь, 2025 16:59 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Также рассматриваю возможности привлечь в BlackBox расширения от родственных framework- ов - Delphi, Lazarus, Code Typhon. Чтобы сделать на КП стыковку для компонентов Delphi и пакетов Lazarus. Хотелось бы без статической компиляции пока обойтись. За счёт заранее откомпилированных модулей Delphi, Lazarus. В первую очередь, меня, интересует то, как "прикручен" Java Native Interface (JNI). В данный момент выясняю это на простых примерах в Lazarus и Code Typhon. |
|
| Автор: | Иван Денисов [ Четверг, 04 Сентябрь, 2025 11:20 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
У Блэкбокса некая своя инновационная идеология раздельной компиляции и позднего связывания модулей. Всё мечтаю как-нибудь погрузиться в чтение этого первоисточника Crelier B.J. Separate Compilation and Module Extension. 1994. https://www.research-collection.ethz.ch ... 00/content копия на сайте OberonCore https://oberoncore.ru/_media/library/cr ... ension.pdf Однако если научились другие всякие штуки стыковать с Блэкбоксом - честь вам и хвала. А так посмотрите подсистему Obx, там пример того, как рекомендуется делать связки своих модулей с каркасом. |
|
| Автор: | Артем Запаранюк [ Четверг, 04 Сентябрь, 2025 13:31 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Цитата: У Блэкбокса некая своя инновационная идеология Однако если научились другие всякие штуки стыковать с Блэкбоксом - честь вам и хвала. Нет, пока не научился. Пока прорабатываю данную тему. Выяснил, что нужно много информации обработать и какой именно. Промежуточные соображения о том, какую именно информацию и для чего нужно узнать, я изложил выше. Лично меня интересует Java Native Interface. Чтобы можно было работать с модулями на Java. С прицелом, в первую очередь на разработку приложений для Андроида. Логику приложения, можно конечно библиотекой оформить внутри apk. А вот графику нужно будет рисовать средствами Андроид ОС. А там всё на Java. И поддержки GTK тоже нет. |
|
| Автор: | Артем Запаранюк [ Четверг, 04 Сентябрь, 2025 13:45 ] | ||
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb | ||
Как указал выше, пока тренируюсь, как раньше говорили, "на кошках". На Lazarus. В нём есть графические компоненты Custom Drawn. Которые заявлены как кросс-платформенные. И что их можно нарисовать в Андроид. Но пока не выходит. Там тоже используется JNI. И откомпилированные модули библиотек из набора Android NDK. На Windows при запуске проекта отрисовка есть. На Android нет. Если интересует, вот ссылка на проект https://github.com/alrieckert/lazarus/t ... androidlcl Во вложении-файл. Там принцип отрисовки вместе с инструкцией.
|
|||
| Автор: | Артем Запаранюк [ Понедельник, 15 Сентябрь, 2025 14:55 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Стал искать демо-примеры Java Native Interface. Популярные примеры есть для C++. Посмотрел в директории "Examples" Lazarus. Пусто. Перешёл в Delphi Studio Community. Нашёл всё файлы для технологии JNI. В директории ~\Source\rtl\android Придётся много файлов Object Pascal переводить на Component Pascal. Также посмотрел Delphi 6,7. В директории "Demos". JNI там нет. Зато есть демо-примеры других технологий, например: 1. OLE 2. Com 3. Corba 4. Midas 5. WebSnap OLE, COM уже в BlackBox. Остальные вполне можно перевести на язык Component Pascal. И сделать расширения для BlackBox. Наверное, с этого и начну. Пока перевожу - выучу Component Pascal. И научусь расширения оформлять для BlackBox. |
|
| Автор: | Артем Запаранюк [ Понедельник, 15 Сентябрь, 2025 15:12 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Кстати, сейчас набирает популярность REST API. Backend тоже можно найти в Delphi Community Edition. Директория ~source\data\rest Так что, если кто-то из уважаемых форумчан сможет быстрее сделать перевод для BlackBox, то я буду только "За". Потому что, поддержка современных технологий, по-моему тоже относится к перспективам развития BlackBox. И было бы замечательно увидеть популярные технологии типа Rest API в новой версии BlackBox. |
|
| Автор: | Иван Денисов [ Понедельник, 15 Сентябрь, 2025 17:40 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Артем Запаранюк писал(а): Кстати, сейчас набирает популярность REST API. Backend тоже можно найти в Delphi Community Edition. Директория ~source\data\rest Так что, если кто-то из уважаемых форумчан сможет быстрее сделать перевод для BlackBox, то я буду только "За". Потому что, поддержка современных технологий, по-моему тоже относится к перспективам развития BlackBox. И было бы замечательно увидеть популярные технологии типа Rest API в новой версии BlackBox. А какая задача, то? Забрать по сети JSON, и его обработать Блэкбокс может сейчас |
|
| Автор: | Артем Запаранюк [ Понедельник, 15 Сентябрь, 2025 19:11 ] |
| Заголовок сообщения: | Re: Насчёт мануалов о том, как делать расширения для Bb |
Спасибо. Буду знать. REST API привёл как пример популярной технологии. На сегодняшний день, по-моему. В целом, хотел подчеркнуть моё мнение, что чем больше технологий будет поддерживать БлэкБокс, тем лучше. В целях его дальнейших перспектив развития. И что, по-моему самый быстрый способ создания расширений - это перевод готовых расширений от других диалектов Паскаль на Компонентный Паскаль. У Lazarus расширения называют Пакеты. У Delphi расширения называют Компоненты. Вспоминаю, как лет 20 назад, когда заканчивал ВУЗ, было очень круто и можно создавать собственные компоненты для Дельфи. Хвастаться ими на Форумах. Особенно, если их принимали для публикации на ресурсе Torry.net. В тот раз, я не успел, потому что мало знал. Посмотрим, может в этот раз получится. Попробую попереводить с Объектного Паскаля на Компонентный Паскаль. А 20 лет назад особо нечего было переводить, поэтому либо с нуля делали расширение, либо чаще всего модификацию того, что было в Дельфи |
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |
|