• Автоматизация публикации приложения в Google Play

      Если у вас есть андроид приложение, которые вы собираетесь опубликовать в Google Play или оно уже опубликовано, а так же если вы его только разрабатываете, и оно находится в закрытом бета тестировании, а заказчику\тестерам периодически нужно собирать и передавать сборку руками, возможно лучше автоматизировать этот процесс
      Читать дальше →
    • Отзывчивое Android-приложение или 1001 способ загрузить картинку

        О реализации многопоточности при разработки Android-приложений уже написано немало. В этой же статье хочется провести сравнение нескольких распространенных на сегодня способов скачать/прочитать/сохранить/посчитать, при этом не дав пользователю повода для раздражения. Постараться понять, когда то или иное решение будет уместным, а чего лучше не делать вовсе. Попытаемся показать, почему привычных вещей, таких как класс Thread и пакет java.util.concurrent оказывается недостаточно, когда речь заходит об Android-приложении.

        Читать дальше →
      • Пять шагов по оптимизации производительности приложения для Андроид

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

        До создания серьезных приложения со сложной структурой View и Layout'ов мы особо не задумывались над тем, как простые и логичные действия в стиле «смотрите, я набросал дизайн из лэйаутов» могут серьезно замедлить работу всей программы.

        Помимо прочего, задача с «Короной Эмбера» осложнялась еще и тем, что игра, которую мы задумали перенести на Андроид платформу, была сама по себе достаточно насыщенной различными компонентами, которые как-то надо было умещать на игровом поле или рядом с ним.

        В статье я собрал наш успешный опыт и облёк его в удобную и читабельную форму, полезную для тех, кто все еще гуглит «как программно оптимизировать приложение под Андроид» или «почему мое приложение лагает».
        Читать дальше →
      • 15 нестандартных инструментов продвижения приложения

          Ненавижу статьи про продвижение мобильных приложений. Потому что в 99% процентах из них будет одна вода, избитые, всем известные инструменты, без живых цифр и примеров. Не для этого я захожу на Хабр.

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

          Запасайтесь чаем и добро пожаловать под кат

          Читать дальше →
        • Простейшая 3D игра на libGDX под Android в 200 строк кода

            Я преподаю в IT школе Samsung программирование под Android для школьников. Программа обучения охватывает множество разнообразных тем. В числе прочих предусмотрен один урок, знакомящий учеников с основами 3D-графики под Android. Стандартный учебный материал этого урока показался мне очень бесполезным по нескольким причинам:
            1. Используется голый OpenGL, а поскольку на практике в программировании игр чаще всего используются готовые движки, то это мало полезно для школьников в контексте их собственных проектов. Кто-то может возразить, что увидеть в деле чистый OpenGL полезно для понимания основ, но здесь вступает в дело 2-й недостаток.
            2. Урок очень непонятный. У типичного школьника, пусть и разбирающегося в программировании, нет достаточной базы, чтобы понимать многое из того, что описано в уроке (например матрицы многие пройдут только уже в ВУЗе).
            3. В конце урока мы приходим к результату — отрисовка 3-х треугольников средствами OpenGL. Это настолько далеко от реальной 3D-игры, что легко может отбить интерес у школьника.

            Поэтому я решил подготовить свой урок, описывающий основы использования libGDX под Android, а раз я все равно готовлю этот материал, заодно разместить его здесь — на хабре. В этом уроке мы сделаем наипростейшую 3D игру под Android, скриншот которой вы можете видеть во вступлении к статье. Итак, интересующиеся, добро пожаловать под кат.

            Читать дальше →
            • +24
            • 57k
            • 4
          • 25 инструментов повышения производительности (и какие из них вам использовать не следует)

            • Перевод
            image

            Итак, вот, что будет происходить дальше. Вы посмотрите на все эти инструменты и немедленно захотите прочесть о каждом из них, чтобы выбрать лучшие для себя. В результате вы потратите сегодня больше времени на клики, прокрутки и загрузки, чем вам бы того хотелось. Как этого избежать и использовать материал по максимуму?
            Читать дальше →
            • +7
            • 10,2k
            • 9
          • MongoDB: Запросы

              Хоть и некоторые писали относительно моего предыдущего топика MongoDB: Создание, обновление и удаление документов, что это пересказ офф. документации, я с этим не полностью согласен. Мне показалось, что информация в нём оказалось кому-то полезной, поэтому выкладываю продолжение.

              Find — аналог SELECT в MySQL. Используется для выборки документов из MongoDB. Возвращает массив документов в виде коллекции, если документов нет — пустую коллекцию. Пример:

              > db.users.find();

              Вернёт всех пользователей из коллекции.

              > db.users.find( { age: 27 } );

              Вернёт всех пользователей, у которых возраст равен 27.
              Читать дальше →
            • OutOfMemoryError. Боремся с утечками памяти в Android

              В данной заметке мы рассмотрим несколько примеров утечек памяти в Android приложении. Также мы рассмотрим исправления этих утечек. Я хочу показать, что с утечками памяти можно и нужно бороться. Я не буду рассказывать про инструменты для анализа памяти, только лишь приведу ссылки на самые важные из них.
              Осторожно много картинок.
            • Создание изометрических объектов для игр в Blender



              Статья будет полезна начинающим разработчикам игр. В ней мы рассмотрим преимущества и способы создания и рендеринга трёхмерных объектов для изометрических 2D-игр на примере Blender. В статье не будет каких-то сложных операций, достаточно начальных знаний 3D-редактора. Для примера рендеринга и анимации я взял башню из Dune2, и, чтобы ей было не так скучно одной, дополнил двумя постройками из Desert Strike.
              Читать дальше →
            • 400 потрясающих бесплатных сервисов

              • Перевод

              Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

              И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



              A. Бесплатные веб-сайты

              • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
              • Bootswatch: Бесплатные темы для Bootstrap.
              • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
              • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
              • Strikingly: Конструктор веб-сайтов.
              • Layers: Создание сайтов на WordPress (new).
              • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
              • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
              Читать дальше →
            • Колумбия и Южная Америка глазами инженера

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


                Площадь Че в национальном университете UNAL, первое мая.
                Читать дальше →
              • 12 лучших фреймворков для разработки приложений под Android

                • Перевод
                image

                Android – прекрасная платформа для мобильных устройств, она работает на миллионах смартфонов в 200 странах по всему миру. В этом посте я собрал несколько популярных фреймворков для разработки приложений под Android, из числа популярных среди разработчиков.

                Смысл фреймворка – увеличить производительность, уменьшив затраты усилий на разработку. В идеале они экономят разработчикам время на то, чтобы заняться реально важными при разработке приложения вопросами.

                1) Corona SDK


                Богатый инструментарий для создания игр и приложений за рекордно короткое время

                image

                Обеспечивает возможность очень быстрой разработки. Элегантный API упрощает добавление сложных функций, технологический процесс позволяет сразу же видеть внесённые изменения, сама же разработка идёт на Lua – простом для изучения языке. Всё это приводит к рекордной скорости разработки.

                Самый популярный фреймворк, часто используется разработчиками игр, но подходит для любого рода приложений. Уже более миллиона разработчиков пользуются API, поддержкой нативного интерфейса, встроенным движком и рекламной платформой.
                Читать дальше →
              • Best practices от Google по разработке Android приложений

                В данной статье я хотел бы вкратце рассказать про самые последние best practices от Google. Я постарался выделить самые основные моменты, чтобы читатель сразу мог понять, что именно какая-либо фича дает разработчику. Не удивляйтесь, если где-то повторяюсь. Конспектировал + добавлял от себя по ходу просмотров видео в www.youtube.com/channel/UCVHFbqXqoYvEWM1Ddxl0QDg

                Также к каждому пункту приводятся все необходимые ссылки для более подробного ознакомления с конкретной best practice.
                Читать дальше →
              • Как дизайнеру подготовить передачу Android-приложения разработчику

                • Tutorial
                Во время нарезки графики под приложения часто возникает множество сложностей: от разрешения устройств и проблемы с сетками и рекомендациями Google до непосредственно передачи приложения разработчику. За 2 года я работала над дизайном более 10 приложений, научилась находить решения самых разных проблем и делать так, чтобы в конечном итоге приложение выглядело так же, как и в дизайне.
                Об этом и пойдет речь под катом.



                Читать дальше →
              • Передовой опыт Android-разработки

                • Перевод
                Нам бы хотелось поделиться с вами опытом, который мы, в Futurice, получили, разрабатывая Android-приложения. Надеемся, эти советы уберегут вас от создания собственных велосипедов. Если вы интересуетесь iOS или Windows Phone разработкой, обратите внимание на соответствующие документы на нашем сайте.
                Читать дальше →
              • 40+ полезных инструментов для разработчика приложений под Android

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

                Некоторые приложения требуют покупки для использования всех расширенных возможностей.

                41. JSONView
                jsonview.com

                image

                Расширение для Firefox, которое позволяет просматривать JSON в браузере. Документ выглядит отформатированным, есть подсветка и можно сворачивать и раскрывать объекты и массивы.

                40. Android GUI Set
                www.bypeople.com/free-photoshop-android-interface-gui

                image

                Набор интерфейсов, в который входят и файлы для фотошопа. Главное меню, клавиатура, панель статуса, браузер, слайдер, список контактов, и т.д. и т.п.
                Читать дальше →
              • 9 анти-паттернов, о которых должен знать каждый программист

                • Перевод
                В программировании самокритика – это умение распознать контрпродуктивные решения в дизайне, коде, процессах и поведении. Знание о вредных шаблонах решений полезно для программиста. В этой статье я опишу анти-паттерны, которые я встречал на своём личном опыте время от времени.

                Некоторые из них напрямую или косвенно связаны с когнитивными искажениями человеческого сознания – в этих случаях я даю ссылки на соответствующие вики-статьи. Также интересен список известных когнитивных искажений.

                1 Преждевременная оптимизация


                В 97% случаев надо забыть об эффективности малых частей программы: преждевременная оптимизация – корень всех зол. Но в 3% случаев об оптимизации забывать не нужно.
                Дональд Кнут

                Хотя никогда зачастую лучше, чем прямо сейчас
                Тим Питерс, Зен языка Python


                Что это

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

                Почему плохо

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

                Как избежать

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

                  Теплые деньки не повод расслабляться. Для тех, кто хочет быть в форме, мы подготовили двойную нагрузку для мозга – самые интересные новости геймдева.

                  Узнать все
                  • +8
                  • 18,2k
                  • 3
                • О производительности Android-приложений

                    Введение


                    Первое, что я хочу сказать: статья не претендует на сильно глубокий уровень, скорее я хочу рассказать о том, что производительность это не только «быстрее с NDK на С++» и «экономьте память, а то сборка мусора будет часто запускаться», а это целый комплекс мер, потому что проблемы с производительностью возникают не когда одна функция медленно работает, а в комплексе.
                    Не было ли у вас ощущения, что приложение тормозит, а вы уже не знаете что делать — и память вроде не жрет, и профайлером уже посмотрели, а решения все нет. Если да, то эти заметки для вас.
                    Понятия и термины я переводить не буду, так как я думаю что почти все разработчики их не переводят.
                    Читать дальше →
                  • Я тебя по сетям вычислю: используем API крупнейших соцсетей в своих корыстных целях



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

                      Есть в американской разведке такая дисциплина, как OSINT (Open source intelligence), которая отвечает за поиск, сбор и выбор информации из общедоступных источников. К одному из крупнейших поставщиков общедоступной информации можно отнести социальные сети. Ведь практически у каждого из нас есть учетка (а у кого-то и не одна) в одной или нескольких соцсетях. Тут мы делимся своими новостями, личными фотографиями, вкусами (например, лайкая что-то или вступая в какую-либо группу), кругом своих знакомств. Причем делаем это по своей доброй воле и практически совершенно не задумываемся о возможных последствиях. На страницах журнала уже не раз рассматривали, как можно с помощью различных уловок вытаскивать из соцсетей интересные данные. Обычно для этого нужно было вручную совершить какие-то манипуляции. Но для успешной разведки логичнее воспользоваться специальными утилитами. Существует несколько open source утилит, позволяющих вытаскивать информацию о пользователях из соцсетей.
                      Читать дальше →