Как стать автором
Обновить
13.88

Разработка под macOS *

Пишем под настольную ОС Apple

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

Архитектурный шаблон «Строитель» во вселенной «Swift» и «iOS»/«macOS»

Время на прочтение6 мин
Количество просмотров6.8K

В этот раз я бы хотел немного поговорить о еще одном порождающем шаблоне проектирования из арсенала «Банды четырех» – «Строителе» («Builder»). Так вышло, что в ходе получения своего (пусть и не слишком обширного) опыта, я довольно часто видел, чтобы паттерн использовался в «Java»-коде вообще и в «Android»-приложениях в частности. В «iOS» же проектах, будь они написаны на «Swift» или «Objective-C», шаблон встречался мне довольно редко. Тем не менее, при всей своей простоте, в подходящих случаях он может оказаться довольно удобным и, как модно говорить, мощным.

Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии14

Процедура нотаризации Electron приложения для macOS 10.14.5

Время на прочтение6 мин
Количество просмотров12K

С выходом macOS 10.14.5, Apple добавила обязательную процедуру нотаризации (Notarization process) приложений перед их распространением. Что это и какие сложности возникли с этим обновлением при разработке на Electron.js я и хотел бы рассказать.


Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии33

WWDC 2019 :: что посмотреть

Время на прочтение3 мин
Количество просмотров6.8K

На WWDC 2019 Apple показала одну из лучших Keynote-презентаций за последние несколько лет. Но это только начало. Нас ждёт более 100 сессий от инженеров Apple. Я собрал в списке доклады, которые, как мне кажется, будут полезны большинству iOS-разработчиков. Если не знаете, за что браться, то попробуйте начать с них.


Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии3

WWDC 2019: главное с презентации Keynote по версии роботов

Время на прочтение5 мин
Количество просмотров6.2K


В противовес прошлой WWDC, где основной фокус был на быстродействие и небольшие улучшения, сегодня представили все и сразу: новый Mac Pro, новые сервисы и давно желаемые функции для разработчиков. Кто-то говорит, что это лучший WWDC с 2014 года, когда представили новый язык программирования Swift. Мы с mc_murphy, bealex и vani2 телеграфируем с WWDC и разбираемся, что на самом деле происходит.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии5

Истории

iOS 13, watchOS 6, iPadOS и новый Mac Pro. Презентация Apple на WWDC 2019

Время на прочтение8 мин
Количество просмотров20K


Сегодня в Сан-Хосе на первый день своей конференции Apple провела большую презентацию со всеми апдейтами софта. Пять тысяч журналистов и девелоперов собрались, чтобы узнать, какие апдейты ждут их iOS и macOS. Действо получилось довольно впечатляющим, и длилось два с половиной часа – в разы дольше, чем обычные ежегодные презентации iPhone и iPad. А перед ним в аудитории устроили красивое шоу. Освещением выступали только три гигантских черных экрана, на которых показывались разные световые анимации.


Чуть короче, с прицелом на разработчиков и их интересными отзывами/впечатлениями, о WWDC 2019 уже написал dydus0x14 вот здесь. Рекомендуется к прочтению. У нас – чуть меньше о разработчиках, но чуть больше о всём остальном. С подробностями и по порядку хода презентации, как привыкли.

Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии45

Microsoft Edge для macOS

Время на прочтение3 мин
Количество просмотров14K

В прошлом месяце мы анонсировали первые предварительные сборки следующей версии Microsoft Edge для Windows 10. Сейчас мы рады сообщить, что канал Microsoft Edge Canary стал доступен и для macOS. Теперь на сайте Microsoft Edge Insider можно найти сборки для компьютеров с macOS и Windows 10, и скоро поддержка версии для Windows будет расширена. 


Снимок экрана Microsoft Edge для macOS

Читать дальше →
Всего голосов 29: ↑23 и ↓6+17
Комментарии28

Собираем Flutter приложение для десктопа

Время на прочтение2 мин
Количество просмотров20K
image

Всем привет!


Сегодня я покажу вам, как же запустить ваше существующие Flutter приложение на десктопе (MacOS, Linux или Windows).

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии7

Автоматический перенос приложений iOS (ARM) на macOS (x86) с помощью Bitcode

Время на прочтение4 мин
Количество просмотров5.5K
Когда Apple представила технологию Bitcode и сделала её обязательной для watchOS и tvOS, компания словно отмахнулись от вопросов, зачем она вообще нужна. Лишь туманно сказала, что она помогает настраивать двоичные файлы и использует последние улучшения компилятора.

С тех пор Bitcode сыграл важную роль в плавном переходе watchOS на 64 бит, где разработчикам даже не пришлось перекомпилировать свои приложения в каталоге. Сама Apple сделала это автоматически: все приложения начали работать на Apple Watch Series 4. Вероятно, вы даже не заметили, что произошла миграция.

Что такое Bitcode? Ну, bitcode с маленькой b — это специфичное для архитектуры промежуточное представление, используемое LLVM, а Bitcode с большой B относится к набору функций, позволяющих встроить это представление в ваш двоичный файл Mach-O, и механизмы, с помощью которых вы можете отдать этот файл в App Store.
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Swift: ARC и управление памятью

Время на прочтение13 мин
Количество просмотров54K
Будучи современным языком высокого уровня, Swift в основном берёт на себя управление памятью в ваших приложениях, занимаясь выделением и освобождением памяти. Это происходит благодаря механизму, который называется Automatic Reference Counting, или сокращенно ARC. В этом руководстве вы разберётесь, как работает ARC и как правильно управлять памятью в Swift. Понимая этот механизм, вы сможете влиять на время жизни объектов, размещенных в куче (heap).

В этом руководстве вы прокачаете свои знания Swift и ARC, изучив следующее:

  • как работает ARC
  • что такое циклы ссылок (reference cycles) и как их правильно устранять
  • как создать пример цикла ссылок
  • как находить циклы ссылок при помощи визуальных средств, предлагаемых Xcode
  • как обращаться с ссылочными типами и типами-значениями
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии18

Внедрение зависимостей с DITranquillity

Время на прочтение6 мин
Количество просмотров3.8K

Dependency Injection — довольно популярный паттерн, позволяющий гибко конфигурировать систему и правильно выстраивать зависимости компонентов этой системы друг от друга. Благодаря типизации, Swift позволяет использовать удобные фреймворки с помощью которых можно очень коротко описать граф зависимостей. Сегодня я хочу немного рассказать об одном из таких фреймворков — DITranquillity.

Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии2

Дайджест интересных материалов для мобильного разработчика #296 (22 — 26 апреля)

Время на прочтение3 мин
Количество просмотров5.3K
Очередной выпуск расскажет вам про новые иконки Google Play, главные вопросы Swift, о бесплатной музыке для проектов, покупке Realm и восторге от Интернета вещей.

Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии1

Собеседование: Swift. Вопросы и ответы

Время на прочтение13 мин
Количество просмотров60K
Языку программирования Swift всего четыре года, но он уже становится основным языком разработки для iOS. Развиваясь до версии 5.0, Swift превратился в сложный и мощный язык, отвечающий как объектно-ориентированной, так и функциональной парадигме. И с каждым новым релизом в нем добавляется еще больше возможностей.

Но насколько хорошо вы на самом деле знаете Swift? В этой статье вы найдете примеры вопросов для собеседования по Swift.

Вы можете использовать эти вопросы для интервьюирования кандидатов, чтобы проверить их знания или вы можете проверить свои собственные. Если вы не знаете ответа, не переживайте: к каждому вопросу есть ответ.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии19

Готовимся к Hardened Runtime и Notary Service в macOS Mojave

Время на прочтение2 мин
Количество просмотров3.3K
С выходом macOS Mojave Apple представила поддержку служб Hardened Runtime и Notary. Эти две службы предназначены для повышения безопасности приложений в macOS. Недавно компания заявила:
Начиная с macOS 10.14.5, все новые или обновленные расширения ядра и все программы от разработчиков, впервые освоивших распространение с Developer ID, для запуска должны быть заверены через Hardened Runtime и Notary. В будущей версии macOS заверение потребуется по умолчанию для всех программ.
Сегодня поможем вам разобраться в новых требованиях с точки зрения Xamarin.

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
24 сентября
Astra DevConf 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн

SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM

Время на прочтение17 мин
Количество просмотров27K

В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM.


SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его основе лежит графическая технология OpenGL, а за создание окон отвечает библиотека GLFW. Используя данный фреймворк, вы можете работать и создавать графические клиентские приложения в операционных системах Linux, Mac OS X, Windows. Для программистов C# в данное время это особенно актуально, учитывая, что Microsoft не собирается переносить WPF на другие ОС и Avalonia является единственным возможным аналогом. Особенностью же SpaceVIL в этом конкретном случае является мультиязычность, то есть на данный момент фреймворк под .Net Core можно использовать в связке со следующими языками программирования: C#, VisualBasic. Фреймворк под JVM можно использовать в связке с языками Java и Scala. То есть, SpaceVIL можно использовать с любым из этих языков и итоговый код будет выглядеть одинаково, поэтому при переходе на другой язык переучиваться заново не придется.


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

Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии29

Приложение в строке меню для macOS

Время на прочтение10 мин
Количество просмотров8.4K
Приложения, размещенные в строке меню, уже давно известны пользователям macOS. У некоторых из этих приложений есть «обычная» часть, другие размещены только в строке меню.
В этом руководстве вы напишете приложение, которое показывает во всплывающем окне несколько цитат известных людей. В процессе создания этого приложения вы научитесь:

  • назначать иконку приложения в строке меню
  • делать приложение размещенным только в строке меню
  • добавлять пользовательское меню
  • показывать всплывающее по запросу пользователя окно и прятать его, когда необходимо, используя Event Monitoring

Замечание: это руководство предполагает, что вы знакомы со Swift и macOS.
Поехали!
Всего голосов 22: ↑22 и ↓0+22
Комментарии2

Продвинутая интерполяция строк в Swift 5.0

Время на прочтение7 мин
Количество просмотров11K


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

В этой статье мы пройдёмся по новым возможностям интерполяции строк и рассмотрим, как это можно применить в нашем собственном коде. Вы также можете загрузить исходники к этой статье здесь.
Поехали!
Всего голосов 14: ↑14 и ↓0+14
Комментарии1

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

Время на прочтение6 мин
Количество просмотров11K


Swift 5.0 стал доступен с выходом Xcode 10.2, но работа над следующей версией продолжается и уже есть известия о том, чего в ней можно ждать.

Ключевая особенность Swift 5.1 — модульная стабильность (module stability), которая позволяет нам использовать сторонние библиотеки, не волнуясь о том, при помощи какой версии компилятора Swift они были созданы. Похоже на ABI stability, которую мы получили в Swift 5.0, но есть небольшая разница: ABI stability разрешает различия в версиях Swift на этапе выполнения, а module stability — на этапе компиляции.

Кроме этого важного новшества мы получим несколько важных улучшений в Swift, и в этой статье мы пройдемся по ним с примерами, чтобы можно было увидеть их в деле.
Что новенького в Swift 5.1?
Всего голосов 15: ↑15 и ↓0+15
Комментарии9

Swift 5.0. Что нового?

Время на прочтение6 мин
Количество просмотров20K

Swift 5 — долгожданный релиз, включающий в себя несколько десятков улучшений и исправлений. Но самой главной целью релиза Swift 5.0 было достижение ABI стабильности. В этой статье вы узнаете, что такое ABI и что стабильный ABI даст iOS/macOS разработчикам. А также проведём разбор нескольких новых фич Swift 5.


Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии7

Куда расти смартфонам: дорожная карта по превращению в полноценный компьютер

Время на прочтение8 мин
Количество просмотров9K
Рассуждения о выдыхающемся рынке смартфонов на фоне падающих продаж имеют под собой некоторые основания: судя по всему, современная эра смартфонов, начатая iPhone и на развитии заложенного в него потенциала идей построенная, подходит к концу. Но это не конец эпохи в полном смысле слова, а лишь назревающий эволюционный переход в цепочке телефон → мобильный телефон → смартфон → смарт(?). Скорее всего, на следующем этапе это будет уже никакой не «фон», и огромное количество специфических и неотъемлемых на сегодняшний день могут оказаться вынесены за его пределы (как, например, память) или просто настолько измениться (как, например, способы ввода и вывода), что оперировать привычными сейчас категориями вроде дисплея нет смысла. За вычетом всех возможных «переменных», в попытке оставить только самый минимум необходимого, у меня получилось 4 условия: Портативное Персональное Коммуникационное Вычислительное Устройство. Но важнее тут не то, что обеспечит связность поколений, сколько то, что даст этому устройству новое качество, которое и позволит говорить о следующем этапе эволюции.

И одна из самых перспективных и оформленных идей «нового качества», отлично вписывающаяся в эти четыре параметра — это, на самом деле, давно и хорошо известная идея запихнуть полную функциональность мощного ПК в форм-фактор смартфона. Плюс этого варианта в том, что его ценность довольно очевидна, в отличие от движения по пути AR или VR-мутации, которое добавляет необходимую дополнительную неизвестную — создание некой VR или AR-фичи, которая станет абсолютным must have, оправдывающим развитие, сфокусированное на реализации её возможностей.

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

Предыдущая запись: «Куда расти смартфонам».
Читать дальше →
Всего голосов 28: ↑19 и ↓9+10
Комментарии84

Приключения на ровном месте

Время на прочтение7 мин
Количество просмотров6.2K

Как Spotify может помочь в изучении демонов, RFC, сетей и продвижении опенсорса. Или что бывает, если заплатить не получается, а некоторые премиумные плюшки очень хочется.

Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии5

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