Обновить
25.24

macOS *

Настольная ОС компании Apple

Сначала показывать
Порог рейтинга
Уровень сложности

Самое важное с конференции Apple WWDC'20

Время на прочтение5 мин
Охват и читатели32K
Сегодня вечером прошла 31-я конференция Apple для разработчиков ― впервые полностью в формате онлайн. В этом репортаже мы перечислили наиболее значимые нововведения, которые были представлены сотрудниками компании для своих операционных систем и устройств.


Как найти ошибки в C# проекте, работая под Linux и macOS

Время на прочтение20 мин
Охват и читатели3K

Picture 8

PVS-Studio – известный статический анализатор кода, позволяющий найти множество каверзных ошибок, скрытых в исходниках. Недавно завершился бета-тест новой версии, в которой появилась возможность анализа C# проектов под Linux и macOS. Кроме того, теперь анализатор можно интегрировать с кроссплатформенной IDE от JetBrains – Rider. Данная статья позволит познакомиться с этими возможностями на примере проверки open source проекта RavenDB.
Читать дальше →

Apple Mac и причудливые устройства. LTO, SAS, Fibre Channel, eSATA

Время на прочтение11 мин
Охват и читатели5.4K
Темой настоящей статьи является подключение к Маку внешних устройств по интерфейсам SAS, Fibre Channel (FC), eSATA. Сразу оговоримся, что для решения задачи доступа к таким устройствам существует путь здорового человека: собрать дешёвый PC, воткнуть туда карту контроллера HBA SAS или FC (например, простейший адаптер LSI), подключить к этому контроллеру свои устройства, установить на PC любой линукс и работать с Мака через сеть. Но это банально и неинтересно. Мы пойдём путём хардкора и будем подключать свои устройства непосредственно к Маку.
Читать дальше →

Нетривиальные анимации в SwiftUI

Время на прочтение8 мин
Охват и читатели6.1K

Идея


На WWDC 2019 была представлена SwiftUI — технология коренным образом влияющая на создание UI в приложениях для экосистемы Apple. Нам в Distillery стало интересно в ней разобраться чуть глубже, чем это подано в примерах от Apple. В идеале нужно было запилить какой-нибудь полезный для iOS команды и сообщества UI компонент. С идеями по этому поводу оказалось туго, поэтому решили пилить что-то просто забавное. Вдохновил вот этот концепт:


image


Особенно интересным показалось обилие нетривиальной анимации. Таким образом, по ходу реализации хотелось проверить, насколько SwiftUI удобен и приспособлен для чего-то более сложного, чем почти статический UI из примеров WWDC 2019.

Читать дальше →

Строим pipeline для доставки Graal Native Image конечным пользователям

Время на прочтение7 мин
Охват и читатели1.3K

В данной статье я хочу описать свой опыт по доставке Graal Native Image конечным пользователям Mac OS и Linux в одну команду при помощи Travis CI.


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


Пожалуй начнем.


У меня есть:


  • Java приложение со всеми конфигурациями для сборки native image.

Что хочу получить:


  • Собрать native image при помощи Travis
  • Собрать rpm и deb дистрибутивы, а также архив для mac версии
  • Залить полученные пакеты на Bintray
  • Дать пользователям возможность загрузить приложение через пакетный менеджер
  • Максимально автоматизировать процесс.
Поехали

sMock — Swift mocking framework для Unit-tests (спасибо gMock за идеи)

Время на прочтение5 мин
Охват и читатели4.7K

Проблема


Переходя в мир Swift из ObjC/C++, я столкнулся с проблемой при написании юнит-тестов: отсутствием инструментов для создания Mock-объектов.


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


Погуглив, я нашел несколько фреймворков Swift Mocking на github. Но ни один из них не явился мне ясным и очевидным в использовании (по одной или нескольким причинам):


  • имеет тучу зависимостей
  • не имеет интуитивного синтаксиса
  • требуется кодогенерация / написание вручную большого количества вспомогательного кода
  • не интегрирован с XCTest (позволяет мокать, но не тестировать)
  • иметь много возможностей, сваленых в кучу одного фреймворка (неразбериха что и зачем)
  • должен использоваться с ограниченным количеством предопределенных/встроенных типов

