Как стать автором
Обновить

Портирование КОМПАС под Linux: особенности реализации и результаты

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров17K
Всего голосов 96: ↑95 и ↓1+104
Комментарии112

Комментарии 112

Радует, что начало положено...

Как же хочется побыстрее увидеть релиз! Спасибо вам за труд!

Это хорошая новость. А что для интерфейса будете использовать?

Какую-нибудь простенькую версию, чтобы быть альтернативой FreeCAD, например, не планируете ли выпустить? Я бы недорого купил, рисовать всякое несложное для 3Д печати.

тоже для линукса, забыл написать

Когда появится коммерческая версия, то сможем сделать и некоммерческие версии тоже.

Я бы рекомендовал сделать строго наоборот - выпускать бесплатные бета-релизы как можно чаще, это позволит вам оперативно отладить ПО. А релизы уже делать платными. Иначе вы рискуете получить жуткий негатив от потребителя за сырой и глючный продукт, и попутно отбить желание у пользователя переходить на отечественные ОС (читай на Linux), которого и так не много!

Вот ведь линуксоиды до бесплатного охочи! Компас переводят на Линукс не ради того, чтобы Вася мог его бесплатно поюзать, а чтобы госорганы и прочие им сочувствующие, которым Виндоус запрещено использовать, продолжали заключать миллионные контакты на Компас. Just business, nothing personal.

Во-первых, я не линуксоид, а скорее фрюховод. :)

Во-вторых, у меня официально приобретенная лицензия на 18-ю версию КОМПАС-3D которую я вынужден гонять в Wine-е, что для меня большая боль и страдание. Я подумываю обновиться, но пока не появится отточена версия под Linux, денег мне совесть не позволит заплатить.

В третьих, условно-бесплатные бета версии это единственный действенный способ ускорить разработку и вычистить баги.

Что же касается госргнанов, там на Linux плотно забили (и на все запреты тоже), все сидят на ворованом софте и на винде, лицензии на которую все никак не заканчиваются и не заканчиваются. ;-)

Вот ведь линуксоиды до бесплатного охочи!

С фига ли? Лично я покупал лицензию на КОМПАС, пока вынужден бы сидеь под виндой. И дальше бы покупал, если бы нормально запустил его под Debian'ом, но чёт не работает. Если условия лицензии будут не хуже виндовых, согласен купить даже не этапе беты.

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

Так и есть.

отлично!!
в далеком 2001-2005 году учился в инженерностроительном, и активно использовал КОМПАС без 3Д в своей учебной работе. Помню как замечательно работало приложение на очень слабом ноутбуке... но я мог это делать и в библиотеке и править на занятиях и прям с преподавателем без печати на А1 обсуждать какие либо детали... Очень теплое чувство от вашего продукта осталось спустя года. Отдельное спасибо за темплейты рамок для всех видов черчежей.

Портирование будет в первую очередь на отечественные ОС. Всё остальное возможно, если не потребует затрат или же потребует только самых минимальных затрат.

macOS она POSIX-compliant, соответствует UNIX’03, ЕМНИП

Оконные системы, ввод/вывод, 3D/2D рендеринг — он не POSIX-compliant, половину приложения точно так же придётся собирать под новые платформозависимые компоненты


POSIX совместимость имеет хоть какой-то смысл, когда пишутся консольные утилиты или серверы, а не GUI приложения со сложным взаимодействием между компонентами, системами плагинов и т.д.

А домену вообще пофигу на ОС, да.

Вы правы.

Много ничегонезначащих аббревиатур) Значение имеют только требования правительства по переходу на отечественные ОС с 2025 года. Если решением правительства от наших пользователей потребуют работать хоть на компьютерах с марса - мы будем их поддерживать.

Товарищ gudvinr хочет сказать, что MacOS тоже операционная система и её пользователи так же хотя иметь в распоряжении нативный Компас.

