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

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

Сначала показывать
  • Новые
  • Лучшие

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

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


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

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

MobileUpРабота с видеоРазработка мобильных приложенийРазработка под AndroidKotlin
Tutorial


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


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


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

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

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

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


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

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

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


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


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

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

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

MobileUpТестирование IT-системNode.JSSolidity
Tutorial
image

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

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

MobileUpРазработка мобильных приложенийРазработка под Android
Перевод
image

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

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

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

MobileUpИнтерфейсыРазработка под AndroidДизайн мобильных приложений


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

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

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

MobileUpРазработка под iOSРазработка мобильных приложенийРазработка под MacOSКонференции

image


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

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

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

MobileUpРазработка мобильных приложенийРазработка под AndroidРазработка для интернета вещей



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

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

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

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


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


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


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

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

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

MobileUpРазработка мобильных приложенийПроектирование и рефакторингРазработка под Android

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


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

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

MobileUpПрограммированиеПроектирование и рефакторингПромышленное программирование
Перевод


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

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

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

MobileUpВеб-дизайнДизайн мобильных приложений
Tutorial


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

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

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

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

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

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


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

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

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

MobileUpПрограммированиеРазработка мобильных приложенийПроектирование и рефакторингРазработка под Android
Превращаем круги в блоки

­­ 


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

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

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

MobileUpРазработка под iOSРазработка мобильных приложенийSwiftМашинное обучение
Tutorial

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


image

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

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

MobileUpРазработка под iOSРазработка мобильных приложений
Перевод
Tutorial


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


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


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

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

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

MobileUpРазработка под iOSРазработка мобильных приложений
Перевод
Tutorial


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


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

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

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

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


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


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

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

MobileUpРазработка мобильных приложенийПроектирование и рефакторингРазработка под Android

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


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


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


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



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