К добавлению внешнего сервера рано или поздно приходит любой сложный проект. Причины, при этом, бывают совершенно различные. Одни, загружают дополнительные сведения из сети, другие, синхронизируют данные между клиентскими устройствами, третьи- переносят логику выполнения приложения на сторону сервера. Как правило, к последним относятся большинство «деловых» приложений. По мере отхода от парадигмы «песочницы», в которой все действия выполняются только в рамках исходной системы, логика выполнения процессов переплетается, сплетается, завязывается узлами настолько, что становится трудно понять, что является исходной точкой входа в процесс приложения. В этом момент, на первое место выходит уже не функциональные свойства самого приложения, а его архитектура, и, как следствие, возможности к масштабированию.
Заложенный фундамент позволяет либо создать величественный архитектурный ансамбль, либо «накурнож» — избушку на куриных ножках, которая рассыпается от одного толчка «доброго молодца» коих, за время своего существования повидала видимо — невидимо, потому что, глядя на множественные строительные дефекты заказчик склонен менять не исходный проект, а команду строителей.
Планирование — ключ к успеху проекта, но, именно на него выделяется заказчиком минимальный объем времени. Строительные паттерны — туз в рукаве разработчика, который покрывает неблагоприятные комбинации где время — оказывается решающим фактором. Взятые за основу работающие решения позволяют сделать быстрый старт, чтоб перейти к задачам, кажущиеся заказчику наиболее актуальными (как-то покраска дымоходной трубы, на еще не возведенной крыше).
В этой статье я постараюсь изложить принцип построение масштабируемой системы для мобильных устройств, покрывающей 90-95% клиент-серверных приложений, и обеспечивающей максимальное отдаление от сакраментального «накурножа».
Читать полностью »
Рубрика «mobile development» - 24
Архитектура мобильного клиент-серверного приложения
2014-12-26 в 18:18, admin, рубрики: ios development, iOS разработка, mobile development, архитектура приложений, Программирование, Проектирование и рефакторинг, разработка под iOS, Совершенный кодКак скрэшить любое приложение на айфоне, и как этого не допустить
2014-12-26 в 15:08, admin, рубрики: apple, iOS, iOS разработка, mobile development, xcode, Блог компании Surfingbird, мобильные приложения, разработка под iOS
Однажды мы, в Surfingbird, нашли странную ошибку, из-за которой приложение стабильно крэшилось. Позже оказалось, что почти любое приложение можно довольно просто скрэшить (даже приложения, написанные самой Apple). О том, что же это за ошибка и как её обойти, мы расскажем в статье.
Читать полностью »
Локализация для Бразилии: советы и рекомендации
2014-12-26 в 6:46, admin, рубрики: Alconost, App Store, mobile development, Блог компании Alconost, Inc., Бразилия, ключевые слова, локализация, мобильные приложения, оптимизация, продвижение приложений, разработка под iOS, управление проектамиКонкурентный рынок мобильных приложений Европы и США стабильно растет, а значит, растут и расходы на привлечение новых пользователей. Естественно, что в этой ситуации в центре внимания оказываются самые быстрорастущие игроки мирового рынка мобильных технологий: Китай, Юго-Восточная Азия, Латинская Америка, Россия, Восточная Европа, Ближний Восток и Южная Африка.
Один из наиболее интересных рынков для экспансии – Бразилия. Однако, чтобы завовевать его, необходимо понимать тонкости процесса локализации для этой страны. Мы в Alconost, например, часто сталкиваемся с тем, что разработчики выходят на бразильский рынок с европейской португальской версией продукта или приглашают европейских португальских переводчиков переводить тексты, предназначенные для бразильских пользователей. Так что когда мы нашли дельную статью об особенностях локализации для бразильского рынка, то поспешили перевести ее на русский.
Новый трек на Coursera: Mobile Cloud Computing with Android
2014-12-25 в 19:31, admin, рубрики: coursera, mobile development, Облачные вычисления, обучение онлайн, Разработка под android, Учебный процесс в IT7 января на Coursera начинается трек курсов по специальности «Mobile Cloud Computing with Android». В текущем году аналогичный трек состоял из 3-х курсов — было интересно и полезно. В этом году их аж 6 (плюс дипломный проект) — судя по программам, изменений и дополнений много.
Курсы бесплатные — платить надо только если есть желание получить по каждому курсу подтвержденный сертификат. Учиться можно в онлайне, а можно выкачивать видео и смотреть когда и где удобно. Правда, в последнем случае промежуточных контрольных вопросов не будет, а они полезны, чтобы оценить — все ли правильно поняла, да и закрепляют материал хорошо.
Архитектурный дизайн мобильных приложений
2014-12-25 в 14:15, admin, рубрики: iOS, mobile development, архитектура приложений, Блог компании REDMADROBOT, мобильная разработка, Проектирование и рефакторинг, разработка под iOS Признак плохого дизайна N1:
Наличие объекта-«бога» с именем, содержащим «Manager», «Processor» или «API»
Ведущий iOS-разработчик Redmadrobot Егор beptep Тафланиди — о том, как добиться стройного архитектурного дизайна мобильного приложения, используя классические шаблоны проектирования и логическое разделение исходного кода на модули.
Тренды iOS–разработки 2014 года
2014-12-24 в 12:59, admin, рубрики: ios development, iOS разработка, mobile development, swift, Блог компании e-Legion Ltd., мобильная разработка, разработка под iOS
Подходит к концу 2014 год, и сейчас самое время подвести итоги и выделить ключевые тренды в iOS разработке.
Functional Reactive Programming
Благодаря фреймворку ReactiveCocoa, новая парадигма программирования все чаще используется среди iOS разработчиков.
Отказоустойчивость, отзывчивость, ориентированность на события и масштабируемость — вот четыре принципа реактивного программирования. Подробности можете узнать в реактивном манифесте (перевод на Хабре).
Для себя я выделил следующие преимущества реактивного подхода:
- loose coupling — потоки события позволяют уменьшить связанность между различными частями кода;
- explicit state — состояние программы определяется набором событий, и поэтому им становится легко управлять.
В качестве альтернативы реактивному подходу рекомендую посмотреть на Futures. Есть как минимум два интересных фреймворка: PromiseKit и CollapsingFutures
Читать полностью »
Итоги года для Android-разработчиков
2014-12-23 в 14:27, admin, рубрики: android, mobile development, Блог компании e-Legion Ltd., мобильная разработка, Разработка под androidПодходит к концу 2014 год, и прежде чем отправиться на длительные новогодние праздники, наш Android-техлид Алексей Журавлев подвел итог уходящего года с точки зрения Android-разработки.
Android L
Самую ожидаемую версию операционной системы теперь можно установить на мобильное устройство.
Основные изменения:
- ART вместо Dalvik: Google полностью отказался от Dalvik подхода c JIT компилятором в пользу компиляции приложений при установке, тем самым увеличив производительность приложений. Более подробно про ART тут.
Правда, как показывает практика, некоторые приложения с использованием Native библиотек перестали корректно работать. - Material Design: полностью обновленный подход к формированию дизайна.
- Battery Saver: теперь при слабом заряде батареи, устройство можно перевести в режим экономии. Достигается путем понижения частоты процессора.
- Notification: новый подход к системе нотификаций. Подробнее.
- Keyboard: новая клавиатура в стиле material design.
- Еще некоторые изменения.
Стоит отметить, что на сегодняшний день, пока только владельцы Nexus устройств имеют возможность получить обновление. Для большинства пользователей официальных прошивок пока нет.
Читать полностью »
Как собрать собственный фреймворк для iOS
2014-12-23 в 10:01, admin, рубрики: custom sdk, framework, mobile development, static library, Xcode 6, Блог компании Sebbia, разработка под iOSСреди задач мобильного разработчика, помимо самой частой (написания, собственно, приложений) периодически появляется и такая, как создание sdk.
Примерами такой задачи может быть создание sdk, использующего REST API какого-либо сервиса (реклама, аналитика, погода), библиотека реализаций алгоритмов, обработка изображений… Список практически неограничен.
Ошибки, допущенные в таком продукте, исправлять гораздо сложнее, чем при разработке приложений. В случае с приложением достаточно обновить его в AppStore, дождаться прохождения модерации и обновления пользователем. В случае же с sdk цепочка прирастает дополнительным шагом — дождаться его обновления разработчиком.
Для некоторых типов задач ситуация может усугубляться ещё и тем, что не все разработчики приложений использующие наш sdk могут быть достаточно квалифицированы. В связи с этим интеграция должна вызывать минимум сложностей. В особенности это касается рекламных sdk и аналитики, так как зачастую они встраиваются гораздо позднее основного этапа создания приложения и не всегда первоначальным разработчиком.
Любой подобный sdk обычно состоит из многих компонент: библиотеки, тестового приложения, документации, плагинов к другим инструментам. В этой статье я расскажу о сборке библиотеки в виде фреймворка, некоторых приёмах и особенностях разработки.
6 игр за 6 недель — игра пятая
2014-12-22 в 14:06, admin, рубрики: mobile development, Блог компании Papa Buba Diop, конан дойль, лингвистический анализ, разработка под iOS-Холмс, как вы узнали, что я пхп-специалист?
-Элементарно, Ватсон, у вас слон на свитере.
Игра пятая — Пляшущие человечки. Создана по мотивам рассказа Конан-Дойля The adventure of dancing men.
Игра (на момент публикации статьи) не прошла модерацию в магазине. Я объясню почему. Сюжет игры классический — берется 10 строк текста из бессмертного романа А.С. и одинаковые буквы меняются на одинаковые символы. Лингвисты мгновенно расшифровывают. Порог вхождения — высокий. В результате месяца игры я наизусть выучил Евгения Онегина.
Впрочем, картинку типа этой — расшифруют все, кто говорит по-русски.
Рисунок 1. Слово из трех букв
Это слово — либо КАК, либо ИЛИ, либо ОНО, либо ТОТ. Конечно, любители немецкого скажут, что это второе слово из фразы ХЕНДЕ ХОХ. Но нет, Пушкин не знал немецкого.
Вернусь к вопросу о непрошедшей проверке.
На экране с очередной загадкой всегда горит строка подсказки — в ней все символы выстроены в порядке убывания их наличия в тексте. Самые распространенные буквы обычно Е Н или О.
Рисунок 2. Строка подсказки
Так вот, в этой строке подсказки затаилась крамола. Одна из картинок не прошла модерацию.
Угадайте какая?
Читать полностью »
GPS контроль для персонального использования (часть 4. Обзор систем)
2014-12-21 в 21:50, admin, рубрики: gps, gps мониторинг, mobile development, Беспроводные технологии, Блог компании Euler2012.com, глонасс, мобильные приложения, персональный мониторингВ этой части статьи представлены две системы «Life360» и «Glympse».
В предыдущих частях рассматривались:
Часть 1: Общие соображения об использования систем GPS контроля для персонального мониторинга
Часть 2: Рассмотрены системы «ГДЕ МОИ», «GPSHome» и «GPS-Trace Orange»
Часть 3: Рассмотрены системы «Live GPS Tracking» и «M2M gps-tracker.com.ua»
Мне не удалось найти на европейском и американском рынках систем, аналогичных рассмотренным в предыдущих частях. Конечно, подобные системы есть, но: либо они не предоставляют бесплатного доступа, либо имеют значительно более бедный функционал по сравнению с выше рассмотренными.
Рассмотренные здесь системы ориентированы и предоставляют максимальную эффективность при работе с ними на смартфонах.
Family Locator http://life360.com/ (США)