Как стать автором
Обновить
2
0
Андрей @venvear

Пользователь

Отправить сообщение

Управление памятью в Swift

Время на прочтение13 мин
Количество просмотров67K

Об управление памятью в iOS ходят много слухов, поэтому я собрал все самые интересные в интернете и попробовал их структурировать в один большой

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии11

Swift. Протоколы

Время на прочтение8 мин
Количество просмотров15K

Если разобраться поглубже, язык Swift, является крайне продуманным и собрал в себе все лучшее из многообразия языков. Он быстрый, продуманный и очень оптимизированный. Каждый его инструмент, всегда преследует определенную цель и не всегда понятно с первого раза, какую же такую цель преследует изучаемый инструмент, но поверьте, цель есть всегда. Так и у протоколов есть масса возможностей и перекочевали они с Objective-C не просто так. Начнем мы с простого и плавно перейдем к более сложному (хотя протоколы весьма просты в усвоении и очень функциональны).

материал предназначен для новичков в разработке, которые только изучают язык и его возможности.

Читать далее
Всего голосов 2: ↑1 и ↓1+1
Комментарии8

Как устроен счетчик ссылок в Swift

Время на прочтение14 мин
Количество просмотров21K

Мы в iOS команде Vivid Money стремимся глубже понимать инструменты, которыми пользуемся каждый день. Один из таких – это язык программирования Swift. Он состоит из нескольких частей: компилятора, стандартной библиотеки и рантайма. Компилятор преобразует код понятный для человека в код понятный компьютеру. Стандартная библиотека предоставляет разработчикам готовые структуры данных, оптимизированные для применения в боевых проектах. А вот рантайм – это, поистине, сердце языка. В нем происходит выделение памяти, динамическое приведение типов и подсчет ссылок. И нам стало интересно, как реализован подсчет ссылок в рантайме. И  вот мы вдохновились публикациями легендарного Майка Эша (Mike Ash), собрали компилятор и начали исследовать. Посмотрели на работу алгоритма подсчета ссылок и в этой статье расскажем вам о нём.

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии14

Работа для программиста в США: 5 простых шагов

Время на прочтение5 мин
Количество просмотров292K
image Статья про то, что делать тем, кто хочет переехать работать в США. Я предполагаю инженерные позиции, на которые проще всего получить визы, но, возможно, статья окажется полезна и другим специалистам.

Мой опыт несколько отличается от нижеописанного (я попала на работу в США после стажировки). Но за 4 года в США пообщалась с людьми, которые попали сюда разными путями и набрала кое-какой опыт. Так что если бы я очень хотела найти работу в США сегодня, то я бы действовала примерно так, как описано ниже.

Заранее извиняюсь, если мой тон кому-то покажется наставническим — я не имею амбиций учить других жизни, просто иногда у меня получается такой стиль.
Читать дальше →
Всего голосов 166: ↑152 и ↓14+138
Комментарии138

Математические основы Auto Layout

Время на прочтение17 мин
Количество просмотров31K
Многие разработчики считают, что Auto Layout — это тормозная и проблемная штука, и крайне сложно заниматься его отладкой. И хорошо, если этот вывод сделан на основе собственного опыта, а то бывает и просто «я слышал, не буду даже и пытаться с ним подружиться».

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



Всего голосов 39: ↑38 и ↓1+37
Комментарии9

Особенности поиска работы в Европе

Время на прочтение14 мин
Количество просмотров81K
Разработчик, с гуманитарным высшим, средним английским (сильный акцент и неправильное произношение), 15 годами опыта в десятке проектов, обремененный семьей – вдруг решил найти работу в Западной Европе.

Потрачено полгода. Пройдено десятки собеседований. В процессе сбора информации выбор целевой страны менялся несколько раз. В данной статье я постарался описать личный опыт, дать советы, которые (надеюсь) будут полезны другим.
Читать дальше →
Всего голосов 145: ↑135 и ↓10+125
Комментарии439

Как общаться в англоязычном офисе: 14 полезных идиом

Время на прочтение6 мин
Количество просмотров39K
image

На Хабре в последние годы публикуется довольно много статей о переезде, в том числе в США и Великобританию. Обычно в таких материалах рассказывают о поиске работы и визовых вопросах, но не так много внимания уделяется дальнейшей интеграции, в том числе в рабочий коллектив.

Команда сервиса Textly опубликовала в своем блоге подборку английских идиом, которые часто используются в офисных коммуникациях. Я решила подготовить перевод этого полезного материала
Читать дальше →
Всего голосов 34: ↑28 и ↓6+22
Комментарии49

Управление корпоративными iOS-устройствами при помощи OS X Server, а также распространение приложений внутри компании

Время на прочтение11 мин
Количество просмотров48K


