crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Программа для сценаристов
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
erikson Дата 24.6.2025, 13:50
  хороший вариант https://github.com/dimkanovikov/Scenarist
Diana Дата 8.10.2023, 20:03
 
Цитата(DOGG @ 21.5.2017, 17:59) *
Привет, коллеги! Решил освежить ветку - вдруг кому будет интересна дальнейшая судьба проекта!:)

Количество установок программы уже давно перевалило за 20 тысяч! В прошлом году ко мне присоединился ещё один разработчик - студент МГУ, который в своё свободное время тоже участвует в разработке. За прошедший год мы основательно улучшили облачный сервис, значительно развили модули разработки, редактора сценария и статистики, сделали кучу небольших, но полезных улучшений, всякие автоматические обновления и т.п. вещи, добавили модуль карточек, а потом полностью его переделали!:D Программа была переведена ещё на 4 языка (немецкий, казахский, португальский и украинский), в работе переводы на китайский, японский и фарси.

Вот, даже сделали небольшое видео об основных возможностях: https://www.youtube.com/watch?v=zg-BLExGWzE

Короче жизнь кипит!:)

Если вам будет интересно узнать что-нибудь о проекте в подробностях, то с удовольствием расскажу! Ну а если вы вдруг захотите стать соучастником, то добро пожаловать! А если решите скачать и попробовать - не удивляйтесь, в программе серьёзно доработан интерфейс в сравнении с версией на видео!

Весёлого дня, ребята!

DOGG Дата 25.1.2018, 10:04
  Ребята, всем привет!

А мы всё также развиваем наш Open Source проект. Некоторые говорят, что он уже стал на российском рынке стандартом, другие с этим не согласны, но мы тем не менее не отступаем и сейчас активно будем выходить на европейский рынок.

В связи с чем, вновь объявляется поиск разработчиков для участия в проекте! Мне интересны ребята, которые умеют решать задачи. Если у вас нет большого опыта, то это ничего, я помогу во всём разобраться + постоянно делаю ревью, подсказываю в каких-то моментах. Главное, чтобы вам самим было интересно в этом поучаствовать и вы умели добиться результата. Ну а если есть большой опыт и вы хотите стать частью нашего проекта - круто! Есть очень много разноплановых задач. Куча задач по доработке самого приложения: тут и вещи связанные с GUI (чисто интерфейсные задачи, типа сделать фильтрацию в дереве, разработки графических редакторов [редактор схем, таймлайн], и другие [сейчас например есть желаение сделать диф-тулзу для сравнения версий сценариев]) и оптимизации/переработки некоторых алгоритмов, парсеры, есть задачки связанные с сетевым взаимодействием приложения и облачным сервисом; на бэкэнде нашего облачного сервиса тоже есть куда идей для развития. В общем не заскучаешь!

Технологии, которые сейчас используем: desktop & mobile - Qt (GUI на QtWidgets), web - php (если вы захотите переписать сервис на go или node js - да пожалуйста, тут полная свобода).

На всякий случай продублирую ссылку на исходники https://github.com/dimkanovikov/KITScenarist

P.S. Студент, который вместе со мной развивает проект, устроился на стажировку в компанию мечты! Не то, чтобы я в этом виноват, но как приятно быть причастным!:)
DOGG Дата 21.5.2017, 17:59
  Привет, коллеги! Решил освежить ветку - вдруг кому будет интересна дальнейшая судьба проекта!:)

Количество установок программы уже давно перевалило за 20 тысяч! В прошлом году ко мне присоединился ещё один разработчик - студент МГУ, который в своё свободное время тоже участвует в разработке. За прошедший год мы основательно улучшили облачный сервис, значительно развили модули разработки, редактора сценария и статистики, сделали кучу небольших, но полезных улучшений, всякие автоматические обновления и т.п. вещи, добавили модуль карточек, а потом полностью его переделали!:D Программа была переведена ещё на 4 языка (немецкий, казахский, португальский и украинский), в работе переводы на китайский, японский и фарси.

Вот, даже сделали небольшое видео об основных возможностях: https://www.youtube.com/watch?v=zg-BLExGWzE

Короче жизнь кипит!:)

Если вам будет интересно узнать что-нибудь о проекте в подробностях, то с удовольствием расскажу! Ну а если вы вдруг захотите стать соучастником, то добро пожаловать! А если решите скачать и попробовать - не удивляйтесь, в программе серьёзно доработан интерфейс в сравнении с версией на видео!

Весёлого дня, ребята!
DOGG Дата 22.4.2015, 13:04
  Приветствую, коллеги.

Продолжим наше знакомство и сегодня поговорим о слое Модель предметной области.

Модель предметной области предназначена для сокрытия базы данных от верхних слоёв приложения, т.е. в приложении мы работаем с объектами (сценарием, персонажами, локациями и т.п.), а не с записями из базы.

Что внутри? Устройство слоя.

