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

Компания MobileUp временно не ведёт блог на Хабре

Сначала показывать

iOS Storyboards: анализ плюсов и минусов, best practices

Время прочтения 14 мин
Просмотры 18K
Блог компании MobileUp Разработка под iOS *Разработка мобильных приложений *


Apple создала Storyboards, чтобы разработчики могли визуализировать экраны iOS-приложений и связи между ними. Не всем понравился этот инструмент, и на то есть разумные причины. Я встречал много статей с критикой Storyboards, однако так и не нашел подробного и непредвзятого анализа всех плюсов и минусов с учетом best practices. В итоге я решил написать такую статью сам.
Читать дальше →
Всего голосов 32: ↑30 и ↓2 +28
Комментарии 11

Смотрю и слушаю где хочу. Интегрируем Chromecast в Android-приложение

Время прочтения 12 мин
Просмотры 12K
Блог компании MobileUp Работа с видео *Разработка мобильных приложений *Разработка под Android *Kotlin *
Туториал


На улице я часто слушаю аудиокниги и подкасты со смартфона. Когда прихожу домой, мне хочется продолжить слушать их на Android TV или Google Home. Но далеко не все приложения поддерживают Chromecast. А было бы удобно.


По статистике Google за последние 3 года, количество девайсов на Android TV увеличилось в 4 раза, а число партнеров-производителей уже превысило сотню: «умные» телевизоры, колонки, TV-приставки. Все они поддерживают Chromecast. Но в маркете ещё много приложений, которым явно не хватает интеграции с ним.


В этой статье я хочу поделиться своим опытом интеграции Chromecast в Android-приложение для воспроизведения медиа-контента.

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

Все, что нужно знать об iOS App Extensions

Время прочтения 7 мин
Просмотры 17K
Блог компании MobileUp Разработка под iOS *Разработка мобильных приложений *


App Extensions появились в iOS 8 и сделали систему более гибкой, мощной и доступной для пользователей. Приложения могут отображаться в виде виджета в Центре Уведомлений, предлагать свои фильтры для фотографий в Photos, отображать новую системную клавиатуру и многое другое. При этом сохранилась безопасность пользовательских данных и системы. Об особенностях работы App Extensions и пойдёт речь ниже.
Читать дальше →
Всего голосов 24: ↑24 и ↓0 +24
Комментарии 4

Свежий взгляд на отображение диалогов в Android

Время прочтения 9 мин
Просмотры 25K
Блог компании MobileUp Разработка мобильных приложений *Разработка под Android *


На картинке первая мысль читателя, который недоумевает, что можно написать про такую простую задачу как отображения диалога. Аналогично думает и менеджер: «Тут ничего сложного, наш Вася за 5 минут сделает». Я, конечно, утрирую, но на самом деле всё не так просто, как кажется на первый взгляд. Особенно если мы говорим про Android.


Итак, на дворе шёл 2019 год, а мы всё ещё не умеем нормально показывать диалоги.

Читать дальше →
Всего голосов 32: ↑30 и ↓2 +28
Комментарии 24

Как тестировать смарт-контракты

Время прочтения 7 мин
Просмотры 9.3K
Блог компании MobileUp Тестирование IT-систем *Node.JS *Solidity *
Туториал
image

Условия смарт-контракта нельзя изменить. Поэтому всякий раз, когда вы создаёте смарт-контракт, нужно убедиться, что он работает правильно. Тестирование — безопасный способ проверить контракт в разных ситуациях. В этом туториале вы узнаете, какие шаги для этого нужно предпринять.
Читать дальше →
Всего голосов 20: ↑15 и ↓5 +10
Комментарии 4

Как создавать нестандартные фигуры с помощью MaterialShapeDrawable

Время прочтения 5 мин
Просмотры 5.5K
Блог компании MobileUp Разработка мобильных приложений *Разработка под Android *
Перевод
image

В Material Design 2.0 появилось несколько новых концепций. Одна из них — особое внимание к геометрическим формам элементов интерфейса. И есть простой способ делать красивые нестандартные формы. Он называется MaterialShapeDrawable. Давайте разберемся, насколько он полезен и прост в использовании.

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

Material 2.0 для разработчиков. Краткий обзор новых компонентов

Время прочтения 7 мин
Просмотры 43K
Блог компании MobileUp Интерфейсы *Разработка под Android *Дизайн мобильных приложений *


В мае на Google I/O мы впервые увидели Material Design 2.0. Команда Google провела крупный рефакторинг и выпустила обновленную библиотеку дизайна. В ней появились новые компоненты и анимации. Мы следим за развитием Material Components с самого начала. Сейчас все находится на стадии RC1, и уже скоро выйдет в релиз. Под катом обзор новых и обновленных UI-компонентов для тех, кто еще не пробовал их в работе, но интересуется.

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

