Рубрика «mvp» - 3

Введение

При Андроид разработке мы используем разные архитектурные решения(паттерны). Например Mvp, Mvvm, Mvi и т.д… Каждый из этих паттернов решает несколько важных задач и поскольку они не идеальны они нам оставляют кое-какие нерешенные задачи. К примеру этих задач относятся навигация внутри приложения(routing), передача информации с экрана на экран(говоря экран я имею ввиду Activity, Fragment или View), Сохранение состояний приложения при смене конфигурации(configuration change).

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

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

Тема оказалось слишком широка, чтобы уместить её в одну статью. Предлагаю вашему вниманию вступительную часть. В ней пойдёт речь о действиях, которые желательно предпринять ещё до написания технического задания на разработку, чтобы существенно снизить риски неудачи.
Разработка электроники. Выигрышная стратегия технологического стартапа. Часть I - 1
Мир вошёл в эпоху “умных вещей”, что породило интерес к технологическим стартапам, который только растёт год от года. На КС они бьют рекорды по сборам, даже несмотря на то, что достойно выполнить свои обязательства удаётся далеко не всем. За десяток с хвостиком лет попыток работы в роли волшебника воплощающего задумки клиентов и вдыхающего в них жизнь мною накоплено много опыта. Безжалостная статистика говорит о том, что 9 из 10 стартапов терпят фиаско, в моей практике это соотношение менее драматично, но возможно потому, что стараюсь не принимать участие в проектах, изначально имеющих большие шансы на провал. Основываясь на собственном опыте я попытаюсь сформулировать стратегию разработки, повышающую шанс на успех, для технологического стартапа средней сложности и проиллюстрировать её примерами.

О чём пойдёт речь под катом

Не стоит отливать ТЗ в граните.
Сколько денег необходимо для запуска технологического стартапа?
Начинать проверку вашей идеи стоит ещё до начала разработки.
Стратегическая канва — отличный инструмент для проверки конкурентоспособности.
Создание пространства, свободного от конкуренции на реальном примере.
Изучение ближайших аналогов — хорошая практика.
Подбор ключевых компонентов и оценка себестоимости.

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

Привет! Представляю вашему вниманию перевод статьи "Modern Android development with Kotlin (Part 2)" автора Mladen Rakonjac.

Примечание. Данная статья является переводом циклов статей от Mladen Rakonjac, дата статьи: 23.09.2017. GitHub. Начав читать первую часть от SemperPeritus обнаружил, что остальные части почему-то не были переведены. Поэтому и предлагаю вашему вниманию вторую часть. Статья получилась объёмной.

image

«Очень сложно найти один проект, который охватывал бы всё новое в разработке под Android в Android Studio 3.0, поэтому я решил написать его.»
Читать полностью »

Инструмент, который поможет вам выбрать лучшие идеи для продукта - 1

Давайте представим, что вы управляете продуктом, который помогает малому бизнесу осуществлять техническую поддержку своих клиентов. Вы ищете способы увеличить степень вовлечённости (engagement) и возвращаемости (retention) своих клиентов. У вас есть две идеи:

  • Дашборд, который позволит владельцам бизнеса мониторить статистику вовлечённости.
  • Чат-бот, который поможет владельцам бизнеса автоматизировать коммуникацию с потребителями.

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

Что вы выберете?

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

Выбор подходящей архитектуры — ключевая часть построения фронтенда сервиса. Разработчик Анна Карпелевич рассказала студентам Школы разработки интерфейсов, что такое архитектура, какие функции она выполняет и какие проблемы решает. Из лекции можно узнать о наиболее популярных архитектурных подходах во фронтенде: Model-View-Controller и Flux.

— Добрый вечер. Меня зовут Аня Карпелевич. Мы сегодня с вами будем говорить про архитектуру фронтенда верхнего уровня.Читать полностью »

RESS — Новая архитектура для мобильных приложений - 1

Вопреки провокационному заголовку, это никакая не новая архитектура, а попытка перевода простых и проверенных временем практик на новояз, на котором говорит современное Android-комьюнити

Введение

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

Айтишные сайты заполонили туториалы по модным фреймворкам и переусложненным архитектурам, но при этом даже нет best practice для REST-клиентов под Android. Хотя это один из самых частых кейсов приложений. Хочется чтобы нормальный подход к разработке тоже пошел в массы. Поэтому и пишу эту статью
Читать полностью »

Эволюция мобильной архитектуры Reddit - 1

Это первая из статей, где мы рассказываем об архитектуре приложения Reddit под iOS. Здесь речь идёт о функциональности, которая работает ближе к UI. В частности, о переходе к архитектуре Model-View-Presenter (MVP). Преимущества такого рефакторинга:

  • Улучшение гибкости кода, его ясности и поддерживаемости для поддержки будущего роста и ускорения итераций.
  • Повышение производительности прокрутки в 1,58 раза.
  • Стимуляция модульного тестирования. Количество тестов увеличилось с нескольких штук до более 200.

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

Модель конечного автомата (finite-state machine, FSM) находит применение в написании кода для самых разных платформ, включая Android. Она позволяет сделать код менее громоздким, неплохо укладывается в парадигму Model-View-Presenter (MVP) и поддаётся несложному тестированию. Разработчик Владислав Кузнецов рассказал на Droid Party, как эта модель помогает в развитии приложения Яндекс.Диск.

— Вначале поговорим по теорию. Думаю, каждый из вас слышал и про MVP, и про стейт-машину, но повторим.Читать полностью »

Есть ли жизнь без архитектуры? - 1

Основная часть кода большинства современных приложений наверняка была написана ещё во времена Android 4.0. Приложения пережили время ContentProvider, RoboSpice, различных библиотек и архитектурных подходов. Поэтому очень важно иметь архитектуру, которая будет оставаться гибкой не только к функциональным изменениям, но и готова к новым веяниям, технологиям и инструментам.

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

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

Сегодня расскажем, как переводили на микросервисы монолитное решение. Через наше приложение круглосуточно проходит от 20 до 120 тысяч транзакций в сутки. Пользователи работают в 12 часовых поясах. В то же время функционал добавлялся много и часто, что довольно сложно делать на монолите. Вот почему системе требовались устойчивая работа в режиме 24/7, то есть HighLoad, High Availability и Fault Tolerance.

Мы развиваем этот продукт по модели MVP. Архитектура менялась в несколько этапов вслед за требованиями бизнеса. Первоначально не было возможности сделать всё и сразу, потому что никто не знал, как должно выглядеть решение. Мы двигались по модели Agile, итерациями добавляя и расширяя функциональность.

Как перейти на микросервисы и не разломать production - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js