Писать портабельные приложения не так сложно как кажется. Раз уж вы взялись за портирование по Linux, что по сути является переписыванием "с нуля", то стоит подойти к делу с умом и писать новый код так, чтобы его было не сложно переносить на другие ОС. А лучше сразу делать сборки под несколько ОС, ввести это положение в привычку для всей команды разработчиков.

товарищ @kompas_3d хочет сказать что их собственные ошибки ничему не учат, и когда потребуется портировать под третью ОС они начнут с нуля в третий раз, и им прийдётся поддерживать уже три независимо развивающихся продукта вместо одного правильно сделанного.

товарищ хочет сказать что они делают софт для госкомпаний, а обычные пользователи под ногами мешаются и сыпят "Много ничегонезначащих аббревиатур"


вообще честно говоря судя по комментам от компании веет таким застарелым нафталином древнего НИИ

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

Ну собственно вы мои слова и подтверждаете.


Наши основные пользователи — это крупные предприятия, которые либо государственные, либо под санкциями

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

Ведь есть как минимум компании дружественных стран.

Вы считаете, что в условном Иране много предприятий, которые сидят на MacOS?

У нас дружественные страны это только Иран? Бразилия, Аргентина, Индия, Саудовская Аравия, Эмираты, не?


Ну согласитесь что вы никогда не думали о международном рынке завязнув в госе по уши

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


грубо говоря я знаю компании которые ставят винду только для того чтобы там корел запускать, с КАД-ами я не сталкивался, но чувствую что вопрос аналогичный
Это не клиенты используют винду и вы под них подстраиваетесь, они используют винду в том числе потому что вы им это назязываете

я знаю компании которые ставят винду только для того чтобы там корел запускать

В Саудовской Аравии, Аргентине и Бразилии?

с КАД-ами я не сталкивался, но чувствую что вопрос аналогичный

Не аналогичный. Куча станков, которые работают только на винде. У многих самописный софт под винду, включая различные расчётные модули. Банальные плоттеры и старые принтеры для чертежей как без драйверов будут работать? У многих есть ещё импортные PLM-системы, в которых вся информация и архивы хранятся. Я уж молчу как бабушек и дедушек на что-то другое переучивать - они часто в том, чем пользуются до сих пор до конца не разобрались, а тут что-то новое с нуля учить.

Куча станков, которые работают только на винде. У многих самописный софт под винду, включая различные расчётные модули. Банальные плоттеры и старые принтеры для чертежей как без драйверов будут работать? У многих есть ещё импортные PLM-системы, в которых вся информация и архивы хранятся.

1) какое это имеет отношение к рабочему месту конструктора работающего в компасе, к конструктору которому приходится терпеть винду только ради компаса (ну или солидворкса какого нибудь), у него к рабочему компьютеру не подключены ни станки ни плоттеры, да и PLM стоит не на его рабочем месте а не сервере
2) если сейчас всё так плохо разве это не повод сделать лучше?

Я уж молчу как бабушек и дедушек на что-то другое переучивать - они часто в том, чем пользуются до сих пор до конца не разобрались, а тут что-то новое с нуля учить.

юзверям плевать какая у них ос, особенно бабушкам. я знаю что говорю ибо не одну контору и не одну сотню бабушек пересадил на линукс. дайте им похожий ui и они даже не заметят разницу.

Сразу видно, что в теме инженерии вы профан.

Инженер, это не только конструктор, который в CAD работает. Могут быть инженеры-технологи, которые нужны CAPP системы, есть наладчики станков с ЧПУ (коим я работал 17 лет назад). Писали программы на ЧПУ либо в PEPS который под DOS, либо в UG под Win. И чтобы не бегать каждый раз с дискетой в цех, у нас все станки были в локальной сети, куда программы и сливали.

А PLM это клиентско - серверная среда. И там ой-ой-ой все как не просто с переносом на Linux.

И это я не качнулся софта для сварки, моделирования укладки деталей в тару, организации работы диспетчерский служб. И все это написано про Windows, и аналогов под linux нет и в ближайшие годы не предвидится.

Так что Аскон, конечно молодец, что портирует Компас на linux, только с остальным вы что будете делать?

Инженер, это не только конструктор, который в CAD работает. Могут быть инженеры-технологи, которые нужны CAPP системы, есть наладчики станков с ЧПУ (коим я работал 17 лет назад).

это я знаю, но я говорил именно про конструкторов, какое отношение ваш спич имеет к ним? или они должны страдать потому что соседу приходится страдать?

А PLM это клиентско - серверная среда. И там ой-ой-ой все как не просто с переносом на Linux.

не просто по вашему означает ненужно? я правильно понял?

ваши возмущения интересны, но безполезны в данном контексте

да и PLM стоит не на его рабочем месте

Стоит в том числе и на его рабочем месте.

у него к рабочему компьютеру не подключены ни станки ни плоттеры

И как же он тогда будет печать, если они у него не подключены? Что каждый раз с флешкой ходить как в 90е?

юзверям плевать какая у них ос, особенно бабушкам.

Не нужно наших пользователей какими-то зверями называть!

Стоит в том числе и на его рабочем месте.

в нормальном случае работа с серверной частью PLM задача самого CAD. но увы вы правы это не всегда возможно, ведь большинство проф софта пишется абы как.

И как же он тогда будет печать, если они у него не подключены? Что каждый раз с флешкой ходить как в 90е?

в аскон не слышали про сеть?
впрочем я работал на оборонке, там печатать ходят с флешкой, в закрытую комнату. вы пытались пошутить но шутка оказалась не шуткой.

не слышали про сеть?

Для работы принтера по сети всё равно нужны драйвера.

там печатать ходят с флешкой, в закрытую комнату

Не везде в оборонке такие параноидальные меры безопасности...

Это не параноидальные. В норм лборонной конторе usb просто клеем залиты.

В Саудовской Аравии, Аргентине и Бразилии?

там другой мир? все сидят на винде?


еще раз, я хочу указать на то что вы полностью замкнуты на госзаказчиках и крупных конторах, вам не нужны новые пользователи, вам интересны только крупняки. причем крупняки пойдут на любые требования под вас… вы же упомянули что переходите на российское по только потому что требует государство. а не потому что заказчик может захотел перейти на линукс (ведь ему проще поставить десяток машин на винде чем вас убеждать)


Банальные плоттеры и старые принтеры для чертежей как без драйверов будут работать?

Миграция на другую ОС это отдельный вопрос и крупный проект
но допустим мы взяли новый с нуля построенный завод, у нас там тоже дедушки с виндой?

там другой мир? все сидят на винде?

еще раз, я хочу указать на то что вы полностью замкнуты на госзаказчиках и крупных конторах

У вас только теория. А мы были во всех этих странах и пытались продавать. Нам говорили что угодно - что интерфейс непривычный, что какого-то функционала недостаточно, что местные стандарты плохо поддерживаем. Но нигде и никогда у нас не просили софт не под винду.

Но нигде и никогда у нас не просили софт не под винду.

я прям чувствую что вы не спрашивали


когда я работал в РЖД, к нам притащили агрегат который работал 24/7 и требовал Windows 98 (в 2004 году), причем он был новой разработкой, я лично общался с инженерами-конструкторами
Я им говорил "ребят, давайте Win2000 хотябы!!! ну 98 это что? у меня уже раз пять оно в процессе работы падает в течении дня"… непонимание и "а зачем??? мы не будем ничего переписывать, ставтье 98 и точка!" (домен? какой домен? это не к нам, мы вам станок привезли, он свою операцию выполняет)

У вас нет притерзий что кад системы из европы(америки), чей рынок сильно больше российского, не работают ни на линукс ни на мак.

Но вы предлагаете аскону сделать еще и версию компаса под мак, для условных 0,3% пользователей, хотя они итак сейчас заняты крайне не триальной задачей, переноса компас на linux.

Мне одному кажется ваша предложение не логичным? Вы сами не считаете странным ваше предложение?

У вас нет притерзий что кад системы из европы(америки), чей рынок сильно больше российского, не работают ни на линукс ни на мак.

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

Уже 20 лет работаю на промышленных предприятиях и с промышленными предприятия. Ни одного раза не видел, чтобы инженеры использовали Mac.

Опуститесь с небес на землю и пройдитесь по "условному" Автовазу.

ну прицепились вы к маку, давайте за линукс чтоли… ведь если не события прошлого года то никто бы и не почесался


мак реально в этой сфере не нужен (тут согласен)

Вы пишете в ветке мака. В контексте экспорта кстати мак как раз спрашивали в США, там у них есть существенная доля рынка, но нам туда сейчас всё равно ничего не продать.

позвольте я поясню в чём вы не правы по мнению большинства в этом топике:
вы наступаете на старые грабли путая причину со следствием. немного изменив названия, но не поменяв сути я лишь повторю стааарую фразу которая объясняет всю ситуацию в целом: не "дизайнеров нет на линуксе потому что там нет фотошопа", а "фотошопа нет на линукс потому что там нет дезайнеров".
софт появляется там где есть потребитель, и если потребитель будет просить компас на мак то компас появится на мак. проблема заключается в том что пользователь конечный даже если будет просить пойдёт на три всем известные буквы (да да, я видел как аскон посылает даже не дав договорить), аскон (как и большинство подобных контор) мольбы слушает только от бизнеса, а бизнесу плевать страдает инженер или нет, к тому же аскону очень удобно говорить не "сделаем потому что нас попросили полторы тысячи инженеров" а "да там только один жалкий алмазантей просил, зачем заморачиваться". вот вроде суть одна, но "тысяча инженеров" это повод, а "один юрик" это всего один..

Наши основные пользователи - это крупные предприятия, которые либо государственные, либо под санкциями и им всем нужно переходить на отечественные ОС по решению правительства.

Уважаемая "коммерческая структура", а расскажите пожалуйста, раз вам наплевать на всех, кроме госконтор, вы этот свой опус зачем сюда принесли? Чтобы что? Сделали бы рассылку факсом по своим дорогим клиентам и не пришлось бы крестьян назойливых с их смехотворными запросами раскидывать в комментариях

Я как раз ничего не хотел сказать, и MacOS не пользуюсь даже)

Портируете только ядро? А как же самое вкусное - библиотеки написанные сторонними разработчиками?

Ядро уже давно портировано. Сейчас портируется сам КОМПАС. Новая библиотека развёрток есть в 22й версии.

А есть список для каких систем будет портирование помимо Астра.Линукс? Пользуюсь РедОС (Муром) - планируется ли под нее?

Все обозначенные правительством ОС будут поддерживаться.

Наконец-то, появилось что-то, достойное внимания. Поздравляю всех!

Изложение хорошее, правда все равно, мало что понятно (пазл пишется с одной 'з'). Будем ждать конкретики и результатов. Вообще это здорово, когда под важную задачу можно сделать рефакторинг практически любого уровня.

Когда планируете бета-тестирование? Практика подсказывает, что можно начинать практически в любой момент.

По-русски и правда с одной з, исправили)

почему выбрали debian?

Astralinux. Поддержка Альтлинукс тоже будет.

Астра распространена по большей части в гос структурах, в то время как Альт - в бизнесе и у физиков. Вы же собираетесь зарабатывать на продажах лицензий, а не на попилах (ну я так надеюсь) ? Тогда почему выбрана Астра ?

НЛО прилетело и опубликовало эту надпись здесь

Потому что Astra, Альт и Рейд ОС утверждены правительством. Вот и весь секрет выбора

*Ред ОС

Оборонные предприятия - это и есть госструктуры) Именно ради них всё это и делается. Все остальные пользователи с успехом продолжают сидеть на винде.

Все остальные пользователи с успехом продолжают сидеть на винде.

так стоп, вы или крестик снимите или трусы оденьте