Что такое Scholarship от Apple и почему это больше, чем просто билет на WWDC

Время прочтения 5 мин
Просмотры 5.3K
Блог компании MobileUp Разработка под iOS *Разработка мобильных приложений *Разработка под MacOS *Конференции

image


Билет на WWDC стоит $1600, и чтобы его получить, нужно участвовать в лотерее. Для студентов со всего мира Apple каждый год устраивает конкурс, в котором можно выиграть бесплатный билет на конференцию и получить другие приятные бонусы. В этом году мне повезло выиграть Scholarship. Я посетил конференцию, теперь готов поделиться впечатлениями и рассказать, чем мой билет на WWDC отличался от обычного.

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

Она вам не Android. Особенности разработки под Wear OS

Время прочтения 9 мин
Просмотры 15K
Блог компании MobileUp Разработка мобильных приложений *Разработка под Android *Разработка для интернета вещей *



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

Поехали
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 14

Переход из тестировщика в руководители проектов

Время прочтения 5 мин
Просмотры 21K
Блог компании MobileUp Тестирование IT-систем *Разработка мобильных приложений *Тестирование мобильных приложений *Управление проектами *


Обычно на должность руководителя проектов в IT-компании требуются люди с опытом от 1 года. Поэтому часто неопытные менеджеры устраиваются на работу аналитиками, тестировщиками, иногда даже разработчиками.


Если хорошо себя проявить, то со временем вам будут доверять больше управленческих задач. При этом не всегда получается отказаться от старых обязанностей. Приходится совмещать две роли на проекте. Так и я, имея опыт в тестировании и аналитике, дополнительно стала получать задачи руководителя проекта. Со временем я полностью перешла в управление проектами.


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

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

RxPM — реактивная реализация паттерна Presentation Model

Время прочтения 9 мин
Просмотры 13K
Блог компании MobileUp Разработка мобильных приложений *Проектирование и рефакторинг *Разработка под Android *

Через полгода после выхода прошлой статьи о сравнении RxPM c другими презентационными паттернами мы с Jeevuz, наконец, готовы представить библиотеку RxPM — реактивную реализацию паттерна Presentation Model. Давайте сделаем небольшой обзор основных компонентов библиотеки и покажем, как их использовать.


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

Пулл-реквесты с эмпатией

Время прочтения 4 мин
Просмотры 6.4K
Блог компании MobileUp Программирование *Проектирование и рефакторинг *Промышленное программирование *
Перевод


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

Разработка высококачественных программ сильно зависит от того, насколько качественное ревью кода делают коллеги. Это помогает обнаружить ошибки, избежать двойной работы и в целом обеспечить лучшее качество кода с меньшими усилиями. Код ревью — это критически важная часть процесса разработки.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 8

Как сделать gif-анимацию для Behance и Dribbble?

Время прочтения 2 мин
Просмотры 55K
Блог компании MobileUp Веб-дизайн *Дизайн мобильных приложений *
Туториал


Дизайнерам бывает сложно переводить анимированный ролик в gif и подстраиваться под ограничения анимации для Behance и Dribbble.

Есть много статей о том, как быстро сделать анимацию в Principle, Flinto и других редакторах, но нет ничего о том, как её готовить конкретно для Behance и Dribbble.

Мы протаптывали эту тропинку сами и поняли, какой способ для нас оптимальный. Статья будет полезна тем, кто ещё не разобрался.
Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 2

Шпаргалка по тестированию требований к мобильным приложениям

Время прочтения 9 мин
Просмотры 83K
Блог компании MobileUp Разработка под iOS *Разработка мобильных приложений *Разработка под Android *Тестирование мобильных приложений *

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


Статья ориентирована на тестировщиков, которых просят провести ревью ТЗ и найти в нём несоответствия, и на аналитиков, которым разработчики после прочтения ТЗ часто задают вопросы формата: «А что должно быть, если …?».

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

Заблуждения Clean Architecture

Время прочтения 15 мин
Просмотры 346K
Блог компании MobileUp Программирование *Разработка мобильных приложений *Проектирование и рефакторинг *Разработка под Android *
Превращаем круги в блоки

­­ 


На первый взгляд, Clean Architecture – довольно простой набор рекомендаций к построению приложений. Но и я, и многие мои коллеги, сильные разработчики, осознали эту архитектуру не сразу. А в последнее время в чатах и интернете я вижу всё больше ошибочных представлений, связанных с ней. Этой статьёй я хочу помочь сообществу лучше понять Clean Architecture и избавиться от распространенных заблуждений.

