The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Публикация библиотеки libOAF/Qt4"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Публикация библиотеки libOAF/Qt4"  +/
Сообщение от opennews (ok) on 21-Ноя-14, 20:42 
На GitHub опубликована библиотека libOAF/Qt4 (https://github.com/SpectrumSoft/liboaf), предназначенная для разработки на языке С++ с использованием библиотеки Qt4 программ, состоящих из компонентов, связанных между собой небольшим количеством интерфейсов. Библиотека собирается и работает как в разных дистрибутивах Linux, так и в разных версиях Windows, начиная с Windows XP.


В случае libOAF/Qt4 под компонентом понимается разделяемая библиотека, оформленная определённым образом и снабжённая специальным описанием. Изначально libOAF/Qt4 основана на идеях компонентной системы OAF/Bonobo, однако существенно проще неё за счёт того, что мы не пытались сделать супер-универсальный инструмент, а решали вполне ограниченный набор проблем.


Библиотека возникла как внутренний инструмент для решения следующих задач:

-  Выделение проектирования архитектуры в относительно независимую от кодирования задачу с возможностью описания архитектуры в терминах предопределённых программных интерфейсов;-  Разделение разработки на ряд максимально независимых частей, для организации контролируемой совместной работы нескольких программистов над одним проектом;-  Реализация возможности подключения дополнительных компонентов к приложению уже после фиксации кода и сборки и фиксации дистрибутива приложения.

URL: https://github.com/SpectrumSoft/liboaf
Новость: https://www.opennet.ru/opennews/art.shtml?num=41103

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Публикация библиотеки libOAF/Qt4"  +1 +/
Сообщение от A.Stahl (ok) on 21-Ноя-14, 20:42 
>OAF/Bonobo

Про такую штуку никогда не слышал, но, думаю, следовало бы написать чем это лучше собственно Qt. Во всяком случае из текста новости это не ясно.
Я уж не говорю о том, что Qt5 вышел не вчера и даже не позавчера.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Публикация библиотеки libOAF/Qt4"  +/
Сообщение от Пользователь Debian on 21-Ноя-14, 20:56 
Bonobo это реализация CORBA, сделанная для первых версий GNOME.

Слово "CORBA" ищите в Википедии.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Публикация библиотеки libOAF/Qt4"  –12 +/
Сообщение от Залифф on 21-Ноя-14, 22:44 
никогда не слышал про CORBA, зато слышал про Кобру и про Кобу (Сталина). Аллак Акбвр
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

7. "Публикация библиотеки libOAF/Qt4"  +/
Сообщение от Сергей Яцкевич email on 22-Ноя-14, 10:46 
>>OAF/Bonobo
> Про такую штуку никогда не слышал, но, думаю, следовало бы написать чем
> это лучше собственно Qt. Во всяком случае из текста новости это
> не ясно.

Когда-то в рамках GNOME пытались развивать универсальную компонентную модель Bonobo. Но сложность её поддержки и развития оказалась неоправданной с точки зрения развития платформы GNOME и составляющих её приложений. В итоге от неё отказались. Однако это не значит, что сама по себе компонентная модель плоха. В рамках большого количества приложений используются и развиваются те или иные плагинные системы, которые по сути являются упрощёнными компонентными моделями.

Мы из OAF/Bonobo взяли только некоторые идеи (в частности некоторые из базовых интерфейсов).

С Qt libOAF/Qt4 сравнивать нельзя, так как данная библиотека является дополнением к Qt и никак её не заменяет.

> Я уж не говорю о том, что Qt5 вышел не вчера и
> даже не позавчера.

Это да, но проект делается на Qt4 и переход на Qt5 не оправдан с точки зрения дальнейшего распространения разработанных программ, так как ряд целевых для нас дистрибутивов Linux просто её не включает.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Публикация библиотеки libOAF/Qt4"  +3 +/
Сообщение от zhenya_k on 21-Ноя-14, 22:41 
А без Qt это можно использовать?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Публикация библиотеки libOAF/Qt4"  –1 +/
Сообщение от Сергей Яцкевич email on 22-Ноя-14, 10:39 
Нет, библиотека работает только с Qt4 (в дальнейшем мы собираемся адаптировать её для Qt5). Мы специально ввели такое ограничение, так как реализация универсального механизма приводит к неоправданному для нас усложнению библиотеки. Как мне кажется стремление к универсализму сделало и CORBA и Bonobo столь тяжеловесными и неудобными в использовании. На мой взгляд проще реализовывать похожие идеи в рамках каждой из платформ, чем делать один универсальный механизм, работающий под всеми платформами.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

8. "Публикация библиотеки libOAF/Qt4"  +3 +/
Сообщение от Анонимускодер on 22-Ноя-14, 10:48 
В коде комментарии на великом и могучем. Это православная библиотека?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Публикация библиотеки libOAF/Qt4"  +/
Сообщение от Сергей Яцкевич email on 22-Ноя-14, 13:45 
Да, это наша разработка. Поскольку мы не планируем её публикацией переворачивать Мир, то сочли нецелесообразным переводить комментарии и документацию на английский.


Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

20. "Публикация библиотеки libOAF/Qt4"  +/
Сообщение от Аноним (??) on 26-Ноя-14, 16:04 
Обычно разработчики пишут комментарии на своём родном языке.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

9. "Публикация библиотеки libOAF/Qt4"  +/
Сообщение от Анонимускодер on 22-Ноя-14, 11:08 
Почему функции-члены класса возвращают ссылки на переменные-члены класса?
Что будет с этой ссылкой, если класс умрет?
Если это такая горе-оптимизация(за которую надо настучать по рукам), то почему это применяется к классам кьют(таким как QString), ведь они внутри copy-on-write и при копировании данные не копируются, копирование произойдет, только при изменении одного из экземпляров?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Публикация библиотеки libOAF/Qt4"  +1 +/
Сообщение от Сергей Яцкевич email on 22-Ноя-14, 12:43 
Билиотека не многопоточная! Если вы ссылку используете по месту, то нет смысла возвращать копию. Если вы ссылку присваиваете переменной, то получите копию. Если вы используете переменную ссылку для хранения ссылки на внутреннюю переменную класса, то значит знаете, что делаете. Возвращать ссылки было моим личным решением, мне так удобнее. Данная библиотека не претендует на то, чтобы быть образцом кодирования, защищённости и академичности.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

13. "Публикация библиотеки libOAF/Qt4"  +/
Сообщение от Анонимускодер on 22-Ноя-14, 13:16 
> Билиотека не многопоточная! Если вы ссылку используете по месту, то нет смысла
> возвращать копию. Если вы ссылку присваиваете переменной, то получите копию. Если
> вы используете переменную ссылку для хранения ссылки на внутреннюю переменную класса,
> то значит знаете, что делаете.

Многопоточность тут вообще не причем.
Те сторонний разработчик, использующий вашу либу, должен держать в голове, что вот эти 50 функции вернут ссылку, а вот те 40 - нет.
auto a = func1();
auto b = func2();
Будут иметь абсолютно разное поведение. Ладно бы это было великой жертвой ради оптимизаций, так оптимизации нет, а головная боль - есть.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

15. "Публикация библиотеки libOAF/Qt4"  +/
Сообщение от Сергей Яцкевич email on 22-Ноя-14, 13:41 
Спасибо, я учту Ваше замечание. Поведение с использованием новых возможностей C++ не анализировалось и Вы правы, здесь могут возникнуть неприятные казусы.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

10. "Публикация библиотеки libOAF/Qt4"  +1 +/
Сообщение от Анонимускодер on 22-Ноя-14, 11:23 
Не совсем понятно назначение библиотеки. Все, что описано выше Qt умеет искаропки.
В кьют есть плагинная система, которая писать плагины, связанные на интерфейсах. Далее эти плагины можно слинковать и динамикой и статикой.
Даже больше. Кьют позволяет связывать компоненты БЕЗ интерфейсов. Для любого класса, отнаследованного от QObject можно запросить задекларированные функции-члены и вызвать их(QMetaObject::invokeMethod).
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Публикация библиотеки libOAF/Qt4"  +/
Сообщение от Сергей Яцкевич email on 22-Ноя-14, 13:08 
Из коробки умеет не всё. Например не умеет подбирать компоненты по набору интерфейсов и дополнительных параметров. Это нужно, например, чтобы иметь возможность добавлять новые компоненты для подключения к приложению. Если Вы посмотрите на приложения Qt, которые используют плагины, то увидите, что они в той или иной мере наворачивают свои системы работы с компонентами, даже если в основе лежит плагинная система Qt, так как её в большинстве случаев не хватает. Мы навернули свою и решили ей поделиться.

Назначение библиотеки я привёл в новости. Назначение больше организационное чем программистское. То есть технический вопрос следовал из организационного. Нам было нужно так построить работу, чтобы можно было давать задания программистам жёстко обозначая что должно быть на выходе. Для этого мы используем набор интерфейсов и XML-описание компонентов. То есть сначала описывается что должен делать компонент, а затем уже он кодируется. Для нас это оказалось удобно. Но я не говорю, что это будет удобно всем и всегда. Возможно что при написании программы одним человеком использование libOAF будет неоправдано сложно.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

14. "Публикация библиотеки libOAF/Qt4"  +/
Сообщение от Анонимускодер on 22-Ноя-14, 13:21 
> Мы навернули свою и решили ей поделиться.

Это правильно. Большинство контор не любит выкладывать код, даже те его части, которые конкурентам нафиг не нужны.


Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

17. "Публикация библиотеки libOAF/Qt4"  +/
Сообщение от Анонимускодер on 22-Ноя-14, 13:48 
Печалит более другое.
На дворе 2015 год, а тут фейспалмы на школьных стульчиках. http://niiaa.ru/wp-content/gallery/programmist/dsc_0613.jpg Не должно государство держать в таком состоянии НИИ.  Простого решения не видно, но и оставлять так нельзя.


Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

19. "Публикация библиотеки libOAF/Qt4"  +/
Сообщение от Аноним (??) on 24-Ноя-14, 14:38 
Лучше поздно, чем никогда.
Отрадный поворот к Open Source!

P.S. Привет от бывшего сотрудника :)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру