Как стать автором
Обновить
251.49
Рейтинг

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

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

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Чаты на вебсокетах. Теперь про бэкенд

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

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

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

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

Новости

HDR-видео и смартфон

Работа с видео *Разработка мобильных приложений *Разработка под Android *Смартфоны Мониторы и ТВ

Каждый, кто хоть чуть-чуть интересуется технологиями, не раз слышал о поддержке технологии HDR смартфонами, мониторами или телевизорами. В этой статье мы попытаемся разобраться, что это за технология, для чего она нужна и насколько хорошо с ней дружат смартфоны. Вы читаете умную статью. А с вами умный чел, разработчик Android-приложения для видеосъемки mcpro24fps, Александр Трофимов. Поехали! (Где-то я подобное уже слышал)

Узнать больше о HDR-видео
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 4.1K
Комментарии 7

Как проводить тестирование на удалёнке и обходиться без тонн разных девайсов. Опыт Surf

Блог компании Surf Программирование *Разработка мобильных приложений *Тестирование мобильных приложений *Удалённая работа

Осень, ковид, «нерабочие дни». Это у разработчиков рабочее место там, где есть компьютер. А вот тестировщикам мобильных приложений на удалёнке гораздо сложнее: им, помимо прочего, нужно много девайсов разных версий и ОС. Наши тестировщики научились работать откуда угодно и не таскать за собой сумку с устройствами. В статье найдёте, как это сделать и вам. 

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 2.3K
Комментарии 0

Python GUI. Библиотека KivyMD. Использование Blur эффекта

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

Приветствую вас, дорогие любители и знатоки Python! Сегодня как всегда будем делать обзор фреймворка для кроссплатформенной разработки Kivy и библиотеки виджетов в стиле Google Material Design для фреймворка Kivy - KivyMD. В этой статье мы рассмотрим как сделать blur эффект отдельных компонентов интерфейса пользователя. Я уже делал похожий обзор в статье Материальный Python. Кастомные карточки с OpenGL-эффектами, но нижеследующий материал несколько сложнее и в прямом смысле динамичнее. Что ж, начнем...

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 3.2K
Комментарии 11

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

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В этой подборке креши на старте и идеальный наблюдатель, новые MacBook Pro в компиляции проектов и эволюция CI, боты в мультиплеере, проблема разлогинов, вопросы удаления функций, фейковые приложения и многое другое!

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

Как и зачем мы встраивали одно Android-приложение в другое

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

Бывают ситуации, когда у заказчиков есть свои экосистемы и несколько приложений, и они решают упаковать их в SDK и встроить в другие, расширив таким образом функционал. SDK — не единичный Fragment/Activity и не набор утилит — это несколько десятков экранов с кучей бизнес-логики, сетевая прослойка, БД, и пара специфических фич, завязанных на камере смартфона.

Рассказываем, как мы встраивали одно Android-приложение в другое на практике и делимся советами, что делать, если вдруг вам придется столкнуться с подобным случаем разработки SDK

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 1.2K
Комментарии 3

Гайд по UIKeyboardLayoutGuide

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

Как правильно готовить автоматизацию или Что покрывать тестами в первую очередь

Блог компании Яндекс.Практикум Python *Разработка мобильных приложений *Тестирование мобильных приложений *
Привет, это Эрик Бурыгин, я техлид курса «Автоматизатор тестирования на Java» в Яндекс.Практикуме и лид в Яндексе. Каждый ручной тестировщик считает, что автоматизация — это круто и её непременно нужно втащить в проект. Что может быть лучше, чем полное покрытие автотестами продукта, когда тесты гоняются 24/7 и отлавливают баги? Вот прочитал я эти строки, и захотелось ещё раз всё заавтоматизировать!



Но, как это часто бывает, при внедрении автоматизации вы тратите много человеческих ресурсов, а профита долгое время не видно. Возникает вопрос о целесообразности этой инициативы. То, что на первых этапах автоматизация отнимает много сил — вполне нормально, но в перспективе она должна экономить время, а не наоборот. Попробуем понять, как этого добиться.
Читать дальше →
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 2.6K
Комментарии 2

Как мы боролись с проблемой разлогинов в приложении «Магнита» и возвращали пользователей обратно

Блог компании Магнит Разработка под iOS *Разработка мобильных приложений *Разработка под Android *Аналитика мобильных приложений *

Всем привет! Меня зовут Антон Огородников, и с начала этого года я руковожу отделом онлайн-разработки в «Магните». Не успел я заонбордиться, как столкнулся с  настоящим коллапсом — массовым лог-аутом пользователей из приложения лояльности «Магнит: акции и скидки». Клиентов разлогинивало в самые неподходящие моменты: например, на кассе во время оплаты товаров. Оценка приложения в сторах упала до 2 баллов, капали негативные комментарии.

В этой статье я расскажу, как мы искали причину и как сумели побороть проблему. 

Решить проблему разлогинов
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 4.8K
Комментарии 45

Кто крешит приложение на старте?

Блог компании Яндекс Разработка под iOS *Разработка мобильных приложений *Swift *

Привет! Меня зовут Александр Денисов, я из команды мобильного Яндекс.Браузера в Санкт-Петербурге. В этом посте расскажу вам, как мы справляемся с циклическими крешами на старте.


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


В качестве примера будет выступать приложение Яндекс.Браузер для iOS: более 100 тысяч исходных файлов, тысячи коммитов в год и около тысячи модулей без учёта ядра (Swift + Objective-C). Кстати, не так давно мы рассказывали, как помогли команде Swift ускорить отладчик.


Циклический креш на старте


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

