Перейти к содержимому


Платформа и приложения


Сообщений в теме: 6

#1 lecactusov

    Активист

  • Пользователи
  • PipPipPipPip
  • 114 сообщений
  • Пол:Мужчина

Отправлено 20 Март 2012 - 07:06

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

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

Как тут писали на форуме "так идет разработка параллельно платформы и затачивается под нее приложение". В итоге предлагают нам либо покупать абонементы и надеяться что вот-вот выйдет более свежая версия или покупать версию в определенной стадии и на этом все замирается. Допустим вышел нанокад 5.0, а функционал приложения, к примеру, геоника меня устраивает на стадии 1.1, но вот работает эта геоника на древней платформе со всеми от этого вытекающими проблемами и глюками. и т.д.

что мешает выпускать платформу и приложения отдельно или обновлять чаще сборки пусть и устаревших программ на более свежих платформах? Ведь даже те приложения, с которых склонировали "наноприложения" работают на автокадах 2-3-4 разных версий...
Подопытный NANO-кролик

#2 devbug

    Участник

  • Пользователи
  • PipPipPip
  • 70 сообщений
  • Пол:Мужчина
  • Город:Минск
  • Интересы:Java, Linux

Отправлено 20 Март 2012 - 12:48

Просмотр сообщенияlecactusov (20 Март 2012 - 07:06) писал:

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

что мешает выпускать платформу и приложения отдельно или обновлять чаще сборки пусть и устаревших программ на более свежих платформах? Ведь даже те приложения, с которых склонировали "наноприложения" работают на автокадах 2-3-4 разных версий...
Отвечу не от лица разработчиков, а от себя лично на примере Autocad-a.
Причина, по которой нельзя разработать дополнение к Autocad или Nanocad, которое работало бы во всех версия *CADa кроется в языке программирования C++ и среды разработке Visual Studio.
Например, Autocad 2010 собирался/писался в VS 2008 , а Autocad 2013 будет написан с использованием уже VS 2010. Если собрать дополнение для Autocad 2013 (с использованием VS 2010), то это приложение не будет работать в Acad 2010, 2009 и т.д., т.к. из-за разных версий Visual Studio используются различные библиотеки (dll-ки ).
Следовательно, чтобы поддерживать какое-то одно приложение, которое бы работало на всех версиях Autocad, разработчикам необходимо содержать целый зоопарк этих самых Autocad а также VisualStudio различных версий с различными сервис-паками. И при очередном обновлении дополнения к Autocad необходимо в каждой VS под каждый Автокад компилировать (собирать) отдельную сборку продукта.

С Нанокад картина думаю такая же.

#3 amk

    Активист

  • Пользователи
  • PipPipPipPip
  • 250 сообщений
  • Пол:Мужчина
  • Город:Омск

Отправлено 20 Март 2012 - 18:48

devbug, похоже у тебя не очень большой опыт разработки плагинов. У меня тоже не ахти, но одна и та же dll-ка прекрасно работает с программами откомпилированными как в VS-6.0 (1998 u), VS-2010, так и в ICC и MinGW (gcc). Надо лишь соблюдать кое-какие несложные правила и немного потрудиться.

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

#4 devbug

    Участник

  • Пользователи
  • PipPipPip
  • 70 сообщений
  • Пол:Мужчина
  • Город:Минск
  • Интересы:Java, Linux

Отправлено 21 Июнь 2012 - 22:16

Просмотр сообщенияamk (20 Март 2012 - 18:48) писал:

devbug, похоже у тебя не очень большой опыт разработки плагинов. У меня тоже не ахти, но одна и та же dll-ка прекрасно работает с программами откомпилированными как в VS-6.0 (1998 u), VS-2010, так и в ICC и MinGW (gcc). Надо лишь соблюдать кое-какие несложные правила и немного потрудиться.

