Евгений <JonFir> Елчев

Добро пожаловать в мой блог

Подборка материалов по swift concurrency (async/await)

В прошлом году apple представила разработчикам долгожданные async/await, а так же actor, AsyncSequence, и еще много чего. Все эти штуки получили название “swift concurrency”. И чтобы вам было проще разобраться с новыми технологиями я собрал полную подборку материалов по теме. Самое основное [en] Официальная документация [ru] Перевод официальной документации [en] Ответы на часто задаваемые вопросы, с примерами [en] Книга новичка WWDC 2021 [en] Первое знакомство async/await [en] Более подробный разбор async/await (structured concurrency)...

января 11, 2021 · 1 мин · Евгений Елчев

Полезный контент для iOS разработчика (Обновляется)

Книги [en] Programming iOS 13: Dive Deep into Views, View Controllers, and Frameworks amazon [en][ru] Мэтт Гэлловей: Сила Objective-C 2.0. лабиринт/amazon Блоги [en] Хардкорный блог о iOS [en] objc.io [en] swiftbysundell [en] nshipster [en] raywenderlich [en] pspdfkit [en] swiftui-lab [en] hackingwithswift Статьи [en] @State, @ObjectBinding and @EnvironmentObject in SwiftUI [ru] Swift против Rust — бенчмаркинг на Linux Читать с комментариями. Особенно интересно тем, что в итоге был найден способ ускорить swift пример более чем в 10 раз...

сентября 27, 2020 · 1 мин · Евгений Елчев

Функциональный Swift — это просто

В статьях о функциональном программировании много пишут о том, как ФП подход улучшает разработку: код становится легко писать, читать, разбивать на потоки и тестировать, построить плохую архитектуру невозможно~~, а волосы становятся мягкими и шелковистыми~~. Недостаток один — высокий порог входа. Пытаясь разобраться в ФП, я столкнулся с огромным количеством теории, функторами, монадами, теорией категорий и алгебраическими типами данных. А как применять ФП на практике, было неясно. Кроме того, примеры приводились на незнакомых мне языках — хаскеле и скале....

октября 29, 2019 · 15 мин · Евгений Елчев

Структура iOS проекта

Введение Привет. В этой статье поговорим о структуре папок в проекте. Это не популярная тема для статей, но правильная структура папок влияет на удобство навигации. Часто проект делится на три части. Первая часть, UI, содержит элементы интерфейса, UIViewController’ы, презентеры, вьюмодели, интеракторы и иже с ними. Вторая часть бизнес логика. Которая заканчивается на взаимодействие с сетью и рилмом. Третья часть это DTO, с парсерами. Причина кроется в специфике iOS приложений, ведь это тонкие клиенты....

октября 28, 2019 · 5 мин · Евгений Елчев

Инверсия управления в iOS

В последнее время я все чаще слышу о DI. Им интересуются мои студенты в Geek University, его упоминают в чатах. Хотя паттерн далеко не молод, многие не совсем верно его понимают. Часто под DI подразумевают фреймворк, например, typhoon или swinject. В статье подробно разберем принципы реализации DI, а также принцип IoC. DI (внедрение зависимости, англ. Dependency injection) — процесс предоставления внешней зависимости программному компоненту. Является специфичной формой «IoC», когда она применяется к управлению зависимостями....

июля 24, 2018 · 16 мин · Евгений Елчев