Давайте рассмотрим, как устроена логика работы слоя.


DomainObject - базовый класс для всех объектов модели предметной области. Т.к. объекты являются отражениями данных из базы, то они содержат поле идентификации (Identifier - обёртка над идентификатором записи из базы данных), методы для работы с ним, а так же вспомогательный функционал для отслеживания изменений объекта.

DomainObjectsItemModel - базовый класс для списков объектов. Наследуется от родной модели Qt, реализуя основной функционал и немного расширяет её. Это позволяет использовать преимущества, как самой модели предметной области, так и техники Qt Model/View Programming.

ConcreteObject и ConcreteObjectsItemModel здесь - это реальные представители модели предметной области.

Что внутри? Классы.

А вот и диаграмма со всеми представителями слоя.


Каждый из девяти объектов хранит всю необходимую информацию о себе, а так же имеет вспомогательные функции для работы со своими данными.

Вот примерно так и организована модель предметной области в моём приложении.

Как обычно, если у вас нашлись вопросы или замечания, буду очень рад обсудить их!
DOGG Дата 18.3.2015, 14:24
  Всем привет.

Сегодня хочу рассказать об архитектуре проекта в общих чертах.

Итак, вся система разбита на шесть слоёв:


Вверху на картинке показаны два общедоступных слоя (т.е. знать о них разрешено любой функции/классу из любого другого слоя):
1. Модель предметной области
Фактически представляет собой отображение схемы базы данных в объекты.
2. Вспомогательные элементы
Здесь находятся все универсальные решения, а так же все сторонние решения, обнаруженные в интернете. В основном это виджеты и делегаты, но так же есть несколько вспомогательных классов, которые используются повсеместно в проекте.

Далее идут слои, являющиеся пожалуй, основными составляющими программы. Слева идут три слоя, которые замыкаются на себе, т.е. им разрешено знать о сущностях находящихся в собственном слое, а так же о сущностях общедоступных слоёв. Управленческий же слой берёт на себя обязанность по координации взаимодействия между всеми слоями приложения. Это моя своеобразная интерпретация паттерна модель-представление-контроллер. Т.к. слои независимы, они легко разносятся, что облегчает создание новых систем на основе имеющейся.

Дальше чуть более подробно о каждом из них:
3. Слой хранения и обработки данных
Скрывает в себе три подслоя, которые в свою очередь предоставляют: а) интерфейс доступа к базе данных; б) загрузку данных из базы и преобразование их в модель предметной области; в) собственно доступ к загруженным объектам.
4. Слой бизнес логики
Сосредотачивает в себе все тонкости работы с киносценарием: подсчёт хронометража, построение структуры сценария, импорт/экспорт сценария из/в документы различных форматов и т.д.
5. Слой пользовательского интерфейса
Мне нравится, когда интерфейс тупой, просто отправляет сигналы в нужный момент и загружает предоставляемые ему данные в заданные поля. Но в данном проекте есть одно большое исключение - это собственно сам редактор сценария (ScenarioTextEdit). Он вместе с группой зависимых классов является, как представителем слоя пользовательского интерфейса, так и входит в управленческий слой. Сделано это потому, что сам редактор довольно специфичный и разделение его на два независимых класса принесло бы больше проблем/сложностей/трудозатрат, чем их объединение.
6. Управленческий слой
Как и говорилось раньше, этот слой берёт на себя ответственность за координацию взаимодействия между всеми слоями приложения, от первого пункта меню, до вопроса о сохранении редактируемого проекта при закрытии программы.

Вот так выглядит самый верхний срез устройства программы.

Постепенно я буду выкладывать всё более детальные подробности, если вас что-то заинтересовало, вы хотите что-нибудь покритиковать, или уточнить - УРА! :) Пишите, мне очень интересно ваше мнение.
DOGG Дата 27.1.2015, 11:57
  Iron Bug, спасибо за совет, но я и не хотел её рекламировать :) Дело в том, что в программе ведь есть и техническая сторона - код. Вот мне и хотелось бы себя показать, может быть те решения, которые применены в этом проекте будут кому-то полезны, или может быть кто-нибудь даст дельный совет, как что-то можно улучшить. А со сценаристами мы уже давно и плотно работаем.

В общем решено, попробую писать небольшие обзорные статьи по внутреннему устройству программы.
Iron Bug Дата 26.1.2015, 15:43
  думаю, что такие вещи лучше рекламировать на профильных сайтах. там, где сценаристы тусуются, например. а программисту такой софт вряд ли пригодится. у нас тут в основном вопросы программирования обсуждают и темы смежного софта, который нужен в программировании и отладке.
DOGG Дата 26.1.2015, 13:13
  Как бы тему-то развеселить? Может быть вам было бы интересно узнать какие-то технические моменты?
DOGG Дата 5.11.2014, 16:38
  Flex Ferrum, здравствуйте. Принципиально тем, что опенсорс.
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 20.7.2025, 6:33