Apple M1 для разработки в Discourse

Привет,
Я планирую приобрести Apple MacBook Pro M1 для разработки на Discourse и хотел бы получить отзывы разработчиков сообщества о процессоре Apple M1 в контексте разработки под Discourse.

Вы рекомендуете использовать Apple MacBook Pro M1 в качестве основного устройства для разработки на Discourse?

У нас довольно много инженеров, которые используют M1 для разработки и в восторге от него. @david, вероятно, сможет рассказать подробнее.

Да, всё отлично работает! Совместимость вначале была немного проблемной, но теперь Postgres, Redis, Ruby и Discourse функционируют безупречно! Это огромный скачок в производительности по сравнению с моим предыдущим MacBook на Intel. Несколько дополнительных деталей можно найти в этой теме.

Звучит убедительно :wink: Большое спасибо @sam и @david! Как только товар будет доставлен, я поделюсь своим опытом :grinning_face:

Привет :wave: У кого-то есть настройка разработки Discourse на машине M1, при этом параллельно разрабатываются и другие проекты на разных технологиях? Как впечатления и каков ваш рабочий процесс?

Я разрабатываю и поддерживаю несколько других проектов, и переключение между ними стало настоящей болью, а теперь, из-за архитектуры M1 ARM, ещё сложнее. Добавление и правка конфигураций, чтобы всё работало (например, разные пути к бинарным файлам для разных стеков технологий и CLI, разные SSH-ключи для разных email-адресов) — это настоящая рутина. Поэтому я пытаюсь оптимизировать процесс и использую алиасы и базовые скрипты в моём файле .zshrc.

На данный момент я ограничиваю себя только разработкой темы Discourse и чтением кодовой базы Discourse :face_vomiting: :joy:

Ссылка:
Другие стеки технологий, над которыми я работаю на машине M1 помимо Discourse:

  • Rails 6
  • Rails 5 + React
  • React Native

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

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

К сожалению, реализация Docker для M1 имеет некоторые проблемы, из-за которых наш базовый образ не работает :cry:

Что касается изоляции сред разработки — я бы посоветовал убедиться, что вы используете Bundler / Yarn для установки разных зависимостей для каждого проекта. Для Ruby также есть такие инструменты, как rvm, которые позволяют мгновенно переключаться между разными версиями Ruby.