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

Disclaimer: Мы работаем в компании «Расписание вузов», делаем мобильные приложения (iOS, Android, Windows Phone), в которых публикуется учебное расписание студентов и преподавателей.

Как менять расписание в мобильном приложение

Как студенту иметь актуальное расписание, как старостам и преподавателям отправлять сообщения сразу всей группе - 1 Как студенту иметь актуальное расписание, как старостам и преподавателям отправлять сообщения сразу всей группе - 2 Как студенту иметь актуальное расписание, как старостам и преподавателям отправлять сообщения сразу всей группе - 3

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

Последний дайджест в уходящем году и мы подводим итоги iOS- и Android-разработки, вспоминаем, какие посты были самыми популярными на Хабре, планируем 2015 год. С наступающим! Хороших вам приложений и интересных задач!

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

Архитектура мобильного клиент-серверного приложения - 1
К добавлению внешнего сервера рано или поздно приходит любой сложный проект. Причины, при этом, бывают совершенно различные. Одни, загружают дополнительные сведения из сети, другие, синхронизируют данные между клиентскими устройствами, третьи- переносят логику выполнения приложения на сторону сервера. Как правило, к последним относятся большинство «деловых» приложений. По мере отхода от парадигмы «песочницы», в которой все действия выполняются только в рамках исходной системы, логика выполнения процессов переплетается, сплетается, завязывается узлами настолько, что становится трудно понять, что является исходной точкой входа в процесс приложения. В этом момент, на первое место выходит уже не функциональные свойства самого приложения, а его архитектура, и, как следствие, возможности к масштабированию.
Заложенный фундамент позволяет либо создать величественный архитектурный ансамбль, либо «накурнож» — избушку на куриных ножках, которая рассыпается от одного толчка «доброго молодца» коих, за время своего существования повидала видимо — невидимо, потому что, глядя на множественные строительные дефекты заказчик склонен менять не исходный проект, а команду строителей.
Планирование — ключ к успеху проекта, но, именно на него выделяется заказчиком минимальный объем времени. Строительные паттерны — туз в рукаве разработчика, который покрывает неблагоприятные комбинации где время — оказывается решающим фактором. Взятые за основу работающие решения позволяют сделать быстрый старт, чтоб перейти к задачам, кажущиеся заказчику наиболее актуальными (как-то покраска дымоходной трубы, на еще не возведенной крыше).
В этой статье я постараюсь изложить принцип построение масштабируемой системы для мобильных устройств, покрывающей 90-95% клиент-серверных приложений, и обеспечивающей максимальное отдаление от сакраментального «накурножа».
Читать полностью »

image

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

Конкурентный рынок мобильных приложений Европы и США стабильно растет, а значит, растут и расходы на привлечение новых пользователей. Естественно, что в этой ситуации в центре внимания оказываются самые быстрорастущие игроки мирового рынка мобильных технологий: Китай, Юго-Восточная Азия, Латинская Америка, Россия, Восточная Европа, Ближний Восток и Южная Африка.

Один из наиболее интересных рынков для экспансии – Бразилия. Однако, чтобы завовевать его, необходимо понимать тонкости процесса локализации для этой страны. Мы в Alconost, например, часто сталкиваемся с тем, что разработчики выходят на бразильский рынок с европейской португальской версией продукта или приглашают европейских португальских переводчиков переводить тексты, предназначенные для бразильских пользователей. Так что когда мы нашли дельную статью об особенностях локализации для бразильского рынка, то поспешили перевести ее на русский.

Локализация для Бразилии: советы и рекомендации - 1
Читать полностью »

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

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


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