1) "с успехом" и "на винде" расположены на разных полочках, но никак не в одном предложении
2) инженеры на десятках предприятий устали от приколов винды задолго до того как вышло уже названное требование правительства, я уж молчу про админов обслуживающих ПК этих инженеров
3) комментарий выше звучит как призыв к пиратству учитывая что честным путём винду сейчас не купить никому (и забавнее всего этот призыв звучит от ребят делающих проприетарное и платное ПО)
4) а можно узнать какой процент вашей прибыли составляют "оборонные предприятия" и "госструктуры" потому что пока что выглядит так словно вы работаете себе во вред

но общий посыл я понял, видимо в аскон считают что для оборонки так уж и быть можно сделать худобеднотяпляп а простой пользователь пусть страдает с виртуалочкой с пиратской виндой (и видимо таким же пиратским компасом ибо раз уж начал пиратить то зачем останавливаться) ведь сделать хорошо не обещал никто.

1) "с успехом" и "на винде" расположены на разных полочках, но никак не в одном предложении

Почему, если всех всё устраивает? Главное, что предприятия зарабатывают деньги, чтобы развиваться и платить зарплаты - это основной критерий успеха.

2) инженеры на десятках предприятий устали от приколов винды задолго до того

Ну потом устанут от приколов других ОС. Ничего принципиально не изменится.

4) а можно узнать какой процент вашей прибыли составляют "оборонные предприятия" и "госструктуры"

Более 30%

Почему, если всех всё устраивает? Главное, что предприятия зарабатывают деньги, чтобы развиваться и платить зарплаты - это основной критерий успеха.

кого всех? тех двух с половиной землекопов которые не знают альтернатив?

Ну потом устанут от приколов других ОС. Ничего принципиально не изменится.

ну так по этому и говорю про универсальные фреймворки не прибитые гвоздями к одной конкретной платформе

Более 30%

30% это достаточно чтобы забить на потребности остальных 70%? в комментарии ниже вы пишете про то что разработка ориентирована на интересы БОЛЬШИНСТВА пользователей. это как так получается что 30% приносящих прибыль больше чем 70%? по весу чтоли?

остальные 70% на винде.

1) я не спрашивал какую ОС юзают 70%, вопрос был в другом
2) данное утверждение не верно как минимум потому что необходимость пользовать винду для работы некоторого софта никак не говорит о желании её пользовать, так ещё и не совпадает с "политикой партии"
3) откуда столько хамства у официального аккаунта казалось бы крупной конторы?

Перечитайте мои ответы повнимательнее. Для 30% пользователей требуется поддержка отечественных ОС, остальным 70% нужно работать как раньше. Мы не работаем с желаниями, только с коммерческими запросами.

перечитайте внимательно мои вопросы (особенно те которые так старательно игнорируются с самого начала треда) и тогда станет ясно что я спрашивал не об этом.

вы замечательно отвечаете (хотя и полную чушь) на дополнительные ремарки, но упорно игнорируете основную суть всего первоначального вопроса который сквозит тут сразу из нескольких ветвлений комментариев. неужели он настолько на больное давит? или NDA не даёт ответить? ну тогда стоит открыто об этом сказать.

Оборонные предприятия — это и есть госструктуры) Именно ради них всё это и делается

крайне прискорбно что вся разработка ориентирована на госструктуры, и вам всёравно на остальных пользователей

Разработка ориентирована на запросы большинства наших пользователей.

а РЕД ОС?

Ну и её тоже.

Возможно, потому что отечественные линуксы не поставляют в виде докер образов. Вроде у Альт Линукс есть только инструкция как образ сделать. А дебиан - поставляют.

1) не одними докерами живём. alt есть в виде образа для lxd (причём как lxc так и qemu) что вполне себе является альтернативой docker для большинства задач включая и не ограничиваясь CD/CI.
2) у некоторых контор в документации прописано (сам видел) не использовать образа систем с чужих реджистри а по необходимости собирать и поддерживать свои (да да, которые зачастую вообще ничем не отличаются от официальных с докехаба), именно собирать а не копировать извне