Рано или поздно в доброй части крупных компаний возникает вопрос разработки внутреннего корпоративного мобильного приложения. В связи с этим, перед IT-специалистами встает задача проработки двух сценариев: когда нужно установить приложения на личные устройства сотрудников и когда нужно раздать устройства, являющиеся собственностью компании, для выполнения сотрудниками конкретных задач. В рамках данной статьи рассматривается работа с iOS-устройствами через OS X Server.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии24

Теория Universal Links

Время на прочтение5 мин
Количество просмотров56K
image

Введение


WWDC15 – Apple анонсирует переход на Universal Links. Их смысл непомерно прост – отправлять пользователя в приложение, если он переходит на страницу сайта, которую приложение поддерживает. Наиболее часто это применяется в письмах, которые отправляются после регистрации для подтверждения электронной почты. Таким образом, Universal Links избавляет пользователя от необходимости самостоятельно возвращаться в приложение – а это хорошо как для пользовательского опыта, так и для статистики.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии16

Уведомления в iOS 10

Время на прочтение7 мин
Количество просмотров43K

Уведомления в iOS 10


Говорят, что на этом WWDC не было ничего интересного, кроме интерактивных уведомлений. Действительно, новые уведомления одна из самых интересных новых фич. Не только для разработчиков, но и для простых пользователей. В iOS 10 попытались унифицировать работу с локальными и пуш-уведомлениями и добавили для этого новый фреймворк UserNotifications.framework. Старое API теперь запрещено (deprecated), но его можно использовать до тех пор, пока вы поддерживаете iOS 9.


Новые уведомления умеют:


  • показывать вложения (картинки и видео)
  • отображать кастомный UI
  • показывать стандартный UI в активном приложении (why so long!11)
  • удалять себя из центра уведомлений (!!1)

В этой статье разберемся как это работает. Будет интересно не только разработчикам, но и UX проектировщикам.

Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии16

iOS 12: новинки в уведомлениях

Время на прочтение7 мин
Количество просмотров15K

Конференция WWDC прошла, а докладов, которые стоит посмотреть, осталось ещё очень много. Были ключевые темы, которым Apple уделила особое внимание. Core ML, Siri Shortcuts и, конечно же, изменения в Notifications.



Так как не у всех найдётся достаточно свободного времени, чтобы пробираться через дебри документации, которая, как это обычно бывает, на стадии бета-тестирования оставляет желать лучшего, я подготовил обзор новых возможностей и подкрепил материал практической реализацией. Читайте, осознавайте и внедряйте в свои приложения.

Подробности под катом
Всего голосов 34: ↑34 и ↓0+34
Комментарии19

Параллельное программирование в Swift: Operations

Время на прочтение10 мин
Количество просмотров11K
В параллельном программировании в Swift: Основы Я представил множество низкоуровневых способов для управления параллелизмом в Swift. Первоначальная идея состояла в том, чтобы собрать все различные подходы, которые мы можем использовать в iOS в одном месте. Но при написании этой статьи я осознал, что их слишком много, чтобы перечислить в одной статье. Поэтому я решил сократить методы более высокого уровня.

image

Я упомянул Operations в одной из моих статей, но давайте рассмотрим их более внимательно.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии0

Использование ReSwift: написание приложения Memory Game

Время на прочтение21 мин
Количество просмотров9.1K
ReSwift

Примечание. В этой статье используются Xcode 8 и Swift 3.

По мере того, как размеры iOS приложений продолжают увеличиваться, паттерн MVC постепенно теряет свою роль как «подходящего» архитектурного решения.

Для iOS разработчиков доступны более эффективные архитектурные паттерны, такие как MVVM, VIPER и Riblets. Они сильно отличаются, но у них есть общая цель: разбить код на блоки по принципу единой ответственности с многонаправленным потоком данных. В многонаправленном потоке, данные перемещаются в разных направлениях между различными модулями.

Иногда вы не хотите (или вам не нужно) использовать многонаправленный поток данных — вместо этого вы хотите, чтобы данные передавались в одном направлении: это однонаправленный поток данных. В данной статье про ReSwift вы свернёте с проторенного пути и узнаете, как использовать фреймворк ReSwift для реализации однонаправленного потока данных при создании Memory Game приложения, под названием MemoryTunes.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии3

Gesturizer: 3D-touch и жесты в iOS приложения

Время на прочтение2 мин
Количество просмотров3.3K
Жесты на мобильных устройствах, выполняемые стилусом или пальцем, могут быть эффективнее и удобнее стандартных взаимодействий с кнопками и меню в зависимости от контекста и задачи. Однако, необходимость запоминания жестов и связанных с ними команд вызывают некоторые трудности. Кроме того, ограниченность пространства на мобильных устройствах и наличие кликабельных и подвижных элементов в UI усложняют распознавание жестов. Для решения данных проблем, предоставляю вашему вниманию библиотеку iOSGesturizer.

