Есть ли жизнь на маке, нет ли жизни на маке? Науке это не известно. (с)
Являясь разработчиком 1С, я сталкивался с разными ОС. Классической средой разработки для нас был Windows, но также есть Линукс и Мак ОС. Мне всегда было интересно, как живет 1С на разных ОС. На Windows всегда было все просто и понятно, но мне было интересно, как сложится жизнь на близкой к Windows Мак ОС. Долго думал, покупать ли для этого мак или попробовать ОС в виртуалке. С моей точки зрения, виртуальная машина не даст всего того экспериенса, который я хотел получить, и поэтому решился купить МакБук ПРО, чтобы понять, а возможна ли жизнь разработчика 1С в этой среде или нет?
Итак, что мы имеем?
Б/у мак про на интеле с характеристиками:
Также в наличии USB ключ разработчика 1С, интернет и прямые руки. Тестить платформу я решил на достаточно «тяжелой» конфигурации БП. Было интересно погрузиться в отладчик и немного покодить, чтобы понять, возможно это вообще или нет? Меня интересовал именно кодинг и работа в конфигураторе, а не обычная работа в тонком клиенте.
Для тестов я сразу обновил МакБук до актуального релиза ОС MacOS Ventura (версия 13). Чуть позже обновился до 14й версии, чтобы продолжить свои эксперименты. В целом впечатление от операционки у меня сложилось приятное. Много чего в МакБук ПРО мне тут не хватало (например numpad), но к этому в целом быстро привыкаешь. Также понравился экран и клавиатура.
И что же у нас с 1С? Можно ли спокойно на Мак ОС работать? На эти вопросы я сам для себя хотел ответить. Для этого и брался МакБук.
Итак, начнем наши эксперименты:
- Установка платформы 1С локально на Мак ос:
На нашем любимом ресурсе https://users.v8.1c.ru/ в разделе с платформами есть дистрибутивы с тонким и обычным клиентом под Мак. Сам процесс установки 1С можно посмотреть здесь: https://1c-programmer-blog.ru/platforma/ustanovka-1s-na-mac.html Там же есть инструкция по установке USB ключа HASP для разработки. Тут ничего интересного. Все устанавливается достаточно просто, как и на Windows.
Далее создал пустую базу для разработки и залил туда БП. Ключ разработчика 1С-ка увидела и позволила мне запустить конфигурацию. С этим проблем не было. Думаю, и программные лицензии будут также работать.
Далее запустил БП в режиме отладчика и сделал точку останова. Мак ос сразу же повела себя странно. 12 ядер процессора загрузились почти на 100%, зашуршали вентиляторы и компьютер стал лагать, при том что 1С-ка особо ничего не делала, а я стоял в отладчике на точке останова.
На картинке видно, как вел себя мак до запуска 1С и как после. Т.о. я для себя сделал неутешительный вывод. Конфигуратор и режим отладчика не оптимизирован под работой на Мак Ос на интеле. Писать код и отлаживать его практически невозможно из-за высокой нагрузки.
На следующей картинке видно, как мак «отпустило» после того, как я вышел из режима отладки:
- Установка ЕДТ последнего релиза:
Также под Мак есть установщик ЕДТ. Мне также было интересно, как происходит процесс установки и работа под ЕДТ. Скачал установщик ЕДТ. Поставил Liberica 11 Full JDK релиза 11.0.18+10. Далее скачал установщик ЕДТ релиза 2023.1.4.
Процесс установки описывать не буду. Есть видео на ютюбе господина Низамова, где он показывает, как все легко и просто: https://www.youtube.com/watch?v=29KQxr7rqRk
Но при этом не показывает экспорта в ЕДТ хотя бы простого проекта, модификации данных, залитие этих изменений в конфигурации с последующей отладкой. Вот как раз это меня и интересовало.
Запустил ЕДТ. Сделал экспорт конфигурации из 1С в ЕДТ. Глобальных ошибок не было. Поменял форму, добавил новый реквизит, но когда попытался загрузить изменения уже в базу, то получил ошибку загрузки данных. Быстрый поиск устранения проблемы привел меня на сайт GitHub, на котором данная ошибка была зафиксирована разработчиками 1С с низким приоритетом. На этом данный эксперимент решил закончить, так как не хотел тратить время на решение этой болячки. С учетом оптимизации самого клиента 1С было понятно, что в ЕДТ все нормально работать не будет. Пока меня просто интересовала сама возможность работать с ЕДТ на мак ОС. К сожалению, этот эксперимент также провалился.
В дальнейшем я пробовал установить другие версии ЕДТ, но также столкнулся с другими ошибками, которые даже не позволили экспорт проекта в ЕДТ.
На этом этапе я сделал для себя неутешительный вывод, что кодить непосредственно в 1С на маке нельзя, но еще осталось несколько вариантов.
- Установка Windows в Паралелс:
Далее мой цикл экспериментов продолжился, но с использованием любимой всеми ОС Windows.
Для тех, кто не знает, Паралелс для Мак ос – это виртуальная машина по аналогии в Virtual Box. Сама установка скучная и неинтересная. Я поставил Паралелс и ее средствами скачал Windows 11. Поставил свежую платформу 1С. Ключ разработчика пробросил через меню программы:
Поставил платформу и загрузил БП. Также сделал остановку в отладчике и на выходе получил такую картину:
В целом уже лучше. Жить с этим можно, но Паралелс так же нагружает Мак ОС, но уже наполовину. Далее Паралелс отпустило, и он сильно не нагружал процессор. Кодить здесь, конечно, сложно, но при необходимости можно. В целом вариант рабочий.
- Установка Windows непросредственно на МакБук.
Эксперимент продолжился. Решил поставить эту ОС непосредсвенно на Мак Бук (возможно только на процессорах Интел). Windows 11 на Мак бук без танцев с бубном поставить нельзя, но без проблем устанавливается Windows 10. Вот видео инструкция: https://www.youtube.com/watch?v=N7K5wGe_qfA
Тут все как обычно. В буткаме (программа загрузчик) выделяется место под установку винды и выбирается образ для установки. Устанавливается ОС и устанавливаются драйвера. Все как на обычном ноутбуке в Windows.
1С тут себя хорошо чувствует. Ключи видит. Запускается. Особой нагрузки на процессор я не увидел. Этот вариант считаю рабочим, но придется отказаться от Мак ОС и ее «магии».
- Использовать сервер терминалов и РДП.
Это самый последний вариант работы с 1С на маке, который я до сих пор и использую. Дома у меня стоит сервер под управлением Windows 2022. На мак устанавливается через магазин приложений программа от Майкрософт Remote Desktop. Подключаетесь через терминал и работаете как на обычной Windows. Мак используется, как обычный терминал.
- Клиенты в Мак ос.
Работа с клиентами в Мак ос возможна, но тонкий клиент иногда зависал и вылетал. В веб клиенте под браузером Хром все работает хорошо.
- Переход на новую ОС Somona (версия 14.0).
Недавно Эпл анонсировала новую ОС. Ее я также поставил на МакБук. Выводы неутешительные. К сожалению, установленная платформа на ней запускается и вылетает с ошибкой.
Работать с ней на текущий момент нельзя. Поэтому я рекомендую пока не обновлять Мак ОС на последний релиз.
Итоги экспериментов:
Итак, сделаем выводы. Жизнь и кодинг в Мак ОС возможны, но при определенных условиях, и практически все эти условия связаны с ОС Windows:
- На самом маке надо ставить Паралелс и работать в нем;
- Установить на МакБук Windows 10 и работать в нем;
- Использовать терминал РДП и подключаться к удаленному серверу на Windows;
На тонком и на веб клиенте работать можно. На тонком клиенте только пока на релизе Мак ОС 13 и ниже.
Т.о. на сегодняшний момент практически единственным правильным инструментом в разработке будет ОС Windows. Про мак можно забыть.
П.с. в экспериментах ни один МакБук не пострадал. Если у вас есть опыт эксплуатации МакБука в кодинге 1С, то готов услышать ваш опыт и истории.