Рубрика «mobile developement»

Новый мультиплатформенный фреймворк от Google – Flutter – уверенно набирает поклонников. Все больше людей интересуются этой технологией и пробуют ее как в pet-, так и в коммерческих проектах. Все больше статей и примеров появляется в рунете, но какое-то время назад я обратил внимание, что, в отличие от Medium, на Хабре в основном преобладают обзорные статьи, посвященные технологии в целом и ее преимуществам или новинкам представленным в последней версии. Текстов, посвященных конкретным кейсам, достаточно мало. Поэтому я решил, что нужно исправлять сложившуюся ситуацию. Начну не с самого распространенного кейса, но достаточно часто используемого – Deep Links.
image
Читать полностью »

Kivy. Xamarin. React Native. Три фреймворка — один эксперимент (часть 2) - 1

Это вторая статья из цикла, где мы проводим сравнение Kivy, Xamarin.Forms и React Native. В ней я постараюсь написать такой же планировщик задач, но с использованием Xamarin.Forms. Посмотрю, как у меня это получится, и с чем мне придется столкнуться.

Повторять ТЗ я не буду, его можно посмотреть в первой статье: Kivy. Xamarin. React Native. Три фреймворка — один эксперемент
Читать полностью »

Она вам не Android. Особенности разработки под Wear OS - 1

18 марта Google переименовала операционную систему для носимой электроники Android Wear и начала распространять её под именем Wear OS, чтобы привлечь новую аудиторию. Компания опубликовала новые дизайн-гайдлайны и обновила документацию. Когда я начал разработку приложения для часов, не нашел ни одной русскоязычной публикации на эту тему. Поэтому хочу поделиться своим опытом и рассказать подробнее про Wear OS, из чего она состоит и как с ней работать. Всех небезразличных к мобильным технологиям прошу под кат.

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

image

Продажей и бронированием билетов на официальном сайте перевозчика уже давно никого не удивить. Но на дворе не 2010, а 2017 год. И пока граждане не без удовольствия наблюдают за ростом цен на нефть и с неудовольствием – за ценами на многое другое, «Российские железные дороги» решили модернизировать свое мобильное направление.

У РЖД было свое приложение и раньше, причем не для сферического «Йотафона» или «Эльбруса», а для вполне себе современной платформы Android, обладающей крупнейшей пользовательской базой в России. Добавить поддержку других платформ планировалось позднее.

Это «позднее» наступило полгода назад. Мы выиграли заказ на разработку обновленного приложения под Android и две другие мобильные операционные системы: iOS и многими не вполне заслуженно гонимую Windows Phone. Несколько месяцев активной разработки, тестирования и доработок – бета-версия готова.

Про то, как мы это сделали, расскажем под катом.
Читать полностью »

Бесплатная школа для Android-разработчиков в Казани - 1

С 15 июня 2016 года стартует набор студентов в школу для Android-разработчиков в Казани.

Преподаватели — руководители Google Developers Group Kazan, ведущие разработчики компаний e-Legion и DZ-systems, в течение 3 недель будут обучать студентов тонкостям разработки Android-приложений. Программа курса включает:

  • Современные тенденции в разработке: требования и архитектура;
  • Клиент-серверное вазимодействие: от классических паттернов A/B/C до JobScheduler;
  • Реактивное программирование с RxJava;
  • Современные архитектурные паттерны: MVP и MVVM;
  • Тестирование Android-приложений.

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

Автоматизация процесса разработки под Android: начало - 1
Две недели назад закончилась Школа Автоматизации Процессов Разработки (ШАПР) в санкт-петербургском Яндексе.
Забегая вперёд, скажу, что преподавателям удалось главное: за неполных три месяца они «испортили» наше восприятие процесса разработки, как и обещали в начале Школы. Ручное тестирование и сборка начали жутко раздражать, вызывая мысли вроде «а ведь сейчас, вместо выполнения рутинных операций, я бы мог писать красивый код ...».

Подробнее о том, как им это удалось, можно прочитать здесь и ещё немного здесь.

В практической части обучения мы реализовали web-блог, на базе перечисленных по ссылке выше технологий.
Меня, как android-разработчика, заинтересовала возможность применения этих технологий и инструментов для организации Continuous Integration для Android.
Вдохновлённый докладом Алексея Коровянского на MBLTDev, и, особенно, результатами Google Test Automation Conference 2014 касательно тестирования Android-приложений, я реализовал упрощенный аналог нашего учебного проекта под другую платформу, перенеся туда всё что смог и успел. На этом предисловие заканчивается и начинается собственно описание автоматизации.Читать полностью »

Я хочу рассказать о том, что такое font boosting в мобильных браузерах, к какой неожиданной проблеме он может привести при web-разработке и как с этой проблемой бороться.

Рассмотрим пример из реальной жизни:

