В последних версиях Windows можно переключаться между окнами с помощью свайпа тремя пальцами, а между рабочими столами - четыремя. Зато в macOS всё по-другому: переключение свайпом (тремя пальцами по-умолчанию) доступно только между рабочими столами или полноэкранными приложениями. А ведь так не хочется тянуться до клавиатуры или ползти курсором в Dock, чтобы переключить приложение! Тут на помощь приходит Touch-Tab.
Разработка под MacOS *
Пишем под настольную ОС Apple
Новости
От Web до Desktop за 2 недели: технология Electron на практике
Если у вас есть компьютер и вы используете его по назначению, то скорее всего вы так или иначе работали с приложениями на Electron (даже если об этом не знали).
Меня зовут Сергей Володин, я руковожу командой разработки VK WorkMail. В этой статье я расскажу, как на основе Electron мы за две недели создали PoC кроссплатформенного настольного приложения Почты, что узнали о технологии и к каким выводам пришли.
Asychronous Flow Kit — Objective-C тулкит для асинхронных операций
Всем привет.
Это моя первая публикация на Хабре, я взволнован и вообще; и в качестве дебюта хочу представить вам свой пет-проект: программный пакет на Obj-C, который реализует (некоторые) известные мне паттерны асинхронного поведения и претендует обеспечить простые инструменты для утилизации всех имеющихся процессоров.
Пишем библиотеку для запроса оценки в AppStore
👋 Всем привет. Меня зовут Алексей Межевикин. Я iOS-разработчик c 2011 года. Последнии 4 года занимаюсь разработкой, монетизацией и продвижением своих приложений.
В продвижении очень важную роль играет рейтинг приложения в AppStore. Рейтинг формируется исходя из оценок пользователей оставленных либо непосредственно в AppStore либо через специальное окошко, которое вызывается внутри приложения.
В этой статье я предлагаю написать крошечную библиотеку для удобного запроса оценки. По сути это будет обертка над нативным SKStoreReviewController, которая будет запрашивать отзыв через энное количество запусков, либо энное количество дней после установки.
Для подписи приложений iOS/macOS не нужен компьютер Apple
В экосистеме Apple сейчас так устроено, что для выпуска приложений iOS/macOS требуется получение сертификата, затем подпись кода и нотаризация подписи. Согласно документации, подпись кода гарантирует пользователям, что приложение получено из известного источника и не изменялось. Для получения и использования сертификатов требуется участие в программе Apple Developer Program.
Такая система удобна с точки зрения безопасности закрытой экосистемы Apple, но создаёт некоторые трудности для разработчиков.
Однако любые трудности на то и существуют, чтобы их преодолевать.
Создание 3D-моделей из фото с Object Capture API
Обычно чтобы создать одну точную и реалистичную 3D-модель предмета реального мира средней сложности требуется несколько часов работы профессионального художника. Тем временем, с развитием AR и VR сильно растет запрос на быстрое и недорогое создание качественных моделей. Для этих целей в macOS Monterey в составе RealityKit был представлен Object Capture API, который позволяет автоматизировать этот процесс. Object Capture использует алгоритмы фотограмметрии и может преобразовать серию фотографий в высококачественную 3D-модель оптимизированную для дополненной реальности всего за несколько минут. API появился год назад, но про него мало писали, поэтому я предлагаю рассмотреть данный инструмент подробнее.
Flutter на Python
Приветствую вас, дорогие любители и знатоки Python! Знали ли вы, что можно разрабатывать кросплатформенные приложения, используя всю мощь и выразительность своего любимого змеиного языка в связке с ныне популярным фреймворком Flutter? Оказывается, такая возможность есть! Всех заинтересовавшихся прошу под кат за деталями.
Python GUI. Обзор Hero Animation в библиотеке KivyMD
Приветствую вас, дорогие любители и знатоки Python! Сегодня как всегда будем делать обзор библиотеки для кроссплатформенной разработки, которая реализует набор виджетов в стиле Google Material Design для фреймворка Kivy — KivyMD. В этой статье рассмотрим пример создания и управления Hero анимациями, которые недавно были добавлены в библиотеку KivyMD.
Чего ждать разработчику от WWDC 2022
Всем привет, с вами я, Анна Жаркова, ведущий разработчик компании Usetech.
Итак, долгожданная ежегодная презентация WWDC состоялась, мы готовы обсудить представленные новинки и анонсированные сессии. В этом году на Keynote основной упор был сделан на:
- игры и разработку
- иммерсивный звук и изображение
- многооконность
- расширенный и улучшенный шаринг, механизмы обмена самыми разными данными и совместные процессы, взаимодействие между устройствами
- улучшенные возможности отслеживать состояние здоровья и физическую активность
Разумеется, полноценная поддержка такого функционала требует хорошего производительного железа, которое и было представлено, а также программных средств, механизмов, API и функционала для разработки производительных приложений с поддержкой улучшенного перформанса, управления памятью, безопасности, а также всех представленных возможностей.
Сразу скажу, что все сессии упомянуть не возможно. В этом году их много, они довольно разнообразные и разноплановые. От улучшений уже известных нам фреймворков (SwiftUI, WidgetKit, SharePlay) до совсем новых (WeatherKit, ScreenCaptureKit). Также верно сказано, что описания сессий в этом году не сильно многословны, видимо, что подстегнуть зрителей к просмотру всех.
Apple всё ещё следит за вами. Без вашего согласия
В текущей версии macOS Monterey, при каждом обновлении системы на системе, содержащей чип M1, такой же как и все новые блестящие/быстрые маки с ARM ("Apple Silicon"), процесс обновления обращается в Apple, чтобы получить специальную подпись загрузки, известную на жаргоне Apple как "билет" (он же ticket).
Это делается абсолютно незашифрованным способом, через стандартный открытый 80 порт HTTP (точно такой же протокол, который запрещен для использования сторонними разработчиками приложений в App Store при передаче приватных данных, таких как уникальные идентификаторы, служащие PII) на хост gs.apple.com
.
HTTP-запрос включает неизменяемые аппаратные уникальные идентификаторы (серийные номера чипов, известные как ECID), которые функционируют как суперкуки, и они видны вашей локальной сети, вашему интернет-провайдеру (или гостинице, или кофейне), всем, кто следит за сетевыми магистралями, и, конечно же, самим Apple.
Это позволяет любому определить примерное местоположение устройства, даже если он не находится рядом. Из-за того, что он может видеть IP-адрес клиента (что эквивалентно примерно геолокации на уровне города) и серийный номер устройства.
Любой, кто следит за интернет-магистралями, может увидеть, в каком городе находится каждый серийный номер чипа (ECID), и может увидеть, куда они перемещаются, поскольку эти обновления выпускаются несколько раз в квартал.
При каждом обновлении системы делается новый запрос, и пользователям предлагается включить автообновление, включая автоматическое отслеживание.
Разработчик засыпает, просыпается маркетолог: как я приложение продвигал
Когда-то давно я думал, что вот напишу приложение, выложу, а дальше оно как-нибудь само наберёт популярность, взлетит в чарт, принесёт денег. Так бывает, но готовиться нужно к тому, что придётся заниматься «выводом на рынок и продвижением», и на это потребуются время и силы.
В прошлой статье я рассказал, как идея превратилась в продукт, а сегодня покажу, что сделал, чтобы он дошёл до своих пользователей.
Для продвижения нужен хоть какой-то план. О том, что делать в теории, уже написано много раз. Давайте посмотрим, что получилось на практике.
50 вопросов и ответов для собеседования по Swift в 2022 году
Перед вами список из 50 вопросов и ответов для собеседования по Swift. Эти вопросы посвящены программированию на Swift и разработке приложений для iOS. Вы должны знать ответы на них, прежде чем у вас появится шанс продемонстрировать свои навыки перед интервьюером.
Кроме того, не стесняйтесь использовать эти вопросы для собеседования по Swift для тренировки перед экзаменом.
Эти вопросы для собеседования расположены в случайном порядке, а не от простого к сложному.
Как я визуализировал граф билда. Build Graph for Xcode
Каждый год я стараюсь запускать по одному пет-проекту. Самый первый начинался ещё до того, как я умел пользоваться Git, а последний вообще был не программой, а книгой про доступность. Каждый проект учил меня как программированию, так и подходу к продуктовой разработке, что потом помогало в работе и развивало мою карьеру.
Пет — отличный способ прокачаться как начинающим разработчикам, так и опытным. Во время разработки пет-проекта можно побывать и программистом, и дизайнером, и менеджером, и маркетологом.
В этот раз рабочая задача по ускорению билда привела меня к проекту по визуализации модулей в сложных приложениях. Давайте расскажу, как это было.
Редакторы документов МойОфис появились на macOS. Что они умеют?
Привет, Хабр! В начале этого года мы представили очередное крупное обновление 2022.01, а вместе с этим выпустили пакет приложений «МойОфис Стандартный» на macOS. Релиз для «Мака» стал ответом на многочисленные запросы наших коммерческих пользователей. Платформа Apple занимает второе место в рейтинге самых популярных десктопных ОС, и довольно востребована в бизнес-среде, в том числе и в России.
Под катом мы рассмотрим возможности «мак-версии» редакторов «МойОфис Текст» и «МойОфис Таблица». Приложения позволяют работать с документами в форматах ODF (ODT, ODS) и OOXML (DOCX, XLSX), импортировать данные из CSV-файлов и экспортировать в PDF. А кроме того: работать со сводными таблицами, формулами, макросами, перекрестными ссылками и решать многие другие задачи. Продукт совместим с macOS Catalina, Big Sure, а также Monterey.
Таймер в .NET с интервалом 1 мс. macOS
Ранее мы уже посмотрели, чем нам может помочь .NET в реализации задачи, обозначенной в теме статьи, в Windows. Сейчас рассмотрим её решение в macOS.
Роботизация для macOS по-взрослому
Несмотря на то, что на рынке существуют различные RPA-решения, большинство из них не работают на macOS. Microsoft выпускает самую распространенную операционную систему для конечных пользователей, и большинство вендоров предоставляют решения, совместимые только с Windows. При этом по данным StatCounter, macOS занимает четвертое место по доле рынка (8,25%) среди всех операционных систем.
Сегодня технология RPA (Robotic Process Automation) позволяет экономить тысячи человеко-часов за счет передачи рутинных задач роботам. До недавнего времени область применения RPA ограничивалась исключительно компьютерами под управлением Windows (если не брать в расчет компьютерное зрение «по удаленке»). В одном из прошлых постов мы с вами говорили о роботах под Linux, и вот, в декабрьской preview-версии, компания UiPath представила возможность использовать роботов под macOS!
Что под капотом у этих роботов, как они выглядят для пользователей и что вам нужно сделать, чтобы создать своего первого робота под macOS — вы узнаете за пару минут в этой статье.
Статья написана при поддержке технического эксперта UiPath: Валентина Драздова.
Tcl/tk: интегрированная среда разработки TKproE-2.30
Что же принципиально нового появилось в новой версии по сравнению с версией 2.20 помимо нового логотипа?
Подключаем RDP-клиента Windows к MacOS
Привет, Хабр! Меня зовут Холодаев Алексей, я младший системный администратор в Cloud4Y. Сегодня хочу поделиться способом подключения стандартного RDP-клиента Windows к MacOS. Если интересно, ныряйте под кат.
Как устроен счетчик ссылок в Swift
Мы в iOS команде Vivid Money стремимся глубже понимать инструменты, которыми пользуемся каждый день. Один из таких – это язык программирования Swift. Он состоит из нескольких частей: компилятора, стандартной библиотеки и рантайма. Компилятор преобразует код понятный для человека в код понятный компьютеру. Стандартная библиотека предоставляет разработчикам готовые структуры данных, оптимизированные для применения в боевых проектах. А вот рантайм – это, поистине, сердце языка. В нем происходит выделение памяти, динамическое приведение типов и подсчет ссылок. И нам стало интересно, как реализован подсчет ссылок в рантайме. И вот мы вдохновились публикациями легендарного Майка Эша (Mike Ash), собрали компилятор и начали исследовать. Посмотрели на работу алгоритма подсчета ссылок и в этой статье расскажем вам о нём.
Python GUI. Библиотека KivyMD. Использование Blur эффекта
Приветствую вас, дорогие любители и знатоки Python! Сегодня как всегда будем делать обзор фреймворка для кроссплатформенной разработки Kivy и библиотеки виджетов в стиле Google Material Design для фреймворка Kivy - KivyMD. В этой статье мы рассмотрим как сделать blur эффект отдельных компонентов интерфейса пользователя. Я уже делал похожий обзор в статье Материальный Python. Кастомные карточки с OpenGL-эффектами, но нижеследующий материал несколько сложнее и в прямом смысле динамичнее. Что ж, начнем...