Рубрика «mobile development» - 25

7 января на Coursera начинается трек курсов по специальности «Mobile Cloud Computing with Android». В текущем году аналогичный трек состоял из 3-х курсов — было интересно и полезно. В этом году их аж 6 (плюс дипломный проект) — судя по программам, изменений и дополнений много.

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

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

Признак плохого дизайна N1:
Наличие объекта-«бога» с именем, содержащим «Manager», «Processor» или «API»

Архитектурный дизайн мобильных приложений - 1
Ведущий iOS-разработчик Redmadrobot Егор beptep Тафланиди — о том, как добиться стройного архитектурного дизайна мобильного приложения, используя классические шаблоны проектирования и логическое разделение исходного кода на модули.

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

Тренды iOS–разработки 2014 года - 1
Подходит к концу 2014 год, и сейчас самое время подвести итоги и выделить ключевые тренды в iOS разработке.

Functional Reactive Programming

Благодаря фреймворку ReactiveCocoa, новая парадигма программирования все чаще используется среди iOS разработчиков.

Отказоустойчивость, отзывчивость, ориентированность на события и масштабируемость — вот четыре принципа реактивного программирования. Подробности можете узнать в реактивном манифесте (перевод на Хабре).

Для себя я выделил следующие преимущества реактивного подхода:

  • loose coupling — потоки события позволяют уменьшить связанность между различными частями кода;
  • explicit state — состояние программы определяется набором событий, и поэтому им становится легко управлять.

В качестве альтернативы реактивному подходу рекомендую посмотреть на Futures. Есть как минимум два интересных фреймворка: PromiseKit и CollapsingFutures
Читать полностью »

Подходит к концу 2014 год, и прежде чем отправиться на длительные новогодние праздники, наш Android-техлид Алексей Журавлев подвел итог уходящего года с точки зрения Android-разработки.

image

Android L
Самую ожидаемую версию операционной системы теперь можно установить на мобильное устройство.
Основные изменения:

  • ART вместо Dalvik: Google полностью отказался от Dalvik подхода c JIT компилятором в пользу компиляции приложений при установке, тем самым увеличив производительность приложений. Более подробно про ART тут.
    Правда, как показывает практика, некоторые приложения с использованием Native библиотек перестали корректно работать.
  • Material Design: полностью обновленный подход к формированию дизайна.
  • Battery Saver: теперь при слабом заряде батареи, устройство можно перевести в режим экономии. Достигается путем понижения частоты процессора.
  • Notification: новый подход к системе нотификаций. Подробнее.
  • Keyboard: новая клавиатура в стиле material design.
  • Еще некоторые изменения.

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

Среди задач мобильного разработчика, помимо самой частой (написания, собственно, приложений) периодически появляется и такая, как создание sdk.

Примерами такой задачи может быть создание sdk, использующего REST API какого-либо сервиса (реклама, аналитика, погода), библиотека реализаций алгоритмов, обработка изображений… Список практически неограничен.

Ошибки, допущенные в таком продукте, исправлять гораздо сложнее, чем при разработке приложений. В случае с приложением достаточно обновить его в AppStore, дождаться прохождения модерации и обновления пользователем. В случае же с sdk цепочка прирастает дополнительным шагом — дождаться его обновления разработчиком.

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

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

image

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

-Холмс, как вы узнали, что я пхп-специалист?
-Элементарно, Ватсон, у вас слон на свитере.

image

Игра пятая — Пляшущие человечки. Создана по мотивам рассказа Конан-Дойля The adventure of dancing men.

Игра (на момент публикации статьи) не прошла модерацию в магазине. Я объясню почему. Сюжет игры классический — берется 10 строк текста из бессмертного романа А.С. и одинаковые буквы меняются на одинаковые символы. Лингвисты мгновенно расшифровывают. Порог вхождения — высокий. В результате месяца игры я наизусть выучил Евгения Онегина.

Впрочем, картинку типа этой — расшифруют все, кто говорит по-русски.

image
Рисунок 1. Слово из трех букв

Это слово — либо КАК, либо ИЛИ, либо ОНО, либо ТОТ. Конечно, любители немецкого скажут, что это второе слово из фразы ХЕНДЕ ХОХ. Но нет, Пушкин не знал немецкого.

Вернусь к вопросу о непрошедшей проверке.
На экране с очередной загадкой всегда горит строка подсказки — в ней все символы выстроены в порядке убывания их наличия в тексте. Самые распространенные буквы обычно Е Н или О.

image
Рисунок 2. Строка подсказки

Так вот, в этой строке подсказки затаилась крамола. Одна из картинок не прошла модерацию.
Угадайте какая?
Читать полностью »

В этой части статьи представлены две системы «Life360» и «Glympse».

В предыдущих частях рассматривались:

Часть 1: Общие соображения об использования систем GPS контроля для персонального мониторинга
Часть 2: Рассмотрены системы «ГДЕ МОИ», «GPSHome» и «GPS-Trace Orange»
Часть 3: Рассмотрены системы «Live GPS Tracking» и «M2M gps-tracker.com.ua»

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

Рассмотренные здесь системы ориентированы и предоставляют максимальную эффективность при работе с ними на смартфонах.

Family Locator http://life360.com/ (США)

GPS контроль для персонального использования (часть 4. Обзор систем) - 1

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

Разработка мобильных приложений не останавливается даже во время экономических пертурбаций. PapaBubaDiop, например, рассказывает, как можно сделать шесть игр за шесть недель, выходит AppCode 3.1 и несколько других инструментов, упрощается работа с Material design. Это и многое другое – в еженедельном дайджесте.

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

Как мы увеличили отзывчивость приложения - 1

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

Выкладываем доклад мобильного архитектора ТКС Банка Дмитрий Тарасова «Практический пример переиспользования кода. Как повысить качество и ускорить разработку» с конференции мобильных разработчиков #MBLTDev, которая прошла в конце октября.


Презентация

В разработке может сложиться ситуация, когда у вас есть несколько приложений с общей логикой и поведением интерфейса. Дмитрий Тарасов рассказывает о пути, по которому развивалась разработка мобильного банка и кошелька ТКС для Android. Откровенный рассказ о последствиях нетехнологичных решений в стиле copy-paste общего кода из приложения в приложение. Следующий шаг — общая библиотека. Как ее оформить? В виде jar? Оформив, как ее подтягивать в проекты? Grandle или subtree/submodule? Что делать с неравномерным развитием потребителей библиотеки? Решить этот вопрос выстраиванием правил ветвления? Как это вписать в стандартную связку bug tracker — code review — CI (в случае ТКС Jira + Stash + TeamCity)? Что будет, если к изначальным двум приложениям добавится еще два, причем у последнего будет другой backend? Смотрите видео выступления.
Читать полностью »


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