Как бороться
Всего голосов 20: ↑18 и ↓2 +16
Просмотры 1.8K
Комментарии 8

Apple Watch, статистика и Siri — как мы провели iOS-хакатон

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

Всем привет, меня зовут Семён, я iOS-разработчик в Ситимобиле. 🙋‍♂️

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

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

Эволюция CI в Android

Блог компании HeadHunter Ruby *Разработка мобильных приложений *Разработка под Android *DevOps *

“Твою ж мать, какая же это хтонь!”. Примерно так можно было охарактеризовать все наши инфраструктурные скрипты до недавнего времени. Нужно было что-то менять, и мы сделали это. 

Меня зовут Павел Стрельченко, я – Android-разработчик компании hh. Я расскажу вам как эволюционировали наши CI скрипты на протяжении трех лет, с какими проблемами мы сталкивались, как анализировали их и пытались изменить, а также что вообще делали и к чему в итоге пришли. 

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

Узнать про хтонь
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 1.6K
Комментарии 0

… И убрать 99 из 100. Как разгрести последствия мозгового штурма

Разработка мобильных приложений *Развитие стартапа Робототехника Краудсорсинг Лайфхаки для гиков

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

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

А я начинаю вычеркивать.

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

Запись и воспроизведение голоса, а также отмена записи свайпом вправо с анимацией и изменением иконки на React Native

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

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

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

Handler vs RX vs Kotlin. Наглядный пример преимущества корутин

Разработка мобильных приложений *Разработка под Android *Kotlin *
Из песочницы

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

Каждый, даже начинающий, Android-разработчик знает, что основной поток(MainThread) приложения отвечает только за отрисовку экрана и рендеринг view’шек. Остальные операции такие как выгрузка данных с сервера, из файловой системы, базы данных и т.д. должны выполняться в отдельно потоке дабы не перегружать основной поток, ускорить работу приложения, избежать всякого рода крэшей и т.д.. Для этих целей существует множество способов такие как корутины, handler, AsyncTask, RX и т.д.. В данной статье мы не будем говорить про deprecated методы такие как например AsyncTask, а рассмотрим только 3: корутины, handler и RX.

Читать далее
Всего голосов 12: ↑8 и ↓4 +4
Просмотры 3.2K
Комментарии 16

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

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В нашем новом дайджесте последствия App Tracking Transparency и борьба с зависимостями, новые MacBook Pro и летающая пицца, идеальный код, оффбординг, траты жителей разных стран на приложения и многое другое!

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

Работа с ML Kit в Android: как распознавать штрихкоды

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

Первую в мире покупку по штрихкоду относят к 26 июня 1974 года – это была упаковка жевательной резинки в одном из супермаркетов США. Считывая информацию со штрихкода, по различным оценкам, можно ускорить операции с товарами в среднем на 30%. Сейчас штрихкоды сканируют и продавцы, и работники склада, и покупатели – например, если они хотят сделать покупку на кассе самообслуживания.

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

ML Kit – это бесплатный мобильный SDK от Google, который позволяет использовать машинное обучение на устройствах с операционными системами Android, iOS и Flutter. В мобильной разработке это, пожалуй, простейший способ для добавления нейронных сетей в приложение. В свою очередь, это позволяет упростить реализацию некоторых функций.

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 1.1K
Комментарии 6

Локализация и мультиязычность во Flutter

Блог компании Alconost Разработка мобильных приложений *Локализация продуктов *Flutter *
Перевод

您好,让我们了解如何制作为您的用户提供本地化的应用程序。

Ничего не поняли? Я тоже! А теперь представьте, что пользователь тоже не понимает язык, на котором отображается интерфейс вашего приложения, и удаляет его, едва успев установить. Но это легко исправить: Flutter позволяет разрабатывать приложения, которые будут понятны пользователям.

Как? Смотрите официальную документацию Flutter или следуйте инструкциям в этом руководстве.

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

Летающая пицца в мобильном приложении: как делали промоушен комбо «Дюна»

Блог компании Dodo Engineering Разработка мобильных приложений *Разработка под Android *Kotlin *Дизайн мобильных приложений *

16 сентября в России стартовал фильм по мотивам романа Фрэнка Герберта «Дюна». Команда маркетинга Додо Пиццы часто проводит коллаборации по самым разным поводам и с самыми разными компаниями. «Дюна» не стала исключением — в продаже появилось комбо Дюна в специальной коробке и маска AR в Instagram.

Обычно промоушен в приложении сводился к замене картинок в меню, но в этот раз разработчики решили не оставаться в стороне и немножко покреативить. Команда мобильной разработки захотела привлечь больше внимания к новому комбо «Дюна» в приложении. Задача осложнялась тем, что нужно было всё сделать не просто быстро, а супербыстро из-за переноса фильма на месяц раньше.

Читать далее
Всего голосов 23: ↑21 и ↓2 +19
Просмотры 3.9K
Комментарии 7

Борьба с зависимостями: как мы переводили проект на SwiftPM (и сделали еще хуже, чем было)

Блог компании inDriver Программирование *Разработка под iOS *Разработка мобильных приложений *

Привет, Хабр! Меня зовут Лена, я iOS-разработчик в inDriver. Расскажу о том, как мы выбирали менеджер зависимостей для проекта. Название статьи звучит пессимистично, но на самом деле, все оказалось не так плохо.

Сначала поделюсь тем, как у нас обстояли дела с интеграцией сторонних решений. Затем выделю проблемы и цели, которые перед нами стояли, и перейду к сравнению менеджеров зависимостей. Расскажу, почему остановили свой выбор на Swift Package Manager (SwiftPM) и как на него переезжали.

Погнали!

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

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