Денис Веренцов, Android-инженер Авито, рассказал, как работает инструмент для параллельного запуска мобильных автотестов Emcee, как развернуть его на своей инфраструктуре, или запустить в облаке, чтобы прогонять тесты прямо в браузере.
Разработка под iOS *
Популярная мобильная ОС
Новости
Оптимальный архитектурный шаблон iOS
В статье описывается оптимальный архитектурный шаблон большого iOS-приложения на Swift, выступающего преимущественно тонким клиентом. Основной упор делается на применение чистой архитектуры. Статья предназначается как новичкам, так и опытным программистам. Для удобства навигации имеется оглавление.
Continuations для взаимодействия асинхронных задач с синхронным кодом
В Swift были представлены новые функции, которые помогают нам адаптировать старые API в стиле completionhandler к современному асинхронному коду.
Например, эта функция возвращает свои значения асинхронно, используя обработчик завершения:
Мобильная разработка за неделю #528 (26 февраля — 3 марта)
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
Истории
Наш опыт Android- и iOS-разработки в проекте
Посмотрим на текущую ситуацию с разработчиками Android и iOS‑приложений. Обсудим варианты разработки мобильных приложений. Разберемся, как мы в стартапе NFCKEY работаем в этом направлении. Затронем особенности, которые возникают в связи с условиями стартапа и IoT‑тематикой проекта. Ответим на вопрос: «Сложно ли переучиться и пойти в сферу мобильной разработки?».
Статья специально написана простым языком, где многие вещи объясняются на пальцах, чтобы материал был понятен для всех и давал представление о сфере в целом, а не только о тонкостях разработки.
Главная задача статьи — объяснить для начинающих ключевые особенности мобильной разработки, а для людей, имеющих опыт — поделиться сложностями перехода в сферу мобильных устройств и возможными направлениями в ней. На примере функций нашего приложения продемонстрируем, какие задачи решаются в мобильной разработке.
SwiftUI уроки (часть 2)
Если вы уже ознакомились с первой частью, то у вас есть базовое понимание что из себя представляет SUI и знаете как отобразить текстовый контент, в этой части давайте познакомимся с элементом отображающим изображения.
Как работает async/await в Swift
Функция async/await в Swift появилась в iOS 15, и я полагаю, что на данный момент вы уже знаете, как ее использовать. Но задумывались ли вы когда-нибудь о том, как работает async/await изнутри? Или, может быть, почему выглядит и ведет себя именно так? Или даже почему вообще была представлена?
В типичной для SwiftRocks манере мы углубимся в компилятор Swift, чтобы ответить на вопросы о том, как работает async/await внутри. Это не инструкция по использованию async/await, а глубокое погружение в историю и реализацию этой функции, чтобы понять, как она работает, почему она работает, чего можно добиться с ее помощью и, самое главное, какие нюансы следует учитывать при работе с ней.
Пути внедрения поддержки скриптов в Dart/Flutter
А что, если я скажу вам, что есть ряд способов изменения бизнес-логики мобильных приложений без проверки сторами?
«Бред!»- ответят скептики. «Выкладывай!» - ответят энтузиасты.
В рамках данной статьи я предлагаю вам рассмотреть возможные пути для интеграции функционала выполнения скриптов в ваши Dart/Flutter приложения.
Самый простой CI/CD пайплайн для flutter приложения с Codemagic. Часть 2
В предыдущей статье мы рассмотрели, как организовать самый простой CI/CD для сборки под Android через Codemagic.
Сегодня рассмотрим, как сделать похожее для iOS. Я также приведу небольшие хитрости, которыми иногда можно пользоваться, но с большой осторожностью.
Task и structured concurrency в swift
В данной части из серии статей про Swift concurrency мы подробно остановимся на сущности под названием Task и разберем на примерах, как с ней работать. Также поговорим про structured concurrency. Что это такое, как это понятие связано с Task и почему механизмы языка async/await structured, но не concurrent.
Помимо этого, мы разберем инструменты и механизмы structured concurrency. Среди них async let
, Task hierarchy и Task cancellation. И, как обычно, не оставлю вас без примеров применения этого букета конкуррентности.
Помощь на старте: 10 полезных ссылок для начинающих iOS-разработчиков
Всем привет! Меня зовут Денис Сурков, я iOS-разработчик в компании «Мой спорт» и наставник на курсе «iOS-разработчик» в Яндекс Практикуме.
В этой статье хочу поделиться ресурсами и советами, которые помогали мне в начале карьеры. Я рекомендую их студентам, а многими из них сам пользуюсь до сих пор.
Мобильная разработка за неделю #527 (19 — 25 февраля)
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
SwiftUI уроки (часть 1)
В чём особенность этих уроков?
Основаны на книге "Mastering SwiftUI" от Appcoda: Мы берем за основу материал этой книги, но не слепо следуем ей.
Интерпретация и перевод: Мы адаптируем материал книги для русскоговорящей аудитории, делая его более понятным и удобным для восприятия.
Для начинающих и опытных: Эти уроки подойдут как тем, кто только начинает изучать SwiftUI, так и тем, кто хочет узнать что-то новое об этом фреймворке.
Чего вы можете ожидать?
Пошаговое изучение SwiftUI: Мы будем проходить все основные темы, от простых до сложных.
Практические примеры: Вы сможете закрепить полученные знания, выполняя практические задания.
Присоединяйтесь к этой серии!
Ближайшие события
Мобильная разработка за неделю #526 (12 — 18 февраля)
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
Создание кастомного React Native компонента Switch с помощью библиотек Reanimated и Gesture Handler (Часть 2)
Всех приветствую! Это вторая и заключительная часть моего цикла статей по созданию кастомного компонента Switch с помощью библиотек Reanimated и Gesture Handler. Здесь мы рассмотрим реализацию логики пропса disabled, добавим пару новых фич и напишем обработку изменения состояния value вне компонента.
Топ-5 распространенных практик написания хорошего Swift-кода
Эффективность при написании кода заключается не только в достижении желаемой функциональности, но и в создании кода, который будет производительным, удобным в сопровождении и легко читаемым. В Swift то, как вы пишете код, может оказывать сильное влияние на общую производительность и user experience ваших приложений. В этой статье мы рассмотрим некоторые ключевые сравнения и практики программирования на Swift, которые могут значительно повысить эффективность вашего кода.
Благодаря этим сравнениям вы получите более глубокое понимание того, как определенные методы написания кода в Swift могут привести к более оптимизированным, элегантным и эффективным решениям. Независимо от того, являетесь ли вы опытным разработчиком или только начинаете свой путь, эти знания помогут вам писать Swift-код, который не только хорошо работает, но и достигает оптимальной производительности, читабельности и удобства сопровождения.
Как устроен @State в SwiftUI
Привет! Меня зовут Илья, я iOS разработчик в компании Банки.ру
Уже больше двух лет наше приложение мы пишем на SwiftUI.
В статье расскажу о Property Wrapper'е @State.
Камера как сканер штрих-кодов: проблемы, инструменты и эксперименты
Всем привет, меня зовут Никита, я старший разработчик в компании Озон и работаю над iOS-приложением «Пункт Озон».
«Пункт Озон» — это мобильное приложение для работников и менеджеров пункта выдачи заказов (далее просто ПВЗ). В приложении множество различных разделов для повседневной работы. Самые популярные разделы — это «Приёмка», «Выдача» и «Инвентаризация», что в мобильной, что в web-версии. Именно они помогают выполнить главные задачи работников ПВЗ — принять заказы на баланс и позже выдать их клиентам.
Для скорости работы и защиты от ошибок работники ПВЗ производят эти действия через сканирование штрих-кодов, расположенных на самих заказах или на тарах, в которых они приезжают. Если брать web-версию, то там «все просто»: покупается нормальный/качественный отдельный сканер, подключается к ПК — и проблем, считай, нет. А вот с мобильным приложением дела обстоят немного не так. У смартфона есть только камера, и она явно не проектировалась под задачу «сканируем только штрих-коды». Но с другой стороны, камера делает фотографию, а раз у нас есть фотография, то можно там найти штрих-код. К счастью, Apple и Google предоставляют нам инструментарий для этого.
А раз я iOS-разработчик, то и рассказывать я вам буду о нашем iOS-приложении. И сегодня у нас в меню:
• с какими проблемами столкнулись пользователи при использовании мобильного сканера, и почему мы стали искать возможность его улучшения;
• сравнение инструментов, которые предлагает Apple;
• технический обзор одного из них;
• история его внедрения в наше приложение и конечные результаты.
Опровергаю пять архитектурных заблуждений
Привет! Я Алексей, iOS-разработчик в Тинькофф. Участвую в развитии архитектуры приложения, провожу собеседования и занимаюсь менторингом разработчиков.
За мой рабочий опыт у меня сложилось ощущение, что в среде мобильной разработки есть недопонимание ключевых принципов архитектуры. Хочется десакрализировать тему архитектуры, раскрыть некоторые принципы, по которым она строится, и разобрать популярные заблуждения, с которыми я столкнулся. Расскажу, почему бизнес-логика — это не все, кроме UI, с чего начинается архитектура и в чем разница между архитектурными шаблонами и архитектурой.
Мобильная разработка за неделю #525 (5 — 11 февраля)
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
Вклад авторов
-
ProductivityInside 2966.4 -
RoboForm 1892.0 -
PapaBubaDiop 1803.0 -
YourDestiny 1073.6 -
phillennium 836.0 -
alizar 751.9 -
redmadrobot 652.0 -
akaDuality 406.0 -
krokhmalyuk 384.0