Как Adobe сделала Photoshop кроссплатформенным? - PullRequest
3 голосов
/ 24 октября 2010

Хочу просто знать, как Adobe делает Photoshop кроссплатформенным?Я знаю, что Photoshop полностью написан на C ++, но как насчет GUI?Использует ли Adobe наборы инструментов с графическим интерфейсом?

Ответы [ 2 ]

4 голосов
/ 25 октября 2010

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

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

1 голос
/ 29 ноября 2013

Написание кроссплатформенного программного обеспечения утомительно, но вот простые правила.

Как правило, вам нужно работать с абстракцией базовой ОС / среды, чтобы ваш код зависел от этой абстракции, а не от самой ОС.,Это называется паттерном моста.Важно понимать, что чем больше функций вы добавите к мосту между вашей программой и ОС, тем сложнее будет портировать программное обеспечение.В случае с Adobe они используют относительно небольшую часть ОС (крошечный мост), поскольку у них есть собственный интерфейс пользователя и обработка текста, поэтому им просто нужно захватить ввод с клавиатуры или мыши и иметь возможность рисовать в окне.

...