Новый выпуск вышел в открытый доступ
В этой главе мы познакомимся с одними из основных инструментов для вёрстки - стеками VStack, HStack, ZStack. Эти UI-элементы применяются даже чаще, чем модификатор
В этой главе мы познакомимся с одними из основных инструментов для вёрстки - стеками VStack, HStack, ZStack. Эти UI-элементы применяются даже чаще, чем модификатор
frame
, и без них сложно сделать какой-либо интерфейс. Разберёмся, что они дают, как ими пользоваться, чем они отличаются друг от друга.Новый выпуск для подписчиков на Boosty
В этой главе мы разберемся как работать с непотокобезопасными типами из разных потоков с помощью различных мьютексов.
В этой главе мы разберемся как работать с непотокобезопасными типами из разных потоков с помощью различных мьютексов.
Новый выпуск вышел в открытый доступ
В этой главе мы ближе познакомимся с UI-элементом
В этой главе мы ближе познакомимся с UI-элементом
Text
. Узнаем не только, как выводить текст на экран, но и как менять его стиль, как делать текст идентичным макету дизайнера.Новый выпуск для подписчиков на Boosty
В этой главе мы разберемся с последним примитивом синхронизации pthread_rwlock_t
В этой главе мы разберемся с последним примитивом синхронизации pthread_rwlock_t
Новый выпуск для подписчиков на Boosty
В прошлых главах мы уже подробно разобрали как запустить отдельный поток и выполнить так некоторый кусок кода. Мы так же говорили о том, что запуск потоков довольно тяжелая задача и может возникнуть ситуация когда на запуск потока требуется больше времени, чем на выполнение кода внутри него. Очевидным решением является не запуск отдельного потока на задачу, а создание потока для определенного рода задач. Как это сделать мы и будет разбирать в этой главе.
Допустим, при нажатии на кнопку, мы выполняем некоторые сложные вычисления, и для оптимизации, мы отправляем эти вычисления на второстепенный поток.
В прошлых главах мы уже подробно разобрали как запустить отдельный поток и выполнить так некоторый кусок кода. Мы так же говорили о том, что запуск потоков довольно тяжелая задача и может возникнуть ситуация когда на запуск потока требуется больше времени, чем на выполнение кода внутри него. Очевидным решением является не запуск отдельного потока на задачу, а создание потока для определенного рода задач. Как это сделать мы и будет разбирать в этой главе.
Допустим, при нажатии на кнопку, мы выполняем некоторые сложные вычисления, и для оптимизации, мы отправляем эти вычисления на второстепенный поток.
Новый выпуск вышел в открытый доступ
В предыдущей главе мы немного разобрались, как стилизовать Text. В этой главе мы разберёмся, как определяется его фрейм.
В предыдущей главе мы немного разобрались, как стилизовать Text. В этой главе мы разберёмся, как определяется его фрейм.
Я тут обещал по видосу в неделю выпускать, но кажется переодически сложно будет сдержать данное обещание( Уже два дня собираю главу про стандартный ранлуп и все еще не доделал до конца. Тема обширная, я сам далеко не все там использовал в работе, так что потребуется чуть больше времени)
Новый выпуск для подписчиков на Boosty
В прошлой главе мы разбирались с тем, как создать один поток и по запускать на нем разные задачи по необходимости. Все эти задачи запускались как только мы их добавляли в очередь или как только поток освобождался от предыдущей задачи. Но часто необходимо запускать задачи через определенное время или даже периодически повторять. Обычно эту задачу решает таймер. В этой главе, мы напишем свой таймер, что бы иметь представление, как работают стандартные таймеры в iOS.
В прошлой главе мы разбирались с тем, как создать один поток и по запускать на нем разные задачи по необходимости. Все эти задачи запускались как только мы их добавляли в очередь или как только поток освобождался от предыдущей задачи. Но часто необходимо запускать задачи через определенное время или даже периодически повторять. Обычно эту задачу решает таймер. В этой главе, мы напишем свой таймер, что бы иметь представление, как работают стандартные таймеры в iOS.
Новый выпуск для подписчиков на Boosty
Мы уже выяснили что RunLoop это механизм, который позволяет выполнять управлять различными операциями на потоке. Например, запускать замыкания на этом потоке или запускать таймеры. Мы так же написали свой RunLoop, что бы разобраться как он работает. В этой главе мы посмотрим на стандартный RunLoop, который находится в библиотеке Foundation. Разберемся как с ним работать какие возможности у него есть. Кроме того, мы посмотрим на CFRunLoop, базовую структура из библиотеки CoreFoundation поверх которой строится стандартный RunLoop.
Мы уже выяснили что RunLoop это механизм, который позволяет выполнять управлять различными операциями на потоке. Например, запускать замыкания на этом потоке или запускать таймеры. Мы так же написали свой RunLoop, что бы разобраться как он работает. В этой главе мы посмотрим на стандартный RunLoop, который находится в библиотеке Foundation. Разберемся как с ним работать какие возможности у него есть. Кроме того, мы посмотрим на CFRunLoop, базовую структура из библиотеки CoreFoundation поверх которой строится стандартный RunLoop.
Forwarded from Podlodka Podcast – анонсы и новости подкаста про IT (Диана Колпакова)
Привет! На связи Podlodka iOS Crew. 📱
🔺 Хочешь создавать уникальные и высокотехнологические интерфейсы, на которые равняются другие?
Тогда приходи на новый сезон конференции 15 апреля. Ведь в этот раз мы решили досконально разобраться в хардкорном UI. Дадим знания, которыми владеют единицы.
Разберём аспекты, которые станут вызовом даже для скилловых iOS-разработчиков. Редкие техники и инструменты, сложные кейсы и инновационные подходы — всё, чтобы создавать действительно выдающийся UI!
💜 Искусство layout`a и анимации текста. Подробно разберём каждое па этого танца с драконами в мире iOS UI.
💜 Лучшие практики и тонкости работы с анимациями на Metal в iOS-разработке. Стань железным человеком с точки зрения UI.
💜 AR-cooking. Раскроем рецепты от моделирования до управления 3D-пиццей.
💜 Перфоманс интерфейса. Окунёмся в редкие инструменты, секреты аналитики и решения распространённых проблем. Только для самых искушенных разработчиков!
©️ Внимание! ©️
Переход по ссылке и покупка билета изменят твой перфоманс навсегда: https://podlodka.io/ioscrew
Тогда приходи на новый сезон конференции 15 апреля. Ведь в этот раз мы решили досконально разобраться в хардкорном UI. Дадим знания, которыми владеют единицы.
Разберём аспекты, которые станут вызовом даже для скилловых iOS-разработчиков. Редкие техники и инструменты, сложные кейсы и инновационные подходы — всё, чтобы создавать действительно выдающийся UI!
Переход по ссылке и покупка билета изменят твой перфоманс навсегда: https://podlodka.io/ioscrew
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый выпуск вышел в открытый доступ
Разберемся как определяется цвет, из чего он состоит, как его правильно перенести из figma
Разберемся как определяется цвет, из чего он состоит, как его правильно перенести из figma
Новый выпуск для подписчиков на Boosty
В прошлой главе мы разобрались со стандартными ранлупами RunLoop и CFRunLoop. Мы упоминали, что они так или иначе работают с различными источниками событий. В этой главе мы поговорим о том, что это за источники, какие они бывают, зачем нужны и как создавать свои источники.
В прошлой главе мы разобрались со стандартными ранлупами RunLoop и CFRunLoop. Мы упоминали, что они так или иначе работают с различными источниками событий. В этой главе мы поговорим о том, что это за источники, какие они бывают, зачем нужны и как создавать свои источники.
Яндекс продолжает набор в Школу мобильной разработки!
Школа мобильной разработки – это 3 месяца прокачки профессиональных скиллов, по Android, iOS и Flutter разработке для начинающих и более опытных разработчиков.
Сперва — онлайн-лекции от экспертов Яндекса. Затем — практика в офисах в Москве, Санкт-Петербурге или Екатеринбурге, где плечом к плечу с другими участниками, разработчиками и менеджерами Яндекса вы будете решать настоящие задачи.
Всем иногородним студентам, которые успешно пройдут онлайн-этап, Яндекс оплатит билеты и проживание на период второго этапа. А лучших участников позовёт в штат или на стажировку. Конечно, обучение в Школах — бесплатное.
Чтобы попасть в школу, подайте заявку и сделайте тестовое. Прием заявок открыт до 21 апреля включительно. Сами занятия начнутся в начале лета.
Читайте подробнее и подавайте заявки на странице Школы.
Школа мобильной разработки – это 3 месяца прокачки профессиональных скиллов, по Android, iOS и Flutter разработке для начинающих и более опытных разработчиков.
Сперва — онлайн-лекции от экспертов Яндекса. Затем — практика в офисах в Москве, Санкт-Петербурге или Екатеринбурге, где плечом к плечу с другими участниками, разработчиками и менеджерами Яндекса вы будете решать настоящие задачи.
Всем иногородним студентам, которые успешно пройдут онлайн-этап, Яндекс оплатит билеты и проживание на период второго этапа. А лучших участников позовёт в штат или на стажировку. Конечно, обучение в Школах — бесплатное.
Чтобы попасть в школу, подайте заявку и сделайте тестовое. Прием заявок открыт до 21 апреля включительно. Сами занятия начнутся в начале лета.
Читайте подробнее и подавайте заявки на странице Школы.
Школа мобильной разработки Яндекса
Летняя школа Яндекса для разработчиков мобильных приложений. Больше половины выпускников получают офер
Уже через 30 минут присоединяйтесь к открытой сессии с Михаилом Рубановым (Dodo). Разберемся:
- какие типичные ошибки реализации доступности встречаются в популярных сервисах;
- как можно спроектировать прототип интерфейса, который подойдет для незрячих людей, и преобразовать его в код.
- какие типичные ошибки реализации доступности встречаются в популярных сервисах;
- как можно спроектировать прототип интерфейса, который подойдет для незрячих людей, и преобразовать его в код.
YouTube
Открытая сессия: Как дизайнить доступность для скринридера / Михаил Рубанов (Dodo)
Приходи на новый сезон iOS Crew (https://podlodka.io/ioscrew) - по промокоду VOICEOVER скидка 500 рублей. компании начали заниматься доступностью приложений: адаптировать дизайн-систему, добавлять поддержку скринридера. Но все еще сложно дизайнить для незрячих…
Новый выпуск вышел в открытый доступ
Разберёмся, какие виды изображений бывают, как их добавлять в проект, как показывать на экране.
Разберёмся, какие виды изображений бывают, как их добавлять в проект, как показывать на экране.
Новый выпуск для подписчиков на Boosty
В прошлых главах мы разбирались с тем как работают потоки (Thread), различные примитивы синхронизации (mutext, semaphore, lock, etc) и runloop. В этой поговорим про GCD.
В прошлых главах мы разбирались с тем как работают потоки (Thread), различные примитивы синхронизации (mutext, semaphore, lock, etc) и runloop. В этой поговорим про GCD.
Новый выпуск для подписчиков на Boosty
В этой главе мы рассмотрим использование GCD, на примерах. Разберем какие инструменты для синхронизации в ней существуют и как заменить с помощью GCD семафоры и мьютексы.
В этой главе мы рассмотрим использование GCD, на примерах. Разберем какие инструменты для синхронизации в ней существуют и как заменить с помощью GCD семафоры и мьютексы.
Новый выпуск вышел в открытый доступ
Наконец на практике применим полученные ранее знания и сверстаем целый экран.
Наконец на практике применим полученные ранее знания и сверстаем целый экран.
Новый выпуск для подписчиков на Boosty
Для завершения темы GCD следует рассказать еще и о таймерах, которые работают с помощью ранлупа, а помощью планировщика очередей - DispatchSourceTimer. Этот таймер немного отличается от обычного Timer, но в целом предоставляет те же возможности.
Для завершения темы GCD следует рассказать еще и о таймерах, которые работают с помощью ранлупа, а помощью планировщика очередей - DispatchSourceTimer. Этот таймер немного отличается от обычного Timer, но в целом предоставляет те же возможности.
Новый выпуск для подписчиков на Boosty
После разбора операций, время перейти к еще одну фреймворку, не столь популярному, но все же иногда полезному - Operation. Operation возник позже GCD и по сути своей представляет всю ту же работу с очередями, но только в ООП стиле. В итоге он занял лидирующие позиции и уже наверное никогда не займет. Тем не менее периодически он используется, его можно встретить и лучше иметь представление как он работает.
После разбора операций, время перейти к еще одну фреймворку, не столь популярному, но все же иногда полезному - Operation. Operation возник позже GCD и по сути своей представляет всю ту же работу с очередями, но только в ООП стиле. В итоге он занял лидирующие позиции и уже наверное никогда не займет. Тем не менее периодически он используется, его можно встретить и лучше иметь представление как он работает.
Новый выпуск для подписчиков на Boosty
Наконец мы подошли к последней технологии работы с асинхронностью и многопоточностью - swift concurrency. Это самая свежая, удобная и одновременно забагованная и неизвестная из всех доступных нам технологий. Мы будем разбираться с ней в течении нескольких глав и пройдем путь, от рассмотрения простого синтаксиса, до полного понимания, что происходит у нее внутри.
Наконец мы подошли к последней технологии работы с асинхронностью и многопоточностью - swift concurrency. Это самая свежая, удобная и одновременно забагованная и неизвестная из всех доступных нам технологий. Мы будем разбираться с ней в течении нескольких глав и пройдем путь, от рассмотрения простого синтаксиса, до полного понимания, что происходит у нее внутри.