Пример 1:

  1. Имеется вновь созданный span с display: inline-block.
  2. Измеряем его ширину в пикселях через свойство offsetWidth.
  3. Меняем его цвет.
  4. И, вдруг, в Google Chrome for Mobile, после изменения цвета ширина элемента резко увеличивается, переставая соответствовать той, что была измерена всего двумя строчками выше!

Показать код

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv = "content-type" content = "text/html; charset=utf-8" />
    <title>Проблема с Font boosting в Google Chrome for Mobile</title>
    <script type = "text/javascript">
      window.onload = function ()
        {
        var spnSpan1 = document.getElementById ("span-1");
        
        alert ("Ширина элемента до изменения цвета: "+ spnSpan1.offsetWidth +"px"); //59px
        spnSpan1.style.color = "red";
        alert ("Ширина элемента после изменения цвета: "+ spnSpan1.offsetWidth +"px"); //186px
        }
    </script>
  </head>
  <body>
    <p>
      <span id = "span-1" style = "display: inline-block;">Элемент</span> 
    </p>

    <!--
    На странице должно быть достаточно текста.
    Если убрать этот абзац, глюк перестанет возникать.
    -->
    <p>
      abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc
      abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc
      abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc
      abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc
    </p>
  </body>
</html>

Смотреть пример on-line.

(Для просмотра примеров из этой статьи воспользуйтесь Google Chrome for Mobile или обычным Google Chrome в режиме эмуляции смартфона, например Apple iPhone или Samsung Galaxy Note II).

Причиной такого странного поведения, как раз, и является font boosting.

 

Что такое font boosting

Font boosting — это специальный прием, с помощью которого мобильные браузеры подгоняют размер шрифта под разрешение мобильного устройства. Этот прием нужен из-за того, что многие web-страницы, сверстанные в расчете на десктопные браузеры, содержат текстовые элементы, ширина которых превышает ширину мобильного экрана. Для просмотра этих элементов посетитель вынужден либо использовать горизонтальную прокрутку, либо вписать элемент в размеры экрана, уменьшив масштаб страницы. Однако, при уменьшении масштаба уменьшается также и размер шрифта, делая текст порой совершенно нечитаемым. Так вот, font boosting специально увеличивает размер шрифта, так, чтобы после вписывания блока в ширину экрана, этот размер шрифта соответствовал изначально задуманному.

Степень увеличения размера шрифта при font booting'е зависит от ширины элемента — чем шире элемент, тем сильнее его надо уменьшить, чтобы вписать в размеры экрана, и, соответственно, тем больше надо увеличить размер шрифта для компенсации этого уменьшения.

 

Проблемы font boosting в Google Chrome for Mobile

Реализация font boosting в Google Chrome for Mobile имеет две особенности, которые могут привести к сложнообнаружимым ошибкам при web-разработке:Читать полностью »

Skala Preview — тестируйте дизайн на iPhone во время рисования в PhotoshopМы затрагивали проблему отображения цвета в статье управление цветом и UI дизайн, частично рассказав о замечательном инструменте Skala Preview и его спутнике Skala View. Самое время узнать, что это за зверь и чем он нам полезен. Особенно это касается разработчиков под мобильные устройства Apple. Читать полностью »

Monodroid и Monotouch это фреймворки от xamarin, которые дают возможность разрабатывать приложение на языке C# для Android и iOS соответственно. Так как это относительно новая технология информации в интернете не слишком много (за исключением офф сайта и большого количества тем на stackoverflow.com), на русском языке же я не нашел никаких туториалов и информации вообще.

Что бы устранить это недоразумение решил написать небольшой туториал о том как начать разрабатывать приложения под мобильные платформы при помощи этих фреймворков. В этой статье я рассмотрю только Monodroid.

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

image Всем привет!
Несколько месяцев назад мы писали на Xабрахабр. И вот мы снова с вами :) Напомню – мы занимаемся созданием инструментов для сбора и обработки обратной связи пользователей через смартфоны.

И в эти дни мы запускаем на TechCrunch Moscow новую версию нашего продукта.

За прошедшие месяцы мы успели пообщаться с несколькими сотнями разработчиков и предпринимателей, побывать на ряде крупных мероприятий в России и Европе, и даже войти в тройку финалистов Windows 8 Hackathon в Москве. Это было очень увлекательно, и мы получили море обратной связи от вас. Спасибо огромное!

Собрав целый корован данных и проанализировав его, мы сделалами для себя много интересных открытый. Мы поняли, что все разработчики очень разные — у них разные продукты, и им требуются абсолютно разные инструменты для решения их проблем. А то, что предложили мы, подходило небольшой категории приложений и еще меньшему количеству разработчиков.
И мы решили подумать над тем, как бы нам выковать одно кольцо, которое будет править всеми, сделать такой продукт, который поможет большему количеству пользователей стать счастливей, а разработчикам – сытей и богаче ;-)
Читать полностью »


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