UPD: в репе lxd у alt остались только lxc образа, qemu пропали.

пруф

Мне кажется, включить lxd образы в CI сложнее чем докер образы. Понятно, что любые сложности преодолимы, но почему не сделать удобно сразу? Официальные докер образы российских дистрибутивов линукс сэкономили бы время коллегам.

как таковой технической сложности нет вообще. проблема в том что (на примере gitlab-ci) все отличные от docker ранеры в большинстве CD/CI инструментов это нелюбимое дитя, любые проблемы с ними решаются (если вообще решаются) в последнюю очередь. например ssh-executor в gitlab-ci висит в состоянии "ну мы потом посмотрим" уже много лет. так что вопрос не технический а скорее политический.

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

Пожалуйста, не забывайте компилировать под другие ОС, например под FreeBSD. Заранее огромное спасибо!

Портирование будет в первую очередь на отечественные ОС. Всё остальное возможно, если не потребует затрат или же потребует только самых минимальных затрат.

Старайтесь писать так, что бы независеть от ОС и сможете покрыть сразу весь спектр open source операционных систем. Учитывая что у вас не системное и не сетевое приложение, то это совсем не сложно. В общем, поменьше стронних библиотек и все будет хорошо. :-)

PS: Готов потестировать ваш "прототип" Компаса на FreeBSD под Linuxulator-ом. Мою статейку про запуск Компаса на FreeBSD Вы, наверное, читали.

Читали)

Учитывая что у вас не системное и не сетевое приложение, то это совсем не сложно.

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

Сторонним товарищам придется тоже поднапрячься.

Портирование будет в первую очередь на отечественные ОС.

ну Ульяновск.BSD вполне себе отечественная и импортозамещённая FreeBSD

Сегодня впервые публикуем пост о разработке нативной Linux-версии.

всего то спустя сколько лет портирования? 8??

К моменту перехода на Linux у нас был большой запас неиспользуемого старого кода, который остался после перевода большей части интерфейса на WPF в 17-й версии КОМПАС-3D. Это Windows-специфичный код, и от него нужно было избавляться.

божественный Qt не привязанный к одной платформе такой: "ну да, ну да.. пошёл я на.." ©

wpf - "шикарный" выбор для разработки интерфейса, у него ведь целых 0 преимуществ.

божественный Qt

Дорогой для коммерческого использования и скорее всего лицензировать для аскон вообще невозможно

я далеко не специалист в лицензировании, не юрист, не бюрократ. но насколько я помню базовые возможности Qt (а для создания окошка с кнопочками базовых более чем достаточно, ведь остальное у аскон уже есть) распространяются по принципу "бери и юзай" не требуя оплаты чего либо и отдельных договоров. поправьте меня если я ошибаюсь. ну и в конце концов для создания UI можно взять не голый Qt а например новомодный kirigami, ну или на худой конец gtk если уж совсем хочется через опу делать. и всё равно остаться с переносимой кодовой базой. однако в аскон зная заранее что линукс версия не за горами взяли за основу для интерфейса масдайный непереносимый фреймворк, а вместо ответа на вопрос "а почему собсна" поставили минус мне в карму (и мы все знаем почему именно так).

На чём делали оконный интерфейс под линукс?

Интересно каков штат сотрудников делающих Linux версию.
И каков штат делающих компас под форточки ?

Уже 2 неотвеченных вопроса выше. Что ж, буду третьим.

Что используется для графического интерфейса (менюшки и кнопки) и непосредственно для рендеринга 2d/3d. Какие библиотеки/фреймворки/низкоуровневые прослойки? Skia?

Видимо наворотили такое, что писать стыдно

Интерфейс - Qt. Рендеринг - ogl. Используем Skia. Библиотеки/фреймворки - boost, freetype и много других. Проект на CMake, внешние зависимости в Conan.

Спасибо за ответ!


Правильно ли я понимаю, что текущая Windows версия остается "нетронутой", а прототип на кросс платформенной основе развивается сам по себе?


