Как стать автором
Обновить
67.28

Разработка под iOS *

Популярная мобильная ОС

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

Мобильная разработка за неделю #526 (12 — 18 февраля)

Время на прочтение 4 мин
Количество просмотров 1.4K
В этой еженедельной подборке опровергаем архитектурные заблуждения и знакомимся с Swift Algorithms, собеседуем в RuStore и двигаем рукой справа налево, уменьшаем продуктовую анимацию, тащим новые технологии, идем в Мордор с Фродо и многое другое!

Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

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

Новости

Создание кастомного React Native компонента Switch с помощью библиотек Reanimated и Gesture Handler (Часть 2)

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 439

Всех приветствую! Это вторая и заключительная часть моего цикла статей по созданию кастомного компонента Switch с помощью библиотек Reanimated и Gesture Handler. Здесь мы рассмотрим реализацию логики пропса disabled, добавим пару новых фич и напишем обработку изменения состояния value вне компонента.

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

Топ-5 распространенных практик написания хорошего Swift-кода

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

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

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

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

Как устроен @State в SwiftUI

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

Привет! Меня зовут Илья, я iOS разработчик в компании Банки.ру
Уже больше двух лет наше приложение мы пишем на SwiftUI.

В статье расскажу о Property Wrapper'е @State.

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

Истории

Камера как сканер штрих-кодов: проблемы, инструменты и эксперименты

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

Всем привет, меня зовут Никита, я старший разработчик в компании Озон и работаю над iOS-приложением «Пункт Озон».

«Пункт Озон» — это мобильное приложение для работников и менеджеров пункта выдачи заказов (далее просто ПВЗ). В приложении множество различных разделов для повседневной работы. Самые популярные разделы — это «Приёмка», «Выдача» и «Инвентаризация», что в мобильной, что в web-версии. Именно они помогают выполнить главные задачи работников ПВЗ — принять заказы на баланс и позже выдать их клиентам.

Для скорости работы и защиты от ошибок работники ПВЗ производят эти действия через сканирование штрих-кодов, расположенных на самих заказах или на тарах, в которых они приезжают. Если брать web-версию, то там «все просто»: покупается нормальный/качественный отдельный сканер, подключается к ПК — и проблем, считай, нет. А вот с мобильным приложением дела обстоят немного не так. У смартфона есть только камера, и она явно не проектировалась под задачу «сканируем только штрих-коды». Но с другой стороны, камера делает фотографию, а раз у нас есть фотография, то можно там найти штрих-код. К счастью, Apple и Google предоставляют нам инструментарий для этого.

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

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

сравнение инструментов, которые предлагает Apple;

технический обзор одного из них;

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

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

Опровергаю пять архитектурных заблуждений

Уровень сложности Средний
Время на прочтение 13 мин
Количество просмотров 16K

Привет! Я Алексей, iOS-разработчик в Тинькофф. Участвую в развитии архитектуры приложения, провожу собеседования и занимаюсь менторингом разработчиков.

За мой рабочий опыт у меня сложилось ощущение, что в среде мобильной разработки есть недопонимание ключевых принципов архитектуры. Хочется десакрализировать тему архитектуры, раскрыть некоторые принципы, по которым она строится, и разобрать популярные заблуждения, с которыми я столкнулся. Расскажу, почему бизнес-логика — это не все, кроме UI, с чего начинается архитектура и в чем разница между архитектурными шаблонами и архитектурой.

Читать далее
Всего голосов 37: ↑33 и ↓4 +29
Комментарии 20

Мобильная разработка за неделю #525 (5 — 11 февраля)

Время на прочтение 5 мин
Количество просмотров 2K
В новом дайджесте разбираемся со SwiftData и кодом доставки пиццы, изучаем в будущее swift-testing и мастерстве программирования, обманываем на технических собеседованиях с помощью ChatGPT, определяем самые скачиваемые и зарабатывающие приложения в России в январе и многое другое!

Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 0

Создание кастомного React Native компонента Switch с помощью библиотек Reanimated и Gesture Handler (Часть 1)

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

Приветствую дорогой читатель! Если тебя интересует разработка под React Native и ты хочешь научиться работать с анимациями и отслеживаниями нажатий, то эта статья для тебя. Данная статья первая, что вышла из под моего пера клавиш ноутбука, поэтому прошу сильно не кидаться тапками. Здесь мы рассмотрим работу с кастомными анимациями в React Native и использование библиотек react-native-reanimated и react-native-gesture-handler.

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

Раскраска SVG картинки во flutter, и почему я решил отключить Impeller

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 1.9K

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

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 3

Удобство и/или безопасность? Tinkoff edition

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 5.4K

Вы приходите домой и открываете почтовый ящик. Одновременно с этим на 5 минут открывается сейф у вас в доме. Удобно? Возможно, в некоторых случаях, да. Очевидно и интуитивно? Каждый решит в своём случае.

Читать далее
Всего голосов 22: ↑18 и ↓4 +14
Комментарии 45

Стеки и Очереди в Swift

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 1.3K

В этой статье мы исследуем две фундаментальные структуры данных, которые являются неотъемлемой частью программирования на Swift: стеки и очереди. Они представляют собой коллекции элементов с особыми правилами для добавления и удаления элементов. Стеки работают по принципу "последним пришел, первым ушел" (LIFO), что делает их идеальными для задач, связанных с обратной навигацией или отменой действий. Очереди, следуя принципу "первым пришел, первым ушел" (FIFO), идеально подходят для задач, требующих обработки элементов в порядке их поступления, например, в управлении задачами или потоками данных.

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

Ранний взгляд на будущее тестирования с swift-testing

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 825

Пару месяцев назад Стюарт Монтгомери, программист из команды XCTest в Apple, поделился новой библиотекой тестирования Swift с открытым исходным кодом на основе макросов.

Библиотека называется Swift-testing, и, как указано в ее документации, она предназначена для проверки концепции нового API тестирования для Swift, основанного на макросах и интегрированного в Swift так же, как и XCTest.

По этой причине предполагается, что библиотека будет недолговечной и не предназначенной для использования на продакшене или миграции из XCTest. Тем не менее, это отличный способ получить представление о том, как может выглядеть будущее тестирования в Swift, что я и сделал.

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

Уменьшаем boilerplate с помощью Swift Macros

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 1.1K

Сегодня с вами Никита Коробейников, iOS Team Lead в Surf. Никита объяснит, что такое Swift Macros, сравнит кодогенерацию от Apple со сторонними решениями: Liquid, Generamba, Sourcery и расскажет, как создать собственный Swift Macros. 

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

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

Кто ты, SwiftData

Уровень сложности Средний
Время на прочтение 15 мин
Количество просмотров 2.7K

Привет! Я Андрей Зонов, стафф-инженер в Тинькофф и большой фанат CoreData. Моя любовь в CoreData началась на старте карьеры, когда я попал в первый Enterprise-проект. Это были времена iOS 4.3., CoreData не имела parent-контекстов и методов perform. Как-то так сложилось, что за свою карьеру я много фиксил классические проблемы в CoreData, и с появлением SwiftData мне стало интересно, остались ли проблемы в SwiftData и что нам дает этот фреймворк. 

В статье разберем основные концепции и киллер-фичи по SwiftData. Пройдемся по основным отличиям и тому, как можно мигрировать с CoreData на актуальную SwiftData. Копнем внутрь SwiftData, узнаем, как она устроена под капотом, и подведем итоги стоит ли вообще переезжать на новый фреймворк Apple. 

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

Более правильный подход к подключению Yandex AppMetrica в React Native приложении

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 1.3K

Самостоятельно ставим Yandex AppMetrica в React Native приложение без каких-либо сторонних npm'ных библиотек.

Посмотрим как поставить нативно аппметрику, также напишем два нативных модуля для получения доступа к методам аппметрики.

Гайд ориентирован на React Native разработчиков, которые не могут найти нормальное решение для подключения аппметрики.

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

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

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 2.4K


Личные проекты бывают разными: кто-то пишет собственную JS-библиотеку, кто-то создает IT-компанию, а кто-то помогает команде выигрывать гонки (и такое бывает). В этом тексте мы расскажем про пять интересных проектов от студентов, которые выиграли стипендию в Selectel Career Wave.
Читать дальше →
Всего голосов 31: ↑29 и ↓2 +27
Комментарии 0

iOS 17.4: что нового? Apple впервые разрешила использовать сторонние каталоги приложений и аналоги Apple Pay

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

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

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

Step by step: интегрируем интерактивные 2D/3D-объекты в iOS-приложение

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 1K

Привет, Хабр! Меня зовут Степан, я iOS-разработчик SimbirSoft.

В очередной раз открыв одно из ежедневных приложений, я обнаружил любопытную фичу: интерактивный 3D-элемент в виде звездочки. Казалось бы, ничего необычного, но это сделало взаимодействие с приложением немного приятнее. Так появилась идея для пет-проекта — нативно создать MVP интерактивного 3D-объекта.

Данная статья — step by step от интерактивных 2D-объектов к 3D. В конце статьи вы найдете ссылку на репозиторий.

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

Мобильная разработка за неделю #523 (22 — 28 января)

Время на прочтение 4 мин
Количество просмотров 2.6K
В новом дайджесте открытие сторонних магазинов на iOS в Европе и скучные приложения для Vision Pro, неизвестные инструменты Android Studio, путь к совершенству Flutter, трёхмерные игры на кнопочных телефонах? удаление кода в масштабе Google и многое другое!

И подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 0

Упрощаем локализацию iOS-приложения со String Catalogs

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 1.5K

Выход продукта на новые рынки сбыта — это деньги. Чем лучше ты знаешь своего клиента, тем вероятнее, что ты их сможешь заработать. Это же правило справедливо и в обратную сторону: клиент более охотно будет пользоваться твоим продуктом, если он может разговаривать с ним на одном языке.

Сегодня я расскажу о том, как можно в значительной мере облегчить и усовершенствовать процесс перевода iOS-приложения на другие языки. Языки, разумеется, человеческие: от Swift мы отказываться не будем.

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

Вклад авторов

Работа

Swift разработчик
46 вакансий
iOS разработчик
30 вакансий