Как стать автором
Поиск
Написать публикацию
Обновить
43.86

iOS *

Мобильная ОС компании Apple

Сначала показывать
Порог рейтинга
Уровень сложности

Home Credit Hack: как прошел онлайн-хакатон в Казахстане

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

15-17 октября Банк Хоум Кредит провел онлайн-хакатон Home Credit Hack для специалистов из Казахстана. Участникам нужно было создать приложение для клиентов и партнеров для автономных покупок. Эксперты и организаторы хакатона Ян Ценкр, директор IT департамента Банка Хоум Кредит, Станислав Тян, директор департамента онлайн-бизнеса и Илья Линицкий, сооснователь Phystech.Genesis рассказывают, как проходило соревнование, сколько было заявок на участие, как отбирали конкурсантов и какие идеи предлагали команды. 

Читать далее

SDK чата и Kotlin Multiplatform

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

Привет, меня зовут Сергей, я Android Lead в компании Broniboy —  сервисе мультидоставки, который работает не только с ресторанами, но и с магазинами, аптеками и обычными людьми. Учитывая уровень конкуренции на этом рынке, каждый клиент на счету. Достаточно одной ошибки, чтобы потерять его, поэтому нам нужен надёжный канал поддержки пользователей. Наш выбор пал на чат, простой и понятный пользователю канал связи. Он позволяет не только оперативно реагировать на жалобы, но и привности частичку «человечности» в общение с техподдержкой.

Изучив готовые SDK и взвесив все «за» и «против», мы решили написать собственный SDK чата. Одна из основных идей — переиспользование кода между платформами, а сегодня это Android, iOS и Web. Поэтому, для MVP мы решили попробовать Kotlin Multiplatform.

Читать далее

Избавление от шаблонного кода: как будет выглядеть источник данных?

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

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

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

●      Покажем использование на конкретном примере,

●      Опишем результат с позиции SOLID,

●      Обсудим достоинства и недостатки подхода.

В основе решения лежат принципы SOLID. Цель состоит в том, чтобы составляющие элементы нашего подхода были независимыми, не влияющими друг на друга.

Читать далее

Дайджест интересных материалов для мобильного разработчика #419 (8 — 14 ноября)

Время на прочтение4 мин
Количество просмотров3K
В нашей новой подборке работа с ATT в iOS и главный циклы в Android, конкуренция за память и данные акселерометра, которые могут многое рассказать, джентльменские релизы, самые зарабатывающие и популярные приложения и многое другое!

Читать дальше →

«Сам ты ворованный!», или Что iPhone и Android позаимствовали друг у друга

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

Когда-то Стив Джобс назвал Android «украденным продуктом» и поклялся его уничтожить. 

Но «отец Android» Энди Рубин совершенно не считал, что все фичи iPhone — исключительно заслуга Apple. 

А позже сторонники Android и вовсе стали говорить, что это в Apple все у них копируют (например, когда в iOS 14 добавили виджеты, приложение Translation и технологию App Clips).

Так какая же сторона права? (Спойлер: обе.)

Боб Ли из команды Android писал, что схожесть Android и iPhone была «связана с общим путем, по которому развиваются технологии». 

Например, инновации в технологиях мультитач — то, без чего не было бы современного смартфона — насчитывают десятилетия. Первые устройства с мультитачем были созданы еще в 1980-х годах. Поэтому и iPhone, и Android несут в себе скопированные идеи своих предшественников. 

Идеи витают в воздухе, наступает время для той или иной технологии, поэтому взаимное «воровство» двух гигантов продолжается и по сей день.

В этой статье мы кратко рассмотрим, что iPhone и Android позаимствовали друг у друга и обойдемся без заезженных цитат про «крадущих великих художников».

Читать далее

Интервью с iOS-разработчиком

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

Мой путь в ИТ почти 20 лет, начинал с SQL/1С/эникейщика, потом немного .net, немного Java, ГИС, потом несколько лет менеджерская история в разработке, которую я прервал в 2016 году. До этого времени мой путь был скорее хаотичным и не спланированным. Далее я осознанно начал подходить к планированию своей карьеры в ИТ, когда захотел вернуться в разработку. Чтобы возвращение в разработку не сменилось страхами связанными с выгоранием в Enterprise, я захотел заняться мобильной разработкой, которая максимально близка к пользователям, что лично меня сильно вдохновляет. Кроме того, невероятно заряжает на работу возможность использовать то, что ты делаешь. У меня уже были пара устройств от Apple, и мне, субъективно, интерфейс iOS нравился больше Android. Чтобы начать что-то пробовать я купил старый MacBook Air "на максималках", уехал на зимовку на Филиппины, чтобы отойти от менеджерского стресса, и начал разбираться "как там все устроено в этом XCode". Уже почти 5 лет я работаю как iOS-разработчик в лучших банках (Альфа, Сбер) и классном стартапе (БестДоктор) с разными небольшими тимлидскими историями, которые я осознанно стараюсь избегать, чтобы быть сфокусированным на разработке.

Читать далее

Акторы Swift под капотом

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

Акторы (Actors) — это фича, являющаяся частью структурированного параллелизма (Structured Concurrency) Swift, которая предлагает совершенно новый формат для написания и обработки асинхронного кода. Хотя они и являются чем-то инновационным для языка Swift, сама технология новой не является. Многие языки успели обзавестись поддержкой акторов и async/await раньше, чем Swift, но что интересно, так то, что везде они реализованы одинаково. Только-только получив этот функционал в Swift, мы уже можем многому научиться на опыте разработчиков, использовавших их в других языках.

Читать далее

Computer Vision для iOS, Android, Web

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

Привет, я Денис Соколов, руковожу R&D в Zenia — это платформа для йоги и фитнеса, которая использует ИИ для трекинга поз человека (подробнее об этом — в другой моей статье). Наша система распознавания работает на трёх платформах — iOS, Android, Web. В этой статье поговорим о ключевых отличиях между ними. Расскажу, как устроена подготовка моделей компьютерного зрения к использованию, какими фреймворками пользуемся для запуска на устройствах клиентов, какие сложности решали и чем остались довольны. Если вы занимаетесь запуском нейронных сетей на мобильных устройствах или вебе, статья для вас.

Читать далее

Как мы перестали плодить шаблонный код при работе с табличными представлениями в iOS

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

Девять из десяти экранов любого iOS-приложения имеют табличный вид. Неважно, как реализовано это представление — на UITableView или UICollectionView, но для его реализации необходимо каждый раз писать шаблонный код:

1) реализация табличного источника данных (UITableViewDataSource);

2) реализация табличного делегата (UITableViewDelegate);

3) реализация обратных уведомлений вью об изменениях данных;

4) типичный код по работе с различными коллекциями (плоские, секционные списки на основе массивов, упорядоченных множеств и прочих коллекций) и преобразование их к табличным структурам для источника данных коллекции;

5) все предыдущие пункты придётся повторить, если вы вдруг решите использовать UICollectionView.

Такое большое количество шаблонного кода значительно увеличивает время разработки, тестирования и ревью. Для уменьшения time-to-market мы в ПСБ создали микромодуль, который скрывает в себе весь шаблонный код. Новый модуль представляет собой набор абстрактных реализаций, лёгких в переиспользовании и достаточно универсальных для использования в 90% общих задач. В этой статье расскажем подробности.

Читать далее

Как добавить обязательный запрос на IDFA через App Tracking Transparency

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

С весны этого года каждый iOS-разработчик должен запрашивать разрешение пользователя на использование рекламного идентификатора IDFA. В предыдущей статье мы сделали подробный обзор изменений в App Store и их влияния на мир iOS-разработки.

А сегодня — практический материал. Расскажем, как с помощью нового фреймворка App Tracking Transparency добавить в своё приложение обязательный запрос на использование персональных данных, как потом эти данные передавать рекламным сетям и что делать, если пользователь решил не делиться своей активностью. 

Читать далее

Quick, Nimble. На несколько тестов больше

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

Как ни странно, тема автоматизированного тестирования приложений iOS не так уж популярна среди разработчиков. Сложно судить о причинах такого положения дел, но сегодня я постараюсь пролить немного света на эту тему. В этой статье-туториале рассказывается, как лучше начать работать с фреймворком для тестирования Quick и метчером Nimble, как организовать код тестов, чтобы их было легко читать и поддерживать, как избежать дублирования проверок и сделать тесты более выразительными. Если вы хотите начать писать тесты под iOS, но не готовы тратить на их поддержку и написание много времени, — эта статья для вас.

Поехали!

Тренды iOS: на что обратить внимание разработчику

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

Привет, меня зовут Анна Помазанова, я iOS Developer в команде NIX. За девять лет в IT-сфере я убедилась: неважно, начинающий вы iOS Developer или опытный специалист — всегда надо следить за трендами в разработке. Только так можно быть уверенным, что вы сможете качественно улучшать код и оптимизировать его, а сам продукт делать действительно полезным для пользователей.

В этой статье я решила собрать основные направления iOS-разработки и самые популярные фреймворки от Apple. Один нюанс: данные приведены на момент подготовки публикации — в сентябре 2021 года. В любом случае начинающим  iOS-разработчикам этот материал будет полезен.

Читать далее

Дайджест интересных материалов для мобильного разработчика #418 (1 — 7 ноября)

Время на прочтение3 мин
Количество просмотров2.5K
Новый дайджест вышел не очень большой, зато в нем безопасность iPhone и новые MacBook Pro в Android-разработке, чаты на вебсокетах, тестирование на удаленке, основы CI/CD и многое другое!

Читать дальше →

Ближайшие события

Что ждет мобильных разработчиков на Mobius 2021 Moscow

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

До конференции по мобильной разработке Mobius осталось три недели. А значит, пришло время рассказать, о чем будут доклады: их описания под катом.

Как водится, есть материал и по конкретным платформам (Android/iOS), и «кроссплатформенный». Чтобы вы быстрее находили подходящие вам доклады, в тексте расставлены обозначения:

? — iOS

? — Android

? — Flutter

? — Kotlin (вылезающий за рамки Android)

♾️ — универсальные доклады, не привязанные к платформе

Тематически все тоже очень разнообразно: от многопоточности до автоматизации миграции на Bazel. И в этот раз неожиданно широко раскрыта тема доступности (accessibilty) — вероятно, это говорит о зрелости мобильной разработки.

Смотреть программу

[iOS] Создание фреймворка Framework с использованием Cocoapods

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

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

Читать далее

Дайджест интересных материалов для мобильного разработчика #417 (25 — 31 октября)

Время на прочтение4 мин
Количество просмотров2.6K
В этой подборке креши на старте и идеальный наблюдатель, новые MacBook Pro в компиляции проектов и эволюция CI, боты в мультиплеере, проблема разлогинов, вопросы удаления функций, фейковые приложения и многое другое!

Читать дальше →

[iOS] Создание статической библиотеки Static Library с использованием Cocoapods

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

В свое время мне понадобилось обернуть написанный модуль в библиотеку. Порядочно погуглив, я нашел кучу туториалов, суть которых - создается библиотека с одним-двумя .swift - файлами. У меня же был целый проект, да еще с подами (а ля Alamofire, Moya, EasyPeasy и др), и создание библиотеки именно этим и усложнялось, было непонятно как переносить поды, нужно ли их вообще переносить и как в целом правильно сбилдить такую библиотеку.

Читать далее

Исповедь iOS-разработчика из Google

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

Я уволился из Google летом 2020. Лицо моего менеджера вытянулось, когда я сказал ему что ухожу - он ожидал чего-то подобного, но не в разгар пандемии! А я был счастлив - как никогда за последние несколько месяцев, и почти так же счастлив как 3 года назад - когда получил письмо с предложением работы в Google.

За эти три года моя любовь к Google сменилась полной апатией и потерей интереса к работе.

Самый лучшими моментами моей работы в Google были...

Читать далее

Гайд по UIKeyboardLayoutGuide

Время на прочтение2 мин
Количество просмотров4.3K
image
Обработка показа клавиатуры – это распространенная задача при создании интерфейса приложения. С выходом iOS 14 это работает автоматически для SwiftUI компонентов. Но что со старым-добрым UIKit? Раньше мы использовали нотификации клавиатуры, проверяли ее высоту и обновляли необходимые constraints. В iOS 15 появился новый гайд — UIKeyboardLayoutGuide. Если вы уже знакомы с такими гайдами, как safeAreaLayoutGuide и readableContentGuide, новый покажется вам супер интуитивным. Давайте попробуем использовать его на простом примере — экране авторизации с текстовыми полями и кнопкой логина, закрепленной внизу.
Читать дальше →

One Day Offer для мобильных разработчиков и системных аналитиков

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

Привет!

Мы продолжаем проводить One Day Offer, в этот раз на очереди мобильные разработчики и системные аналитики.

Предлагаем получить оффер за сутки, без долгого ожидания между интервью. Проведём все этапы собеседования онлайн и в один день на нашем специальном One Day Offer, где можно получить приглашение на работу всего за один день.

Когда?

13 ноября — Android- и iOS-разработчики (подать заявку нужно до 11 ноября).

20 ноября — системные аналитики (заявки — до 19 ноября).

Критерии

Ваш грейд — middle или senior, джунов в этот раз не рассматриваем.

Вы узнаёте себя в описании вакансии у нас на сайте.

Готовы попробовать? Тогда вот ваша ссылка.

До встречи в Альфа-Банке!

Читать далее