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

Разработка мобильных приложений *

Android, iOS, Windows Phone и прочие

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

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

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

Всем привет. Меня зовут Татьяна Цикунова. Я системный аналитик в компании МойСклад. В этой статье расскажу о том, как организовать оперативный обмен информацией между участниками проекта и поддерживать документацию в актуальном состоянии Отдельное внимание уделю работе с таск‑трекерами — подробно опишу шаблон тикета, который успешно используется в нашей компании. Однако — если вы работаете без трекера задач, например, в ворд‑файлах, суть от этого не меняется ‑такой подход работает и с другими инструментами.

Я документирую системы больше 3 лет, и за это время успела поработать в разных сферах.. Начинала в финтехе, где успела поработать в разных командах. Потом перешла в МойСклад — здесь углубилась в e‑commerce направление. Сейчас вместе с командой делаем интеграции с интернет‑магазинами и маркетплейсами. За годы работы я убедилась, что не существует единого стандарта ведения документации — каждая компания и даже отдельные команды внутри одной организации вырабатывают свои подходы. маркетплейсами. В разных компаниях свой подход к ведению документации, даже в разных командах одной компании бывают разные подходы.

Однажды в МоемСкладе мы задумались: почему бы не начать системно собирать важные данные, которые появляются на разных этапах разработки? Ведь эти сведения могли бы стать отличной основой для обновления документации к реализованному ПО. Так и появились требования и рекомендации по описанию тикета.

Читать далее

WWDC 2025. Чем Apple ответит Google, и что нас ждет

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

Всем привет! С вами снова я, Анна Жаркова, руководитель мобильной практики компании Usetech. Буквально только что прошел основной кейноут WWDC 2025 от Apple, анонсированы основные тематические сессии, и пришло время обсудить, какие же основные тренды iOS разработки нас ожидают, чему мы будем учиться, какие практики осваивать и про что слушать и смотреть доклады на мероприятиях. Сессии можно найти на портале. Обратите внимание, что на сайте изменилось оформление, и сессии разбиты сразу по темам. Непонятно, это часть сессий, или Apple решили опубликовать все сразу, как делает Google, но они явно решили отойти от прежнего подхода.

Итак, что же нового нам представили.
— дизайн-систему Liquid Glass (ответ Expressive Material Google),
— расширенный функционал виджетов и Live Activity,
— мощный iPad OS с поддержкой многооконных приложений, панелью меню, как у MacOS, с портированными приложениями для MacOS,
— улучшения для VisionOS и пространственных вычислений,
— расширенная поддержка и улучшения других устройств экосистемы Apple, включая часы и машины,
— умные функции систем Visual Intelligence и Apple Intelligence совместно с ChatGPT,
— особое внимание перформансу и фоновым задачам (включая iPad OS)
и многое другое, например, улучшения для разработки игр, TVOS и разные библиотеки для отслеживания показателей здоровья.

Самим громким нововведением стали не доработки по AI, а дизайн-система Liquid Glass (не трогаем ассоциации). Новый «стеклянный эффект» получил UI всех устройств экосистемы Apple. Полупрозрачные иконки со свечением, особая анимация и механика движения у многих ассоциируются и с Windows Vista, и с Material Design:
image
Информация по работе с новой дизайн-системой включена практически во все видео тематической недели.
Другим новинкам API разработки и Xcode было посвящено на кейноуте относительно немного времени. По традиции, вся информация будет именно в сессиях.
Читать дальше →

Dart 3.8 — что нового в Dart?

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

Этот релиз приносит обновления форматера, null-aware элементы для коллекций, новые возможности кросс-платформенной разработки, лучший способ находить трендовые пакеты на pub.dev, доступность горячей перезагрузки (hot reload) для веба и многое другое! Мы также надеемся, что найдутся разработчики, заинтересованные в участии в нашей программе раннего доступа к FFigen и JNIgen.

Читать далее

Optional vs Nullable на стыке технологий

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

При разработке современных приложений важнейшую роль играет качество клиент‑серверного взаимодействия. Для достижения стабильной связи между мобильными и веб приложениями и серверной частью необходимо стремиться к созданию надежного и эффективного механизма обмена данными. Это подразумевает создание устойчивого API, которое трудно сломать даже при изменениях в архитектуре сервера, а также легкость интеграции новых клиентов.

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