Причина в другом. В новой версии платформы немного меняется внутреннее представление примитивов, сам набор примитивов, и операции над ними. В результате приложение, будучи подключено к новой версии платформы, работает уже не так как в старой версии.
С dll возможно. С дополнениями arx (для Autocad), которые написаны на C++ различия в версиях Visual Studio критичны. На эту тему общался лично с представителями Autodesk. А вот плагины, написанные на .NET менее критичны к версии VS и разрядности ОС.

#5 dows

    Активист

  • Продукт-менеджеры
  • PipPipPipPip
  • 2 976 сообщений
  • Пол:Мужчина
  • Город:Москва
  • Интересы:САПР

Отправлено 22 Июнь 2012 - 00:18

devbug, по секрету - arx это и есть dll ))) просто имеющая другое расширение и которое умеет загружать AutoCAD.

А перекомпиляция под новые версии AutoCAD обычно связана с развитием Autodesk API - новые функции, новые объекты, новые, более оптимальные методы. От версии Visual Studio они не особенно зависят. Просто Microsoft, развивая Visual Studio, тоже делает среду разработки более удобной, создает новые технологии, которые имеет смысл использовать при разработке новых версий. Вот оно все развиваясь и требует новых компиляций и, зачастую, новой переработки приложений...
С уважением,
Денис Ожигин

Сайты: www.archicad.ru, www.nanocad.ru

#6 Lion007

    Разработчик nanoCAD

  • Клуб разработчиков
  • PipPipPipPip
  • 468 сообщений
  • Пол:Мужчина

Отправлено 22 Июнь 2012 - 08:58

тут есть еще один момент - а именно достаточно активное развитие\отладка апи (это я про нано). причем вызвано это зачастую не некими отфонарными соображениями (во, а давайте вот такую штуковину к апи присобачим!), а конкретными потребностями конкретных вертикалок. и, понятное дело, в предыдущих версиях платформы такие свежесделанные вещи попросту отсутствуют. и, ясное дело, на более раннних версиях платформы такое приложение работать просто не сможет. на следующих - вполне вероятно и заработает, хотя тоже могут быть особенности.
В принципе, с появлением "устоявшейся" части этого самого АПИ можно будет говорить о достаточно полной переносимости приложений под более поздние версии платформы. Но это с одной стороны. А с другой - это уже вопрос к разработчикам вертикалок - то ли они будут ориентироваться на некое подмножество АПИ из предыдущих версий, то ли на текущее состояние платформы. вопрос компилятора тут менее важен, хотя тоже могут потребоваться танцы с бубном. это extern "C" - функции все равно из какого компилятора подцеплять, а со всем остальным ситуация более сложная. такая вот хистория...
Так что, повторюсь - все эти межверсионные несовместимости - это не специальное такое вредительство, а следствие развития АПИ с одной стороны, и желание вертикальщиков использовать по полной новые возможности этого самого АПИ.

#7 devbug

    Участник

  • Пользователи
  • PipPipPip
  • 70 сообщений
  • Пол:Мужчина
  • Город:Минск
  • Интересы:Java, Linux

Отправлено 22 Июнь 2012 - 10:32

Просмотр сообщенияdows (22 Июнь 2012 - 00:18) писал:

devbug, по секрету - arx это и есть dll ))) просто имеющая другое расширение и которое умеет загружать AutoCAD.

А перекомпиляция под новые версии AutoCAD обычно связана с развитием Autodesk API - новые функции, новые объекты, новые, более оптимальные методы. От версии Visual Studio они не особенно зависят. Просто Microsoft, развивая Visual Studio, тоже делает среду разработки более удобной, создает новые технологии, которые имеет смысл использовать при разработке новых версий. Вот оно все развиваясь и требует новых компиляций и, зачастую, новой переработки приложений...
Я в курсе про то, что arx это и есть dll :)
Просто в совсем уже дебри и тонкости лезть не хотелось.
А что касается Autocad и VS, то со слов Autodesk как-раз таки версии студии играют роль.... В общем это совсем уже другая история и изначально вопрос был не об этом.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей