Pull to refresh
14
0
Панов Сергей @Passt

iOS-lead at МТС Инвестиции

Send message

Пишем свой сетевой слой на Swift: протокол-ориентированный подход

Reading time10 min
Views29K


Сейчас практически 100% приложений используют работу с сетью, поэтому вопрос организации и использования сетевого слоя встает перед каждым. Есть два основных подхода к решению этой проблемы, это либо использование сторонних библиотек, либо собственная реализация сетевого слоя. В данной статье мы рассмотрим именно второй вариант, причем попробуем реализовать сетевой слой с использованием всех последних возможностей языка, применяя протоколы и перечисления. Это избавит проект от лишних зависимостей в виде дополнительных библиотек. Те, кто хоть раз видел Moya, сразу узнают множество схожих деталей в реализации и использовании, так оно и есть, только в этот раз мы все сделаем своими руками, не трогая Moya и Alamofire.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments11

Сравнение архитектур Viper и MVVM: Как применить ту и другую

Reading time15 min
Views24K


В настоящее время VIPER и MVVM являются наиболее популярными архитектурными решениями, применяемыми при разработке крупных приложений, требующих участия в разработке больших команд, являющихся хорошо тестируемыми, длительно проддерживаемыми и постоянно развивающимися. В данной статье мы попробуем применить их на небольшом тестовом проекте, который представляет из себя список контактов пользователей с возможностью добавления нового контакта. В данной статье больше практики, чем аналитики, и предназначена она в первую очередь для тех, кто уже в теории знаком с данными архитектурами и теперь хотел бы понять как это работает на конкретных примерах. Впрочем, базовое описание архитектур и их сравнение также присутствует.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments2

Организация навигации в iOS-приложениях с помощью Root Controller

Reading time9 min
Views13K


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

В данной статье мы спроектируем навигацию в приложении так, чтобы избежать наиболее частых ошибок, которые приводят к утечкам памяти, портят архитектуру и ломают структуру навигации.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments6

Парсинг и работа с Codable в Swift 4

Reading time11 min
Views82K


Формат JSON приобрел большую популярность, именно он обычно используется для передачи данных и выполнения запросов в клиент-серверных приложениях. Для парсинга JSON требуются инструменты кодирования/декодирования данного формата, и компания Apple не так давно провела их обновление. В данной статье мы рассмотрим методы парсинга JSON с применением протокола Decodable, сравним новый протокол Codable с предшественником NSCoding, оценим преимущества и недостатки, разберем все на конкретных примерах, а также рассмотрим некоторые особенности, встречающиеся при реализации протоколов.
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments18

Использование паттерна MVC при проектировании TableView

Reading time12 min
Views10K
Привет, Хабр! Представляю вашему вниманию перевод статьи «iOS Tableview with MVC», опубликованной в октябре 2016 года на Medium.com разработчиком Stan Ostrovskiy.


Пример использования UITableView в приложении

В данной статье на конкретном примере вы сможете ознакомиться с применением популярного паттерна MVC, при проектировании одного из самых популярных элементов интерфейса UITableView. Также данная статья в довольно понятном и доступном виде дает возможность понять базовые архитектурные принципы при проектировании вашего приложения, а также дает возможность ознакомиться с элементом UITableView. Учитывая тот факт, что немалое количество разработчиков часто пренебрегают какими-либо архитектурными решениями при создании своих приложений, считаю что данная статья будет очень полезна как для начинающих разработчиков, так и для программистов с определенным опытом. Паттерн MVC продвигается самой компанией Apple и является самым популярным шаблоном, используемым при разработке под iOS. Это не значит, что он подходит для любых задач и всегда является оптимальным выбором, но, во-первых, с помощью MVC проще всего получить общее понимание построения архитектуры вашего приложения, и, во-вторых, довольно часто MVC действительно хорошо подходит для решения определенных задач проекта. Данная статья поможет вам структурировать ваш код, сделать его удобным, переиспользуемым, читаемым и компактным.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments4

Information

Rating
Does not participate
Location
Зеленоград, Москва и Московская обл., Россия
Registered
Activity