Рубрика «разработка приложений»

image
Как я уже упоминал в предыдущем материале, компонент Lifecycle призван упростить работу с жизненным циклом, а имено избежать калбеков с Activity/Fragment в наш компонент, который должен реагировать на события жизненого цикла. В этой статье, мы подробно разберем как он устроен и как с ним работать.

Сам компонент состоит из классов: Lifecycle, LifecycleActivity, LifecycleFragment, LifecycleService, ProcessLifecycleOwner, LifecycleRegistry. Интерфейсов: LifecycleOwner, LifecycleObserver, LifecycleRegistryOwner.

Lifecycle — класс, который хранит информацию про состояние жизненного цикла и разрешает другим объектам отслеживать его c помощью реализации LifecycleObserver. Состоит из методов: addObserver(LifecycleObserver), removeObserver(LifecycleObserver) и getCurrentState(). Как понятно из названий для добавления подписчика, удаления и соответственно получения текущего состояния.
Читать полностью »

image

На Google I/O 2017, было представлено набор библиотек под названием Android Architecture Components. В нескольких словах — это ряд вспомогательных библиотек, которые призваны помочь с такими вещами как, проектирование, тестирование и сопровождение приложений. То, что команда разработки Android начала акцентировать внимание на архитектуре не может не радовать, поскольку проблема является действительно актуальной. Ведь изначально не было предоставлено никаких требований или гайдлайнов по проектированию, и разработчику приходилось отталкиваться от своего предыдущего опыта. Что, в свою очередь, вызывало сложности в сопровождении проекта, а также сомнительные решения для специфических для ОС ситуаций. По факту это не первые шаги в этом направлении. Ранее уже Google представил репозиторий android-architecture с примерами применения разных архитектурных концептов. Надеемся, что развитие будет дальше и может на следующем Google I/O мы сможем увидеть полноценный фреймворк.
Читать полностью »

Предыстория

фрустрация и решение

Привет. В начале зимы 2016 года я снова стал одинок. Спустя какое-то время я решил завести себе профиль в Tinder. Всё бы ничего, но постепенно стала накапливаться усталость из-за невозможности нормально печатать на физической клавиатуре. Мне виделось несколько решений этой проблемы:

  • Смириться и продолжать использовать официальное приложение для смартфона
  • Использовать BlueStacks с официальным приложением на Android
  • Использовать существующие клиенты для десктопа (Tinder++)
  • Написать свой

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

Читать полностью »

«Программное обеспечение поглощает мир» – знаменитый постулат Марка Андриссена сегодня актуален как никогда. Возглавляют «революцию кода» разработчики – именно десятки тысяч приложений сделали iOS и Android универсальными платформами, на которых, кажется, есть решение для любой задачи. Однако на десятом году, кажется, мобайл начинает поглощать сам себя, и нужно искать новые рынки. Один из таких рынков совершенно неожиданно образовался благодаря нашему правительству.

Рынок приложений для касс: первая конференция CHANGE - 1Читать полностью »

Утечки памяти в Android и способы их локализации - 1

На одном из проектов столкнулась с утечками памяти. Воспользовалась первым правилом разработчиков — загуглила. К моему глубокому разочарованию нашла много статей для программистов и совсем чуточку для тестировщиков. Большинство публикаций датированы 2011-2014 годом.

Ниже информация об утечках памяти, которая пригодится в 2017 году. Расскажу, чем их наличие грозит приложению, и перечислю несколько подходов к локализации.
Читать полностью »

Уже завтра открывается новая WWDC, а пока мы обсуждаем новый смартфон Энди Рубина, успехи инди-игр, архитектуру Android-приложений, искусственный интеллект и распознавание изображений, работу с отзывами и бесконечное ASO.

Дайджест интересных материалов для мобильного разработчика #205 (29 мая-04 июня) - 1Читать полностью »

Привет! Пока наши разработчики трудятся над созданием хардкорных статей, прекрасная QA-инженер Ксюша Севридова sevridova_ksenia написала статью о том, как техническому специалисту готовиться и проводить первые собеседования, оценивать кандидатов и принимать решение о найме.

Далее пойдет текст от лица Ксюши.
Как найти того самого тестировщика - 1

В этой статье я расскажу о том, как в компании Devim проводится собеседование на должность QA-инженера, а также поделюсь некоторыми общими мыслями о данном процессе в целом. Для лучшего понимания постараюсь привести достаточно примеров. Речь пойдет о поиске именно ручного тестировщика.

Данная статья не претендует на какую-либо научную точность и истину в последней инстанции. Я делюсь своим опытом проведения собеседований и изучении некоторого количества источников по этой теме. Ну что ж, поехали!
Читать полностью »

Главные новинки этой недели – конечно с I/O 2017. Kotlin стал официальным языком Android разработки, выпуск Android O, Google превращается в AI-first компанию… Но главное, конечно, скрыто «под капотом» — 100 сессий о самых разных аспектах разработки. А кроме них есть антифрод, азиатские рынки, дизайн и многое другое.

Дайджест интересных материалов для мобильного разработчика #204 (15-21 мая) - 1Читать полностью »

В этой статье мы попытаемся рассказать, как с помощью удаленных и территориально распределенных команд мы наладили процесс выпуска прикладных решений, расширяющих функциональность нашего продукта «1С:ERP Управление предприятием 2».
Читать полностью »

Сегодня делимся опытом наших партнеров — компании Try Sports Now — о том, как с помощью фреймворка SceneKit дать приложению вторую жизнь.
«Случается, что приложение, которое долгое время прозябало в безвестности, вдруг начинает набирать популярность среди пользователей и приносить прибыль. Само собой разумеется, что при таком раскладе целесообразно его развивать и обновлять. Одно плохо: может оказаться, что исходный код продукта настолько морально устарел за время отсутствия спроса, что временные затраты на его обновление сопоставимы с ресурсом, уходящим на разработку нового исходника с нуля. С подобной проблемой мы столкнулись в работе с проектом Human Anatomy 3D. В этой статье мы расскажем, как осуществлялся переход новой версии приложения с Unity3D исходников на нативные, и осветим некоторые проблемы возникшие в процессе.

Опыт переноса приложения с Unity3D на iOS sdk и SceneKit - 1
Читать полностью »