Читать дальше →
Всего голосов 58: ↑56 и ↓2 +54
Комментарии 200

Тестирование и обзор Core ML

Время прочтения 5 мин
Просмотры 21K
Блог компании MobileUp Разработка под iOS *Разработка мобильных приложений *Swift *Машинное обучение *
Туториал

На WWDC’17 Apple представила новый фреймворк для работы с технологиями машинного обучения Core ML. На основе него в iOS реализованы собственные продукты Apple: Siri, Camera и QuickType. Core ML позволяет упростить интеграцию машинного обучения в приложения и создавать различные «умные» функции с помощью пары строчек кода.


image

Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 2

Туториал по AsyncDisplayKit 2.0 (Texture): автоматическая компоновка

Время прочтения 10 мин
Просмотры 5.9K
Блог компании MobileUp Разработка под iOS *Разработка мобильных приложений *
Туториал
Перевод


Добро пожаловать во вторую часть серии статей по AsyncDisplayKit (Texture)!


Система компоновки AsyncDisplayKit позволяет писать невероятно быстрый, декларативный код.


Помимо быстрой настройки, она автоматически адаптируется к устройству, на котором запущено приложение. Допустим, вы пытаетесь создать узел, который можно использовать во view controller приложения или в качестве popover в приложении для iPad. Если его layout будет правильно создан, вы сможете перенести узел в эту новую среду, не беспокоясь об изменении базового кода макета!

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

Туториал по AsyncDisplayKit 2.0 (Texture): Начало работы

Время прочтения 16 мин
Просмотры 13K
Блог компании MobileUp Разработка под iOS *Разработка мобильных приложений *
Туториал
Перевод


«Искусство – это все, что вы можете сделать хорошо. Все, что вы можете сделать качественно» (Robert M. Pirsig).


От переводчика:
С появлением autoLayout создавать интерфейс iOS-приложения стало намного проще и быстрее. Вам больше не нужно думать о подгонке размеров под определенные устройства, autoLayout сделает это за вас. Вычисление происходит на основе констрейнтов относительно ближайших элементов. Чем больше таких зависимостей, тем дольше будет строиться autoLayout, и это основная проблема всех приложений с сложным интерфейсом.
Использование AsyncDisplayKit позволит вам на порядок уменьшить объем работ, выполняемых в основном потоке, и реализовать сложные интерфейсы с минимальным количеством кода. Ребята из Raywenderlich сделали подробный и наглядный туториал по работе с ним. Надеюсь, что перевод статьи поможет вам ещё быстрее освоить этот фреймворк.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 2

Системный подход к тестированию Android-приложений, или О чем молчали разработчики

Время прочтения 8 мин
Просмотры 24K
Блог компании MobileUp Разработка мобильных приложений *Разработка под Android *Тестирование мобильных приложений *

У каждого тестировщика рано или поздно наступает неловкий момент. Обнаружился вредный баг и его необходимо локализовать. По закону подлости баг воспроизводится нестабильно, при непонятных шагах и только на некоторых устройствах. Есть логи, но они не информативны. Разработчик занимается новой функциональностью, он не может отвлечься от текущих задач, пока не будут найдены четкие шаги воспроизведения. Менеджер ждет исправления (надо быстрее, заказчик переживает).


Как внести ясность в такой ситуации? Некуда деваться, пора разбираться, что же там происходит «под капотом» приложения.


Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 18

Реактивные приложения с паттерном RxPM. Прощайте​ MVP и MVVM

Время прочтения 12 мин
Просмотры 39K
Блог компании MobileUp Разработка мобильных приложений *Проектирование и рефакторинг *Разработка под Android *

Уже продолжительное время я размышляю над паттерном RxPM и даже успешно применяю его в «продакшене». Я планировал сначала выступить с этой темой на Mobius, но программный комитет отказал, поэтому публикую статью сейчас, чтобы поделиться с Android-сообществом своим видением нового паттерна.


Все знакомы с MVP и MVVM, но мало кто знает, что MVVM является логическим развитием паттерна Presentation Model. Ведь единственное отличие MVVM от PM – это автоматическое связывание данных (databinding).


В этой статье речь пойдет о паттерне Presentation Model с реактивной реализацией биндинга. Некоторые ошибочно называют его RxMVVM, но корректно будет называть его RxPM, потому что это модификация шаблона Presentation Model.


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



Читать дальше →
Всего голосов 23: ↑20 и ↓3 +17
Комментарии 42
1