Эта ситуация была для меня неприятной, и напротяжении около года я использовал обходные пути и самописные моки.
Самописные Mock-объекты просты, но они


  • каждый раз разные (изобретаем велосипед)
  • или каждый раз одинаковые (копипаст)
  • неочевидные в использовании

Решение


В мире C ++ существует популярный и чудесный фреймворк gTest / gMock (от Google).
Он позволяет создавать Mock-объекты очень наглядно и компактно. Также он имеет интуитивно понятный синтаксис, который позволяет просто «читать» (не изучать) написанный тестовый код.

Читать дальше →

Производство Material иконок для MacOSX приложения Home Assistant на Electron

Время на прочтение3 мин
Охват и читатели9.1K
В первой серии я заварил умный дом на Home Assistant. В процессе я влюбился в Home Assistant и подумал, не написать ли десктопное приложение для этой системы. У Home Assitant есть прекрасный web-интерфейс и показалось разумным завернуть его в Electron, чтобы получить красивую иконку в доке, родные нотификации, menu bar для быстрого доступа и прочие zeroconf. Home Assistant для всего что можно использует Material Icons: для дашбордов, для состояний, для кнопок, для всего. Это значит, что надо подтянуть весь набор материальных иконок в приложение Electron.
Читать дальше →

Как защищать процессы и расширения ядра в macOS

Время на прочтение8 мин
Охват и читатели4.7K
Привет, Хабр! Сегодня мне хотелось бы поговорить о том, как можно защитить процессы от посягательств злоумышленников в macOS. Например, это полезно для антивируса или системы резервного копирования, особенно в свете того что под macOS существует сразу несколько способов “убить” процесс. Об этом и о методах защиты читайте под катом.

image
Читать дальше →

Создание desktop приложения с помощью Golang и Fyne

Время на прочтение3 мин
Охват и читатели41K

Сегодня мы будем разрабатывать desktop приложение на Golang


Разработка golang desktop приложения — не совсем типичная задача для golang программиста.
Читать дальше →

Формируем View в SwiftUI, исходя из условий

Время на прочтение2 мин
Охват и читатели4.7K
Иногда нам нужно сформировать SwiftUI View, учитывая некоторые условия. Например, в приведенном коде мы определяем HomeView, который может содержать ProfileView, в случае если в LogInManager есть loggedInUser. Мы пытаемся это реализовать, используя стандартный оператор if:
Читать дальше →

Во дни сомнений, во дни тягостных раздумий

Время на прочтение3 мин
Охват и читатели5.8K
В данной статье мне хочется рассказать, как я визуализировал статистику по происходящей пандемии, и поделиться с какими особенностями можно встретиться, используя для этого Avalonia UI.


Читать дальше →

Используй время правильно: автоматизация процессов в Tinder

Время на прочтение8 мин
Охват и читатели9.2K

Думаю многие любят знакомиться в соц. сетях и пользуются приложениями (например Tinder),
но часто уходит много времени на то, что бы ставить лайки и отправлять первые
сообщения. Я считаю что это монотонные действия которые только отталкивают от
общения и знакомства. Если ты программист, зачем быть как все, давай вместе со
мной автоматизируем процесс монотонных действий и оставим свое внимание только
для приятного общения, но обо всём по порядку.
Читать дальше →

Инструментарий фронтенд-специалиста: полезные утилиты и фичи для ускорения разработки

Время на прочтение4 мин
Охват и читатели9K


Прошли те времена, когда фронтендеру достаточно было открыть «Блокнот», написать несколько строк кода, проверить его в браузере и загрузить на сервер через FTP. Современная разработка пользовательского интерфейса сильно усложнилась. Экосистема JavaScript растет и изменяется настолько стремительно, что в ней легко запутаться. В этом посте я расскажу, что использует фронтенд-команда Parallels для оптимизации работы.
Читать дальше →

Ближайшие события

Beta-тест C# анализатора PVS-Studio на Linux и macOS

Время на прочтение1 мин
Охват и читатели2.1K

Picture 1

Всё больше пользователей C# анализатора PVS-Studio интересуются возможностью его использования для проверки C# кода на Linux и macOS. И сегодня у нас хорошие новости.
Читать дальше →