Или в Windows версии уже сейчас интерфейс меняется на QT, несмотря на то, что реальная версия для Linux еще не вышла (и неизвестно когда выйдет)?

Windows-версия продолжает развиваться с минимальными изменениями в технологиях, на QT её не переводили.

т.е. вы будете теперь поддерживать два продукта выполняющие одинаковые задачи и снабжённые одинаковым функционалом вместо того чтобы win и lin версию привести к одинаковому знаменателю?

наконец-то ответ..

именно это я вопрошал несколько часов назад, именно этот вопрос был проигнорирован.

А какие-нибудь альтернативы для пользовательского интерфейса кроме Qt рассматривали? Интерфейс Linux версии я так понимаю будет сильно отличатся от Windows и будет больше походить на стиль office 2003, или нет? Или Qt как раз выбран за счет кроссплатформенности, т.е. в конечном итоге под оба варианта будет интерфейс на Qt? Интересно какие еще альтернативы по интерфейсу есть.

Интерфейс виден на скриншоте. Он не сильно отличается от стандартного. Просто часть элементов ещё не сделаны.

НЛО прилетело и опубликовало эту надпись здесь

Возникает закономерный вопрос: а почему до недавнего времени проект был так сильно прибит гвоздями к Windows? Почему изначально не было изоляции платформозависмого кода? Почему не использовались кроссплатформенные фреймворки, вроде Qt?

Казалось бы, сильно бы это жизнь не усложнило но работу по адаптации к GNU/Linux это бы сильно облегчило.

Да, это очень значительно усложняет разработку. Компас продукт из 90-х. Когда не меньше 95% десктопных машин (=твоих потенциальных клиентов) использует Windows, какой смысл думать про другие платформы. Это экономика. Никто не будет добавлять трудозатрат, когда они не окупятся.

Из 80х, не нужно нам возраст занижать)) КОМПАС ещё в советском союзе под DOS работал)

Древность продукта объясняет проблему с переносимостью.
Насколько я понимаю, в 90-х, а уж тем более ранее с этим всё очень плохо было. Банально стандартизация C++ (или даже Си) хромала и один и тот же код мог не работать корректно на разных платформах.
Ну и к тому же код тогда писали сильно ближе к железу - ибо не было хороших абстракций (в том же DOS даже графического API нету), что опять же не способствует переносимости.

на самом деле КМК не объясняет.

1) за столько лет разработка не раз упиралась в "даёпрст опять переписывать это легаси" по разным причинам
2) переезд dos>xp>7>10 (намерено пропустил много версий) каждый раз приводил к "а вот это нам опять переделывать"

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

потому что еще три года назад не было рынка пользователей Linux

его и сейчас нет, даже при учете работы из под палки правительства. Мне вот интересно, когда Аскон выпустит свой Компас под Linux, какая у него будет доля?! скорее всего, те же 2-3%. Остальные на Win

да, начало есть

Молодцы, так держать.

Просто титанический труд. Вы красавцы! Судя по скриншотам, одно из любопытных отличий от версии для винды, это отсутствие кастомной рамки окна. Хотелось бы верить, что в релизной версии данная особенность будет исправлена (т.к экономия места на экране с ней весьма заметна (особенно на ноутбуках)).

В итоге нам удалось выпилить несколько сотен тысяч строк Windows-специфичного кода. — А сколько сейчас в Компасе(ах) всего строк кода? Ориентировочно, просто для понимания масштаба?

Несколько десятков миллионов точно есть... Мы как-то лет 10 назад считали, чтобы напечатать весь код нужно несколько вагонов бумаги)) Сейчас размеры кода только выросли. Тут вопрос даже не в самом количестве изменений, а в том, что после этого весь остальной код должен продолжить корректно работать.

От Wine надо избавляться. Это лишнее. Freecad без эмулятора работает везде, и код у него открытый.

А прогресс где то можно отслеживать? хочется уже потестировать:)

Наберитесь терпения, всё будет)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий