Сегодня поговорим об архитектурных подходах в iOS-разработке, про некоторые нюансы и наработки реализации отдельных вещей. Расскажу, каких подходов придерживаемся мы и немного углубимся в детали.
Разработка под macOS *
Пишем под настольную ОС Apple
Архитектурный шаблон «Строитель» во вселенной «Swift» и «iOS»/«macOS»
В этот раз я бы хотел немного поговорить о еще одном порождающем шаблоне проектирования из арсенала «Банды четырех» – «Строителе» («Builder»). Так вышло, что в ходе получения своего (пусть и не слишком обширного) опыта, я довольно часто видел, чтобы паттерн использовался в «Java»-коде вообще и в «Android»-приложениях в частности. В «iOS» же проектах, будь они написаны на «Swift» или «Objective-C», шаблон встречался мне довольно редко. Тем не менее, при всей своей простоте, в подходящих случаях он может оказаться довольно удобным и, как модно говорить, мощным.
Процедура нотаризации Electron приложения для macOS 10.14.5
С выходом macOS 10.14.5, Apple добавила обязательную процедуру нотаризации (Notarization process) приложений перед их распространением. Что это и какие сложности возникли с этим обновлением при разработке на Electron.js я и хотел бы рассказать.
WWDC 2019 :: что посмотреть
На WWDC 2019 Apple показала одну из лучших Keynote-презентаций за последние несколько лет. Но это только начало. Нас ждёт более 100 сессий от инженеров Apple. Я собрал в списке доклады, которые, как мне кажется, будут полезны большинству iOS-разработчиков. Если не знаете, за что браться, то попробуйте начать с них.
Истории
WWDC 2019: главное с презентации Keynote по версии роботов
В противовес прошлой WWDC, где основной фокус был на быстродействие и небольшие улучшения, сегодня представили все и сразу: новый Mac Pro, новые сервисы и давно желаемые функции для разработчиков. Кто-то говорит, что это лучший WWDC с 2014 года, когда представили новый язык программирования Swift. Мы с mc_murphy, bealex и vani2 телеграфируем с WWDC и разбираемся, что на самом деле происходит.
iOS 13, watchOS 6, iPadOS и новый Mac Pro. Презентация Apple на WWDC 2019
Сегодня в Сан-Хосе на первый день своей конференции Apple провела большую презентацию со всеми апдейтами софта. Пять тысяч журналистов и девелоперов собрались, чтобы узнать, какие апдейты ждут их iOS и macOS. Действо получилось довольно впечатляющим, и длилось два с половиной часа – в разы дольше, чем обычные ежегодные презентации iPhone и iPad. А перед ним в аудитории устроили красивое шоу. Освещением выступали только три гигантских черных экрана, на которых показывались разные световые анимации.
Чуть короче, с прицелом на разработчиков и их интересными отзывами/впечатлениями, о WWDC 2019 уже написал dydus0x14 вот здесь. Рекомендуется к прочтению. У нас – чуть меньше о разработчиках, но чуть больше о всём остальном. С подробностями и по порядку хода презентации, как привыкли.
Microsoft Edge для macOS
В прошлом месяце мы анонсировали первые предварительные сборки следующей версии Microsoft Edge для Windows 10. Сейчас мы рады сообщить, что канал Microsoft Edge Canary стал доступен и для macOS. Теперь на сайте Microsoft Edge Insider можно найти сборки для компьютеров с macOS и Windows 10, и скоро поддержка версии для Windows будет расширена.
Собираем Flutter приложение для десктопа
Всем привет!
Сегодня я покажу вам, как же запустить ваше существующие Flutter приложение на десктопе (MacOS, Linux или Windows).
Автоматический перенос приложений iOS (ARM) на macOS (x86) с помощью Bitcode
С тех пор Bitcode сыграл важную роль в плавном переходе watchOS на 64 бит, где разработчикам даже не пришлось перекомпилировать свои приложения в каталоге. Сама Apple сделала это автоматически: все приложения начали работать на Apple Watch Series 4. Вероятно, вы даже не заметили, что произошла миграция.
Что такое Bitcode? Ну, bitcode с маленькой b — это специфичное для архитектуры промежуточное представление, используемое LLVM, а Bitcode с большой B относится к набору функций, позволяющих встроить это представление в ваш двоичный файл Mach-O, и механизмы, с помощью которых вы можете отдать этот файл в App Store.
Swift: ARC и управление памятью
В этом руководстве вы прокачаете свои знания Swift и ARC, изучив следующее:
- как работает ARC
- что такое циклы ссылок (reference cycles) и как их правильно устранять
- как создать пример цикла ссылок
- как находить циклы ссылок при помощи визуальных средств, предлагаемых Xcode
- как обращаться с ссылочными типами и типами-значениями
Внедрение зависимостей с DITranquillity
Dependency Injection — довольно популярный паттерн, позволяющий гибко конфигурировать систему и правильно выстраивать зависимости компонентов этой системы друг от друга. Благодаря типизации, Swift позволяет использовать удобные фреймворки с помощью которых можно очень коротко описать граф зависимостей. Сегодня я хочу немного рассказать об одном из таких фреймворков — DITranquillity
.
Дайджест интересных материалов для мобильного разработчика #296 (22 — 26 апреля)
Собеседование: Swift. Вопросы и ответы
Но насколько хорошо вы на самом деле знаете Swift? В этой статье вы найдете примеры вопросов для собеседования по Swift.
Вы можете использовать эти вопросы для интервьюирования кандидатов, чтобы проверить их знания или вы можете проверить свои собственные. Если вы не знаете ответа, не переживайте: к каждому вопросу есть ответ.
Ближайшие события
Готовимся к Hardened Runtime и Notary Service в macOS Mojave
Начиная с macOS 10.14.5, все новые или обновленные расширения ядра и все программы от разработчиков, впервые освоивших распространение с Developer ID, для запуска должны быть заверены через Hardened Runtime и Notary. В будущей версии macOS заверение потребуется по умолчанию для всех программ.Сегодня поможем вам разобраться в новых требованиях с точки зрения Xamarin.
SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM
В данной статье я постараюсь рассказать о фреймворке 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, так и для создания совершенно новых визуальных пользовательских элементов. Цель данной статьи как раз в том, чтобы убедить вас в этом.
Приложение в строке меню для macOS
В этом руководстве вы напишете приложение, которое показывает во всплывающем окне несколько цитат известных людей. В процессе создания этого приложения вы научитесь:
- назначать иконку приложения в строке меню
- делать приложение размещенным только в строке меню
- добавлять пользовательское меню
- показывать всплывающее по запросу пользователя окно и прятать его, когда необходимо, используя Event Monitoring
Замечание: это руководство предполагает, что вы знакомы со Swift и macOS.
Продвинутая интерполяция строк в Swift 5.0
Интерполяция строк была в Swift с ранних версий, но в Swift 5.0 этот функционал был расширен, стал быстрее и значительно мощнее.
В этой статье мы пройдёмся по новым возможностям интерполяции строк и рассмотрим, как это можно применить в нашем собственном коде. Вы также можете загрузить исходники к этой статье здесь.
Swift 5.1 — что нового?
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.0. Что нового?
Swift 5 — долгожданный релиз, включающий в себя несколько десятков улучшений и исправлений. Но самой главной целью релиза Swift 5.0 было достижение ABI стабильности. В этой статье вы узнаете, что такое ABI и что стабильный ABI даст iOS/macOS разработчикам. А также проведём разбор нескольких новых фич Swift 5.
Куда расти смартфонам: дорожная карта по превращению в полноценный компьютер
И одна из самых перспективных и оформленных идей «нового качества», отлично вписывающаяся в эти четыре параметра — это, на самом деле, давно и хорошо известная идея запихнуть полную функциональность мощного ПК в форм-фактор смартфона. Плюс этого варианта в том, что его ценность довольно очевидна, в отличие от движения по пути AR или VR-мутации, которое добавляет необходимую дополнительную неизвестную — создание некой VR или AR-фичи, которая станет абсолютным must have, оправдывающим развитие, сфокусированное на реализации её возможностей.
Тогда как уже понятных преимуществ, которые даст переизобретение ПК в формате смарта, достаточно, чтобы активно за это болеть.
Предыдущая запись: «Куда расти смартфонам».