Улучшения специальных возможностей в Visual Studio 2019 for Mac

Время на прочтение4 мин
Охват и читатели2.2K
image

Выпуск Visual Studio 2019 for Mac версии 8.4.4 включает в себя многочисленные изменения в цветовой палитре значков, предупреждений и сообщений об ошибках. Новый внешний вид легко бросается в глаза, а новая цветовая гамма еще более заметна. В это статье я расскажу, почему эти изменения действительно важны и что именно было изменено.

В настоящее время более 1 миллиарда человек имеют ту или иную форму инвалидности. Людям практически ежедневно приходится сталкиваться с различными проблемами. К ним относятся ограничения подвижности, когнитивные и нервные нарушения, проблемы с речью и слухом. В связи с этим мы хотим рассказать об улучшениях визуальной доступности в самых последних версиях Visual Studio for Mac.
Читать дальше →

Управление Mac в мире Windows

Время на прочтение4 мин
Охват и читатели7.9K


Большинство организаций используют System Center Configuration Manager для автоматизации процессов системного администрирования. Одна незадача: базовая функциональность SCCM ограничена для macOS. Поскольку с каждым годом количество «яблочной» техники в компаниях растет, проблема становится все актуальнее. О том, как эффективно управлять Mac-устройствами в корпоративной среде, используя при этом существующую инфраструктуру, рассказывает руководитель команды разработки Parallels Mac Management Тимофей Фуряев.
Читать дальше →

Swift 5.2 — что нового?

Время на прочтение3 мин
Охват и читатели8.1K
Первая бета Swift 5.2 только что появилась в Xcode 11.4 beta, и в ней произошли изменения в языке, наряду с сокращением размера кода и используемой памяти, а также появилась новая система диагностики, которая позволит быстрее выявлять ошибки.
Читать дальше →

Протокольно-ориентированное программирование в Swift 5.1

Время на прочтение10 мин
Охват и читатели17K
Протоколы — фундаментальное свойство Swift. Они играют важную роль в стандартных библиотеках Swift и являются обычным способом абстракции кода. Во многом они похожи на интерфейсы в других языках программирования.

В этом руководстве мы представим вам подход к разработке приложений, называемый «протокольно-ориентированным программированием», который стал практически основным в Swift. Это действительно то, что вам необходимо уяснить при изучении Swift!

В этом руководстве вы:

  • поймёте разницу между объектно-ориентированным и протокольно-ориентированным программированием;
  • разберётесь со стандартной реализаций протоколов;
  • научитесь расширять функционал стандартной библиотеки Swift;
  • узнаете, как расширять протоколы при помощи дженериков.
Читать дальше →

Использование перехватов операций для бэкапа файлов в macOS “на лету”

Время на прочтение6 мин
Охват и читатели4.3K
Привет, Хабр! Меня зовут Денис Копырин, и сегодня я хочу рассказать о том, как мы решали проблему бэкапа по требованию на macOS. На самом деле интересная задача, с которой я столкнулся в институте, выросла в итоге в большой исследовательский проект по работе с файловой системой. Все подробности – под катом.

image
Читать дальше →

Visual Studio for Mac: управляйте своей IDE с помощью клавиш

Время на прочтение3 мин
Охват и читатели4.6K
Великие дебаты в области вычислительной техники имеют одну общую тему. Будь то противостояние табов и пробелов или Vi и Emacs, поток, связывающий эти дебаты вместе, —эффективность использования клавиатуры. Правда в том, что, когда мы тратим массу часов, работая программах, использование горячих клавиш становится для нас чем-то автоматическим, такой же мышечной памятью, какой обладают великие пианисты или спортсмены.

Если вы вдруг дадите виртуозному пианисту пианино, где клавиши вдвое шире, а клавиши диез/бемоль находятся ниже, а не выше естественных клавиш, то ему придется постараться, чтобы воспроизвести даже самые простые мелодии, пока он изучает новую аранжировку. Аналогично, когда речь заходит о сочетаниях клавиш в вашей любимой IDE, любое изменение может быстро дезориентировать. К счастью, Visual Studio for Mac предлагает обширные возможности настраивания привязок клавиш, которые позволяют настраивать сочетания клавиш по своему вкусу.

Читать дальше →

Вклад авторов