В кратце, данная библиотека позволяет обучаться и использовать разные виды жестов, выполненные одним пальцем, по всей площади дисплея и в любых iOS приложениях на девайсах с поддержкой 3D-touch. Теперь подробнее разберем на примере.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии0

Способ управления цветовыми схемами «Swift» «iOS»-приложения

Время на прочтение4 мин
Количество просмотров10K
Даже для самого что ни на есть начинающего разработчика (скорее, на которого и рассчитан данный очерк), надеюсь, не секрет, что в коде не должно присутствовать никаких т.н. «hardcoded»-значений и прочих всяких там «magic numbers». Почему – тоже, надеюсь, понятно, а если нет, то в Сети имеются десятки, а то и сотни статей на эту тему, а также написан классический труд. «Android Studio» (наверное, не во всех случаях, но все же) даже любит генерировать «warnings» на эту тему и предлагать выносить строки и т.д. в ресурсные файлы. «Xcode» (пока?) такими подсказками нас не балует, и разработчику приходится самостоятельно держать себя в узде или, скажем, получать по рукам от коллег после «code review».

Все это касается и используемых в приложении цветов.

Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии13

Основные практики обеспечения безопасности iOS-приложений

Время на прочтение9 мин
Количество просмотров13K


При разработке любого мобильного приложения, обрабатывающего пользовательские данные, важно уделить внимание безопасности. Особенно остро этот вопрос стоит для приложений, где фигурируют ФИО, номера телефонов, паспортов и другая личная информация. Наша компания разрабатывала и продолжает развивать несколько проектов такого рода, в частности приложения для клиентов российских банков. На основе этого опыта мы выработали набор требований безопасности, которым руководствуемся. Естественно, каждый год появляются новые технологии и возможности, а вместе с ними — новые особенности поведения и уязвимости. В этой статье мы зафиксировали основные пункты обеспечения безопасности iOS-приложений, актуальные на начало 2018 года.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии14

Swift Package Manager

Время на прочтение9 мин
Количество просмотров34K

Вместе с релизом в open source языка Swift 3 декабря 2015 года Apple представила децентрализованный менеджер зависимостей Swift Package Manager.

К публичной версии приложили руку небезызвестные Max Howell, создатель Homebrew, и Matt Thompson, написавший AFNetworking. SwiftPM призван автоматизировать процесс установки зависимостей, а также дальнейшее тестирование и сборку проекта на языке Swift на всех доступных операционных системах, однако пока его поддерживают только macOS и Linux. Если интересно, идите под кат.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии4

VIPER и UITableView/UICollectionView с простыми ячейками

Время на прочтение7 мин
Количество просмотров10K
Доброго времени суток!

Недавно я начал переводить приложение, написанное по плохому MVC на VIPER. Это был мой первый опыт с VIPER-архитектурой и в силу того, что информации на просторах интернета на данный момент по этой архитектуре мало, я столкнулся с некоторыми проблемами. Используя самые общие знания и понятия по VIPER, я вывел на данный момент оптимальные для себя паттерны написания экранов, включающие в себя таблицы или коллекции.

Простые и сложные ячейки


Я разделяю ячейки на простые и сложные.

Простые ячейки — это такие ячейки, которым для выполнения своего предназначения достаточно отображать некоторые данные (текст, картинка) и отвечать простыми действиями на действия пользователя.

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

В данной статье речь пойдет о таблице с простыми ячейками.

Проблема


Проблема заключается в том, что ячейку надо как-то собирать, как-то слушать ее события и делать это в правильном месте.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии2

[Видео] Доклады с митапа iOS-разработчиков Red Hot Chili Apples

Время на прочтение1 мин
Количество просмотров7.3K


Прошлый год закончился регулярной встречей iOS-разработчиков Red Hot Chili Apples. Под катом вы найдете записи докладов об альтернативе VIPER, базовых принципах функционального программирования на iOS, а также о том, как делать качественный проект при ограниченных ресурсах.

Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Что лучше – 1 команда мобильной разработки или 15?

Время на прочтение5 мин
Количество просмотров8.8K
Роль ИТ в банках сложно переоценить. Это и безопасность, и слаженность выполнения всех транзакций, и еще многое-многое другое, о чем конечный пользователь редко догадывается в принципе.

Главное, без чего трудно представить современный банк – это адекватное приложение для мобильных устройств. Человек – существо, любящее комфорт, и быстро к нему привыкающее. Поэтому, если сейчас взять и вернуть всех в парадигму, в которой банк и любое взаимодействие с ним – это походы в отделения и заполнение бумаг для любой рядовой операции, всем резко взгрустнется.

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



В Альфа-Банке у нас для этого есть Альфа-Мобайл и Альфа Бизнес-Мобайл.

Меня зовут Илья Царев, я Head of iOS, и сегодня я расскажу вам, как у нас устроен процесс разработки мобильных приложений.
Читать дальше →
Всего голосов 24: ↑20 и ↓4+16
Комментарии24

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность