Рубрика «Разработка под MacOS» - 6

SwiftOnSecurity пишет на тему недавнего перехода на Chromium в качестве встроенного в Windows движка рендеринга:

Это не только про Chrome, это также про ElectronJS. Microsoft думает, что EdgeHTML не может достичь полного паритета по функциональности с Chromium, чтобы заменить его в приложениях Electron. Дублирование движка Electron в каждой программе становится значительной проблемой производительности. Вместо этого они хотят иметь один на всех экземпляр Electron вместе со своими дополнениями.

Electron это рак, убивающий и macOS, и Windows по мере распространения. Microsoft должна предложить ему замену с нативными оптимизациями, чтобы улучшить производительность и использование ресурсов.

Я не совсем разделяю их пессимизм по поводу нативных приложений, но Electron – это, без сомнений, бич платформы. Я думаю, что Mac окажет большее сопротивление, чем Windows, потому что платформа Mac привлекает большее число неравнодушных людей. Но тем не менее, я беспокоюсь.

Читать полностью »

Вступление

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

Аналогичную информацию можно найти и по локализации продукта. Но в отличии от примеров указанных выше она:

  • Имеет старый менее удобный, как по мне, формат для чтения.
  • Она даже не будет первой в выдаче по запросу «site:developer.apple.com internationalization»
  • И что самое, интересное имеет в заголовке очень любопытное замечание: «Important: This document is no longer being updated. For the latest information about Apple SDKs, visit the documentation website.»

A первой в выдаче мы видим страницу, которая в большей мере выглядит, как инструмент продажи локализации разработчикам и менеджерам, когда основной интерес представляют разрозненные ссылки в разделах WWDC Session Videos и Documentation and Sample Code.
Читать полностью »

Некоторое время назад (осенью 2016), при разработке очередной версии технологической платформы 1С:Предприятие внутри команды разработки встал вопрос о поддержке нового стандарта C++14 в нашем коде. Переход на новый стандарт, как мы предполагали, позволил бы нам писать многие вещи элегантней, проще и надежней, упрощал поддержку и сопровождение кода. И в переводе вроде бы нет ничего экстраординарного, если бы не масштабы кодовой базы и специфические особенности нашего кода.

Для тех кто не знает, 1С:Предприятие – это среда для быстрой разработки кросс-платформенных бизнес-приложений и runtime для их выполнения в разных ОС и СУБД. В общих чертах в состав продукта входят:

Мы стараемся по максимуму писать один код для разных ОС — кодовая база сервера общая на 99%, клиента — примерно на 95%. Технологическая платформа 1С:Предприятия преимущественно написана на C++ и ниже приведены приблизительные характеристики кода:

  • 10 миллионов строк С++ кода,
  • 14 тысяч файлов,
  • 60 тысяч классов,
  • полмиллиона методов.

И все это хозяйство надо было перевести на C++14. О том, как мы это делали и с чем столкнулись в процессе, мы сегодня и расскажем.

image
Читать полностью »

Доброго времени суток, дорогие товарищи!

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

Как-то раз, мне пришлось призадуматься над одной небольшой задачкой. Есть компьютер iMac, есть успешно установленная OS X Sierra на внешний, подключенный через USB SSD-диск, и есть странное, удивительное, и при этом — полное, отсутствие файла подкачки.
Читать полностью »

Представляю вашему вниманию перевод моей статьи из блога Проекта Darling. Маленькая справка по используемым понятиям: Darwin – операционная система с открытым исходным кодом, лежащая в основе macOS, iOS и других ОС от Apple; Mach-O – бинарный формат исполняемых файлов и библиотек, использующийся в Darwin; dyld – динамический загрузчик, использующийся в Darwin для загрузки файлов Mach-O; dylib – динамически загружаемая библиотека (обычно имеет расширение .dylib).

Картинка для привлечения внимания

Цель Проекта Darling – сделать возможным запуск macOS-приложений под Linux, и умение загружать бинарные файлы в формате Mach-O – один из ключевых шагов к достижению этой цели.

Исходно, Darling был выстроен вокруг собственной реализации загрузчика Mach-O и идеи транслирования вызовов между высокоуровневым Darwin API и его Linux-аналогами. С тех пор наш фокус сместился на запуск кода во всё более и более изолированном Darwin-контейнере. С тех пор как мы перешли на использование Mach-O для внутренних компонентов Darling, у нас появилась возможность использовать исходный dyld от Apple, а также собирать многие другие компоненты Darwin с открытым исходным кодом. Нам всё ещё нужен простой загрузчик Mach-O, чтобы загружать сам dyld.

Читать полностью »

Среди новичков бытует мнение, что популярность языка программирования можно определить по количеству выпущенных книг. В качестве примера можно упомянуть Java или Python – и отчасти это будет правдой. Но есть языки, которые в бумажных книгах не особо-то и нуждаются. Просто из-за своей молодости и того факта, что официальный tutorial отвечает абсолютно на все вопросы начинающего программиста.

image

Вот Swift как раз такой язык. Он молодой и популярный, а официальная электронная документация по нему выполнена просто великолепно. И возможно кого-то, кому сейчас нет и 20, устраивает ситуация с отсутствием книг по Swift на магазинных полках, но люди постарше просто обожают всегда иметь под рукой бумажный справочник и краткое руководство по языку в отпускном чемодане.

Поэтому автор блога GeekBrains Илья Бубнов вдоль и поперёк изучил российские издательства, чтобы отыскать 5 самых популярных книг по Swift, выпущенных в олдскульном формате.
Читать полностью »

Digest MBLT DEV — свежак для iOS-разработчиков - 1

Вот оно какое наше лето. Треть мы потеряли уже где-то. Что же делать? Дай мне, друг, совета. Отдыхайте с огоньком. Ля, ля, ля, ля, ля, ля. Ля, ля, ля, ля, ля, ля.

В Джире на доске как на опушке, тасков так, что не видать макушку, горы эстимейтов, плачь в подушку. Голова идёт кругом. Ля, ля, ля, ля, ля, ля. Ля, ля, ля, ля, ля, ля.

Интро к 176-му выпуску Digest MBLT DEV от Саши Чёрного прекрасно, как и сам дайджест, который вместе с Сашей каждую пятницу готовят Руслан Гуменный, Александр Зимин и Иван Козлов.

Если вы ещё не читаете наш iOS-дайджест, то мы искренне не понимаем, почему. Пора это исправить.
Читать полностью »

image

Билет на WWDC стоит $1600, и чтобы его получить, нужно участвовать в лотерее. Для студентов со всего мира Apple каждый год устраивает конкурс, в котором можно выиграть бесплатный билет на конференцию и получить другие приятные бонусы. В этом году мне повезло выиграть Scholarship. Я посетил конференцию, теперь готов поделиться впечатлениями и рассказать, чем мой билет на WWDC отличался от обычного.

Читать полностью »

Публичное раскрытие уязвимости в сторонней проверке подписи кода Apple

В отличие от некоторых предыдущих работ, данная уязвимость не требует прав администратора, не требует JIT-кода или повреждения памяти для обхода проверки подписи кода. Всё что нужно — правильно отформатированный файл Fat/Universal, и проверка подписи кода покажет валидный результат.

Резюме

  • Найденный обход применяемого сторонними разработчиками API для подписи кода позволяет представить любой код как подписанный Apple.
  • Все известные вендоры и проекты с открытым исходным кодом уведомлены (см. список ниже). Для них доступны патчи.
  • Есть вероятность, что проблема затрагивает другие сторонние программы, где используются официальные API подписи кода от Apple.
  • Разработчики несут ответственность за правильное использование API подписи кода. Есть инструменты демо-взлома (PoC) для тестов.
  • Относится только к macOS и более старым версиям OSX.

Читать полностью »

Apple объявила устаревшими технологии OpenGL и OpenCL - 1
Из презентации Apple

Компания Apple обновила документацию для разработчиков. Раздел «Что нового?» посвящён ключевым изменениям в macOS 10.14: это тёмная цветовая схема Dark Mode, новая технология Create ML для создания и обучения нейросетей на Mac, обновлённый Mac App Store с новыми программными интерфейсами для рейтингов и обзоров (под macOS 10.14 SDK), новый сетевой фреймворк Network Framework, предоставляющий прямой доступ к сетевым протоколам TLS, TCP и UDP из приложений, фреймворк Natural Language для анализа естественной речи и вычленения из неё метаданных, специфических для конкретного языка (фреймворк можно использовать совместно с Create ML при обучении нейросетей).

Но самое интересное спрятано в подвале, а именно в разделе «Устаревшие и удалённые API» (Deprecations and Removed APIs). Там упоминается об отказе от «устаревших» технологий OpenGL и OpenCL. Этим технологиям вручается «чёрная метка», то есть Apple настоятельно не рекомендует использовать OpenGL и OpenCL в разработке новых продуктов.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js