Рубрика «swift»

Наверное, в каждом большом iOS-проекте — долгожителе можно наткнуться на иконки, которые нигде не используются, или обращения к ключам локализации, которые уже давно не существуют. Чаще всего такие ситуации возникают из-за невнимательности, а лучшее лекарство от невнимательности — автоматизация.

В iOS-команде HeadHunter мы большое внимание уделяем автоматизации рутинных задач, с которыми может столкнуться разработчик. Этой статьей мы хотим начать цикл рассказов о тех инструментах и подходах, которые упрощают нашу повседневную работу.

Какое-то время назад нам удалось взять ресурсы приложения под контроль с помощью утилиты SwiftGen. О том, как ее настроить, как с ней жить и как эта утилита помогает переложить проверку актуальности ресурсов на плечи компилятора, и пойдет речь под катом.

Контроль над ресурсами. Настраиваем SwiftGen - 1

Читать полностью »

image

Введение

WWDC15 – Apple анонсирует переход на Universal Links. Их смысл непомерно прост – отправлять пользователя в приложение, если он переходит на страницу сайта, которую приложение поддерживает. Наиболее часто это применяется в письмах, которые отправляются после регистрации для подтверждения электронной почты. Таким образом, Universal Links избавляет пользователя от необходимости самостоятельно возвращаться в приложение – а это хорошо как для пользовательского опыта, так и для статистики.
Читать полностью »

Привет!

Новости из мира финтеха за неделю набрались такие:

  • Банки жалуются на дороговизну новой биометрической системы;
  • Visa запускает в России сервис денежных переводов по номеру телефона;
  • SWIFT остается работать в России;
  • Курс биткоина в Иране превысил $26000.

Банки и биометрия

Финтех-дайджест: SWIFT продолжит работу в РФ, VISA позволит переводить средства по номеру телефона, дорогая биометрия - 1
Рисунок: Виктор Чумачев / Коммерсантъ

В недавнем дайджесте мы писали, что в России начинает работать единая биометрическая система, которая облегчает жизнь как банкам, так и их клиентам. Для того чтобы к этой системе присоединиться, необходим перечень базовых элементов. Они нужны для сбора биометрических данных и передачи их в Единую биометрическую систему.

Как оказалось, минимальные затраты на подключение к такой системе банка с одним отделением составляют примерно 4 млн. рублей, каждое новое отделение обойдется еще в 130 тысяч. А избежать расходов просто нельзя — дело в том, что к концу 2019 года система должна начать работу во всех отделениях всех банков.
Читать полностью »

Видео докладов с CocoaHeads @ FunCorp митапа - 1

25-го августа мы (FunCorp) совместно c CocoaHeads провели iOS митап. А сегодня для тех, кто не смог посетить мероприятие и посмотреть трансляцию, выкладываем записи докладов.
Читать полностью »

Компонентная архитектура UI в iOS-приложении - 1

Привет!

Меня зовут Валера, и уже два года я разрабатываю iOS-приложение в составе команды Badoo. Один из наших приоритетов — легкосопровождаемый код. Из-за большого количества новых фич, еженедельно попадающих к нам в руки, нам нужно в первую очередь думать об архитектуре приложения, иначе будет крайне сложно добавить новую фичу в продукт, не ломая уже существующие. Очевидно, что это также относится и к реализации пользовательского интерфейса (UI) независимо от того, делается это с помощью кода, Xcode (XIB) или смешанного подхода. В этой статье я опишу некоторые методики реализации UI, которые позволяют нам упрощать разработку пользовательского интерфейса, делая её гибкой и удобной для тестирования. Также есть версия этой статьи на английском.

Прежде чем начать…

Я буду рассматривать методики реализации пользовательского интерфейса на примере приложения, написанного на Swift. Приложение по нажатию на кнопку показывает список друзей.

Оно состоит из трёх частей:

  1. Компоненты — кастомные UI-компоненты, то есть код, относящийся только к пользовательскому интерфейсу.
  2. Демоприложение — демонстрационные view models и другие сущности пользовательского интерфейса, имеющие только UI-зависимости.
  3. Реальное приложение — view models и другие сущности, которые могут содержать специфические зависимости и логику.

Почему такое разделение? На этот вопрос я отвечу ниже, а пока ознакомьтесь с пользовательским интерфейсом нашего приложения:
Читать полностью »

Разделение на компоненты, layout anchors и другие методики реализации UI на iOS - 1

Привет!

Меня зовут Валера, и уже два года я разрабатываю iOS-приложение в составе команды Badoo. Один из наших приоритетов — легкосопровождаемый код. Из-за большого количества новых фич, еженедельно попадающих к нам в руки, нам нужно в первую очередь думать об архитектуре приложения, иначе будет крайне сложно добавить новую фичу в продукт, не ломая уже существующие. Очевидно, что это также относится и к реализации пользовательского интерфейса (UI) независимо от того, делается это с помощью кода, Xcode (XIB) или смешанного подхода. В этой статье я опишу некоторые методики реализации UI, которые позволяют нам упрощать разработку пользовательского интерфейса, делая её гибкой и удобной для тестирования. Также есть версия этой статьи на английском.

Прежде чем начать…

Я буду рассматривать методики реализации пользовательского интерфейса на примере приложения, написанного на Swift. Приложение по нажатию на кнопку показывает список друзей.

Оно состоит из трёх частей:

  1. Компоненты — кастомные UI-компоненты, то есть код, относящийся только к пользовательскому интерфейсу.
  2. Демоприложение — демонстрационные view models и другие сущности пользовательского интерфейса, имеющие только UI-зависимости.
  3. Реальное приложение — view models и другие сущности, которые могут содержать специфические зависимости и логику.

Почему такое разделение? На этот вопрос я отвечу ниже, а пока ознакомьтесь с пользовательским интерфейсом нашего приложения:
Читать полностью »

В этом выпуске: больше новых рефакторингов, лучше автодополнение, поддержка баз данных из DataGrip и даже поддержка Touch Bar. Более подробно — под катом.

Splash
Читать полностью »

«Могу рассказать про общую боль всех iOS-разработчиков» — 10 вопросов программисту, выпуск 2 - 1

Пилотный выпуск вам, кажется, понравился. И мы по-прежнему уверены, что ребята, которые не попадают в объективы камер, столь же интересны, как и ИТ-звезды. А может и еще больше, потому что они рассказывают о реальных проблемах и их решениях. На этой неделе мы задали 10 вопросов человеку, который скромно стоит за «Яндекс.Картами» для iOS.Читать полностью »

На этой неделе мы снова делали приложения для Ассистента Google, обсуждали Google Pay и плохих дизайнеров, разрабатывали смешанную реальность и PWA, погружались в геймдизайн и маркетплейс продуктов. Все это и многое другое в нашем новом дайджесте!

Дайджест интересных материалов для мобильного разработчика #266 (13 августа— 19 августа) - 1Читать полностью »

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

Мобильная разработка. Swift: таинство протоколов - 1
Читать полностью »