Читать далее

Offline First в мобильных приложениях. Кэширование

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

Привет, Хабр! Это Ахмед Шериев, сооснователь стартапа VoxOps, а сегодня — еще и гостевой автор блога Friflex. Моя статья — про опыт разработки офлайн-приложений. 

Я делал офлайн-поддержку в приложениях на самых разных языках. Как вовремя и успешно, так и с факапами. Например, обещал за две недели внедрить офлайн, а потом появлялись скрытые кейсы, и разработка затягивалась до месяца, двух, трех… 

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

Я внедрял поддержку offline как в роли разработчика, так и в роли руководителя и директора по разработке. Поэтому тема мне хорошо знакома с обеих сторон. Кто помнит, с ней я выступал на CrossConf.

Читать далее

Использование wildcard-переменной _ в Dart 3

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

С выходом Dart 3 в язык были добавлены значительные нововведения, включая рекорды, паттерн-матчинг и модификаторы классов. Данная статья посвящена менее обсуждаемой, но полезной возможности, улучшающей чистоту и выразительность кода — wildcard-переменной, обозначаемой символом _.

Символ _ в определенных контекстах позволяет явно указать на намерение разработчика проигнорировать некоторое значение. Рассмотрим сценарии использования и преимущества этого механизма.

Читать далее

SwiftUI или UIKit: что выбрать для iOS-приложений?

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

Привет, Хабр! Сегодня мы в коротком формате сравним SwiftUI и UIKit: где SwiftUI реально выигрывает, а где старый добрый UIKit остаётся незаменимым.

Читать далее

Календарь тренировок — когда пет-проект чуть больше to-do листа

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

В декабре 2023 я впервые задумался о похудении. Тогда при росте 194 см я весил 116 кг. Раньше я только играл в мини-футбол, вообще не следил за едой и даже не заглядывал в спортзал.

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

Сейчас, через полгода, вешу 89 кг. Оказалось, что нарастить мышцы намного труднее, чем избавиться от жира. Надеюсь, что эти +3 кг в основном мышцы. Почему так: теперь могу подтянуться 11 раз вместо 9, и на фото видны изменения — делаю такие сравнения каждые пару месяцев.

Читать далее

XR-технологии на практике: создаем иммерсивное приложение в Unity

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

Будущее за иммерсивными технологиями? Уже сейчас они стремительно развиваются и находят применение в различных сферах жизни — здравоохранении, образовании, развлечениях и бизнесе. Расширенная реальность, XR (Extended Reality) открывает новые горизонты взаимодействия человека с окружающим миром, объединяя виртуальную (VR), дополненную (AR) и смешанную реальность (MR). 

Привет, Хабр! Меня зовут Андрей, я С#-разработчик в компании SimbirSoft. В этой статье хочу поделиться практикой создания простых приложений в Unity, где реализуются XR-технологии. Для наглядности и более детального понимания особенностей разработки рассмотрим их применение в промышленной сфере на примере станка TV16. По нашему замыслу (с командой) с помощью XR-технологий можно демонстрировать его потенциальным клиентам, а также обучать новых сотрудников.

Читать далее 🦾

Как мы «рисовали» учет времени на iOS с помощью библиотеки Charts

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров1.2K
Привет, Хабр! Меня зовут Валентин Страздин, я — ведущий iOS-разработчик в команде мобильной разработки «Лаборатории Касперского», где мы создаем решения для защиты мобильных устройств и для родительского контроля детских устройств.

Недавно мы обновляли наше приложение родительского контроля и мониторинга Kaspersky Safe Kids — и в ходе редизайна пришли к выводу, что «родительские» графики активности детского устройства стали громоздкими и неудобными. Нам же требовался виджет, в котором была бы видна актуальная информация о времени использования устройства, интервалах блокировок и еще ряд полезных деталей.

В статье расскажу, как мы быстро решили эту проблему благодаря open-source-библиотеке Charts: в чем ее особенности и нюансы, как мы ей пользуемся и как смогли локализовать такую систему даже для арабских пользователей.

image

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

Как превратить монолитную архитектуру в микросервисную — и зачем

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

