Рубрика «разработка мобильных приложений» - 105

Теме чистого кода на одном только habrahabr посвящено тысячи статей. Никогда бы не подумал, что захочу написать свою. Но после проведения компанией курсов для желающих связать карьеру с разработкой ПО, в частности разрабатывать под Android, мое мнение поменялось.

За основу статьи взяты советы из классики “Роберт К. Мартин: Чистый код”. Отобрал из них те, которые наиболее часто встречались в виде проблем у студентов. Приведенные советы написаны с учетом моего опыта разработки коммерческих Android приложений. Поэтому не ко всем Android-проектам приведенные ниже советы подойдут, я уже не говорю про другие системы.

Советы в основном приводил с примерами кода как НЕ НУЖНО делать. Как ни странно, у большинства студентов были одни и те же ошибки. Все примеры кода были придуманы, любые совпадения с реально существующим кодом случайны.

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

image

Есть у меня приложение, написанное на Ionic Framework. На его основе хочу поделиться со всеми своим опытом разработки и напишу как создать кроссплатформенное приложение по шагам.

В этой статье будем с нуля разрабатывать приложение, которое позволяет читать статьи (публикации). У публикации будет название (заголовок), заглавное фото, краткое содержание, полное содержание, категория, автор, дата публикации. Все данные для приложения будут браться с сервера посредством Http-запросов.

В приложении будет несколько страниц (экранов):

  • список всех публикаций, отсортированный по дате.
  • список категорий, отсортированный по алфавиту.
  • список авторов, отсортированный по имени.
  • список публикаций выбранной категории, отсортированный по дате.
  • список публикаций выбранного автора, отсортированный по дате.
  • содержание публикации.

Результатом статьи получится приложение, которое выглядит как на картинке выше.
Плюс ссылка на исходники всего проекта.
Читать полностью »

В этой статье я продемонстрирую реализацию внедрения зависимости, репозитория и единицы работы, используя Castle Windsor в качестве DI-контейнера и NHibernate как инструмент объектно-реляционного отображения (ORM).

Внедрение зависимости и реализация единицы работы с помощью Castle Windsor и NHibernate - 1
Читать полностью »

Прошёл четвёртый по счёту традиционный iOS Meetup в Avito. Мы обсуждали Data Driven подход к разработке, практическое применение Mach-O, lldb и dSYM, возможности расширения lldb, методологию Type Driven и концептуальные различия архитектур. Если же вы не успели к нам на доклады и глинтвейн, или просто были не в Москве, то под катом мы выложили видеозаписи выступлений, слайды от докладчиков и немного фидбэка от участников встречи.

Avito iOS Winter Edition — видео, фото, слайды, отзывы - 1

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

Распознавание лиц. Создаем и примеряем маски - 1

Пока сообщество iOS-разработчиков спорит, как писать проекты, пока пытается решить, использовать ли MVVM или VIPER, пока пытается подSOLIDить проект или добавить туда реактивную турбину, я попытаюсь оторваться от этого и рассмотреть, как работает под капотом еще одна технология с графика Hype-Driven-Development.

В 2017 году на вершине графика хайпа — машинное обучение. И понятно почему:

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

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

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

Приглашаем 15 декабря на Moscow CocoaHeads Meetup в Mail.Ru Group - 1

Друзья, мы приглашаем iOS/macOS-разработчиков 15 декабря в московский офис Mail.Ru Group, где пройдёт очередная встреча сообщества CocoaHeads. Вас ждут три интересных доклада, традиционная викторина и, конечно, неформальное общение с докладчиками и остальными гостями. Программа встречи под катом.

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

Промо-коды.apk

Сейчас у многих магазинов популярны так званые «промо-коды», по которым покупатели могут получить скиду на товар. В среднем клиентская база магазинов, использующих такие «инновации» состоит из покупателей в возрасте от 16 до 30 лет. Люди данной возрастной категории практически не расстаются со своими смартфонами. На лицо актуальность мобильных приложений, которая растёт с каждым годом. Это и навело нас с ребятами на мысль о создании приложения для раздачи этих самых промо-кодов.

Концепция и маркетинг

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

Преимущества для пользователя:

  • приложение бесплатное, клиент не должен ни за что платить;
  • увлекательная «гонка» за промо-кодом.

Преимущества для заказчика:

  • увеличение клиентской базы, за счёт оригинального игрового формата раздачи промо-кодов;
  • минимальные затраты на разработку и хостинг приложения;
  • являясь владельцами приложения, возможность внедрения рекламы.

Преимущества для разработчиков:

  • при имеющемся шаблоне, быстрая разработка под конкретный магазин, путём изменения дизайна и минимального изменения механики;
  • постоянный доход в виде поддержки исправности хостинга и устранения проблем работы приложения;
  • возможность внедрения рекламы (при согласии заказчика).

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

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

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

Это вторая часть лекции Дмитрия Свирихина — разработчика из команды мобильной Яндекс.Почты.

— Мы с вами продолжаем рассматривать типичные проблемы Android-разработчика и способы их решения. Мы уже рассмотрели, как решить проблему неконсистентности UI у нас в приложении, проблемы, которые могут возникнуть при взаимодействии с клавиатурой, и проблемы потери state, а также узнали, как мы можем эффективно применять кастомные view. Всю вторую часть мы посвятим ещё одной проблеме — она называется «недостаточная интерактивность». Посмотрим, как мы можем сделать наше приложение более интерактивным и понятным для пользователя.

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

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

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

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

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

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

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


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