swift

  • ХабрахабрФото Продолжаем избавляться от шаблонного кода: переиспользуемый делегат табличных экранов

    Продолжаем избавляться от шаблонного кода: переиспользуемый делегат табличных экранов

    Мы продолжаем сражаться с шаблонным кодом в табличных экранах iOS-приложений.  В предыдущих статьях мы описали мотивы и подход, используемый для решения проблемы дублирования кода из контроллера в контроллер. Также мы показали детальную реализацию и возможности использования источника и провайдера данных для таблиц, которые позволяют ускорять разработку табличных экранов за счет переиспользования реализации протокола `UITableViewDataSource` в соответствии с принципами SOLID. Однако,…

    Читать далее »
  • ХабрахабрФото Swift. Менеджер сетевых запросов

    Swift. Менеджер сетевых запросов

    По крайней мере в последнее десятилетие, количество приложений, которым требуется доступ в интернет, неимоверно возросло. Причем для большинства проектов требуется только выполнение REST запросов и загрузка изображений, с созданием preview. В связи с чем, необходим своего рода менеджер сетевых запросов для загрузки данных из сети. Далее будет представлен NetworkManager, с помощью которого выполняются REST запросы, а также загружаются файлы, в…

    Читать далее »
  • ХабрахабрФото Переход на SwiftUI: внедряем TabView взамен UITabBarController

    Переход на SwiftUI: внедряем TabView взамен UITabBarController

    Внедрение SwiftUI (далее — SUI) в уже существующее приложение, написанное на UIKit, в середине 2022 г. уже не является вопросом времени, а скорее, определяется наличием соответствующих навыков. Перевод приложения Утконоса – одного из лидеров e-commerce на российском рынке – на SUI мы начали в конце 2020 года, когда подняли минимальную поддерживаемую версию iOS до 13-ой (и, да, мы не стали ждать 14-ой). Этому же способствовала поставленная долгосрочная задача полного редизайна…

    Читать далее »
  • ХабрахабрФото Переход на SwiftUI: внедряем TabView взамен UITabBarController

    Переход на SwiftUI: внедряем TabView взамен UITabBarController

    Внедрение SwiftUI (далее — SUI) в уже существующее приложение, написанное на UIKit, в середине 2022 г. уже не является вопросом времени, а скорее, определяется наличием соответствующих навыков. Перевод приложения Утконоса – одного из лидеров e-commerce на российском рынке – на SUI мы начали в конце 2020 года, когда подняли минимальную поддерживаемую версию iOS до 13-ой (и, да, мы не стали ждать 14-ой). Этому же способствовала поставленная долгосрочная задача полного редизайна…

    Читать далее »
  • ХабрахабрФото Method Dispatch

    Method Dispatch

    Вы когда-нибудь задумывались над тем, как компилятор понимает, какую функцию и откуда вызвать? Постараемся разобраться. Что такое Method Dispatch? Method Dispatch - это алгоритм, который решает, какой метод должен вызываться в ответ на сообщение. Его цель заключается в том, чтобы проинформировать процессор о том, где он может найти код для вызова метода в памяти. Swift имеет три типа method dispatch:…

    Читать далее »
  • ХабрахабрФото Copy-on-write

    Copy-on-write

    Познакомился я с этой темой на одном из собеседований, когда мне задали вопрос о том, что есть какая-то большая структура и сколько памяти будет занято, если переменную с экземпляром этой структуры присвоить другой переменной. Тогда, вспоминая о том, что происходит при взятие подстроки, я ответил, что объем памяти не изменится и ошибся. Ну и уже после собеседования полез читать о…

    Читать далее »
  • ХабрахабрФото Дайджест недели от Apple Pro Weekly News (23.05 – 29.05.22)

    Дайджест недели от Apple Pro Weekly News (23.05 – 29.05.22)

    В этом дайджесте: Конференция разработчиков WWDC22 уже через неделю и теперь есть подробное расписание, магазины техники Apple в России частично закрываются, а саму компанию нещадно штрафуют. А также новинки, обновления и слухи. Всё это и многое другое в свежей подборке событий от Apple Pro Weekly News. Конференция разработчиков Apple WWDC22 уже на следующей неделе 6 июня стартует долгожданная неделя Apple…

    Читать далее »
  • ХабрахабрФото Правильно подключаем тяжелые зависимости к Xcode проекту через Swift Package Manager

    Правильно подключаем тяжелые зависимости к Xcode проекту через Swift Package Manager

    В этой статье я расскажу о проблемах с которыми я столкнулся при подключении тяжелых зависимостей к iOS проекту с помощью Swift Package Manager и о способе их решения. Тяжелые зависимости Для начала давайте определим понятие тяжелой зависимости. Под тяжелой зависимостью я понимаю такую зависимость в которой есть большое кол-во исходного кода. Самый распространённый пример такой зависимости — Firebase. Это набор сервисов…

    Читать далее »
  • ХабрахабрФото Дайджест недели (мобильная разработка) – #1

    Дайджест недели (мобильная разработка) – #1

    Привет, Хабр! Каждую неделю, в своем телеграм-канале Mobile Native, я публикую дайджест с интересными и полезными материалами (новости, статьи, инструменты, библиотеки и т.д.) для мобильных разработчиков. Решил попробовать публиковать эту рубрику и на Хабре. Посмотрим, что из этого получится. Android 🤖 • Dependency Inversion Principle: How Google Developers write code• Как мы используем фича-флаги в мобильном приложении QIWI Кошелек• Google запускает…

    Читать далее »
  • ХабрахабрФото Как использовать Kotlin Multiplatform ViewModel в SwiftUI и Jetpack Compose

    Как использовать Kotlin Multiplatform ViewModel в SwiftUI и Jetpack Compose

    Мы в IceRock Development уже много лет пользуемся подходом MVVM, а последние 4 года наши ViewModel расположены в общем коде, за счет использования нашей библиотеки moko-mvvm. В последний год мы активно переходим на использование Jetpack Compose и SwiftUI для построения UI в наших проектах. И это потребовало улучшения MOKO MVVM, чтобы разработчикам на обеих платформах было удобно работать с таким подходом. 30 апреля 2022 вышла новая…

    Читать далее »


Кнопка «Наверх»