Привет, Хабр! Я Расим Сулейманов, инженер-программист в ПСБ. Микросервисная архитектура приложений становится все более популярной, особенно среди крупных команд разработчиков. У этого подхода есть много преимуществ по сравнению с монолитом, но перейти на него получается не у каждого проекта. В этой статье разбираю на примерах, как превратить монолитную архитектуру в микросервисную, и рассказываю, зачем это делать.

Читать далее

Нюансы разработки PWA для Банка Санкт-Петербург от первого лица

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

Классический мобильный банкинг для физлиц - это нативные приложения под iOS и Android. В силу санкционного давления и стремления к оптимизации процесса разработки наш клиент переходил на PWA (Progressive Web Application). Логичный шаг - так делают многие компании, попавшие под ограничения магазинов приложений.

Мы уже подходили к идее создать PWA около двух лет назад и уперлись в огромное количество проблем. Если верить презентациям, все нужные технологии доступны и должны работать очень гладко. Но взаимодействуя с API, на каждому углу мы обо что-то спотыкались. Поддержка PWA зависит от платформы (iOS / Android) и версии браузера. В Android Google Chrome поддерживает большинство нативных функций для PWA, а вот в iOS ограничений в самой системе, связанных с безопасностью, больше.

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

Читать далее

Surf-итоги кода: Flutter, Android и iOS в 2024-м

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

Да-да, мы назвали статью «Итоги кода» — и кто нам что-то скажет.

На самом деле, нам захотелось вспомнить, что важного и интересного произошло в уходящем году. Зачем? Чтобы понять, как это повлияет на год предстоящий.

Располагайтесь удобнее, возьмите чашечку любимого горячего напитка и погрузитесь в итоговую идиллию новостей и результатов от Flutter, Android и iOS-команд Surf.

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

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

Flutter в своей продакшн-эре и другие откровения на Flutter in Production

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

Привет, Хабр! Я Юра Петров, Tech Lead в Friflex и автор телеграм-канала «Мобильный разработчик»

Смотрели Flutter in Production? В этой статье расскажу, что говорит команда Flutter о прошлом, настоящим и будущем фреймворка, и отмечу, что показалось особенно интересным.

Читать далее

Диалог — часть навигации или нет?

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

Как в вашей навигации устроена работа с диалогами? В статье я делаю обзор на то что такое Диалог в Material Design на Android. Когда это считается компонент, а когда это визуальный стиль и почему не надо помещать в навигацию то, что хочется открыть чтобы потом с этим...

Читать далее

Как написать Android приложение, которое не будет стыдно положить в портфолио. Гайд для новичков в Android разработке

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

Гайд по написанию Android-приложения с нуля, используя лучшие архитектурные подходы – Clean Architecture и MVI, они обеспечат поддерживаемость, тестируемость и масштабируемость приложения, что особенно важно для сложных и долгосрочных проектов.

Читать далее

Крутить или не крутить?

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

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

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

Читать далее

Забудьте про терминал! Как я избавлялся от рутинных ADB команды с помощью Shortcuts

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

До этого года я спокойно пользовался терминалом для установки android приложений на тестовые устройства: каждый раз вручную копировал название файла, выбирал нужную команду из истории терминала, стирал старое название и вставлял новое. Это меня очень раздражало, но я не искал решений.

А ведь кроме установки, есть множество других команд ADB, которые приходится использовать время от времени. Например, отправка фалов на устройство или выгрузка последних логов из logcat на компьютер, для чего тоже нужно было прописывать путь для сохранения файла — очень неудобно и отнимает драгоценное время.

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

В конце статьи ссылки на готовые команды 🌚

Читать далее

История одного модального окна или переходим с UIKit на SwiftUI. Часть 1

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

Всем добрый день. Хочу поделиться с вами проблемами постепенного внедрения SwiftUI в приложение, полностью написанное на UIKit, а так же моими вариантами их решения.

Читать далее

Пишем свой генератор ID для мобильных приложений

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

Привет, меня зовут Андрей Богомолов, я Android-разработчик в команде Performance приложения Wildberries. 

Однажды, работая с кодом, я обратил внимание на использование UUID в UI и задумался об его влиянии на производительность. Тесты показали, что собственное решение может быть значительно быстрее стандартной реализации UUID в Java.

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

Читать далее

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