• Тестирование телефонов с помощью Arduino

      В 2016-м на Хабре привлёк много внимания пост Алексея Лавренюка «Измеряем потребление батарейки на мобильных устройствах. Эксперимент в Яндексе». Годом позже на нашей конференции Heisenbug Алексей вместе с коллегой Тимуром Торубаровым представил доклад «Тестирование телефонов с помощью Arduino»: часть этого доклада совпадала с хабрапостом, но было и много новой информации. А теперь круг замкнулся: мы сделали текстовую версию доклада, чтобы вся эта новая информация появилась и на Хабре.

      Как правильно измерить энергопотребление приложения? Зачем при этом делать 10 000 замеров в секунду вместо 500? Какие смартфоны сложнее сверлить? Как убить iPhone совершенно непредвиденным способом? В тексте под катом — всё это и многое другое. Также прикладываем видеозапись доклада:

      Читать дальше →
    • UI-компоненты на пиксельных шейдерах: пишем ваш первый шейдер

        Кого можно назвать «пиксельных шейдеров начальник и пикселов командир»? Дениса Радина, работающего в Evolution Gaming над фотореалистичными веб-играми с использованием React и WebGL: он известен многим как раз под именем Pixels Commander.

        В декабре на нашей конференции HolyJS он выступил с докладом о том, как использование GLSL может улучшить работу с UI-компонентами по сравнению с «обычным джаваскриптом». А теперь для Хабра мы подготовили текстовую версию этого доклада — добро пожаловать под кат! Заодно прикладываем видеозапись выступления:


        Читать дальше →
      • Анимации в мире состояний

          Многие уже научились строить чистые интерфейсы и писать «undo-redo» в несколько строчек. Но как быть с анимациями? Часто их обходят стороной, и они не всегда вписываются в подход (state) ↦ DOM. Есть отличные решения вроде React Motion, но что если вам нужно делать сложные анимации или работать с Canvas, используя физический движок?

          В нашем тексте рассказывается, как работать с анимациям в React-приложениях, и сравнивается несколько подходов (D3, React-Motion, «грязные компоненты»). А также о том, как «запускать» анимации в Redux-приложениях. Материал основан на расшифровке доклада Алексея Тактарова с нашей декабрьской конференции HolyJS 2017 Moscow. Прилагаем заодно видеозапись этого доклада:


          Осторожно, трафик: под катом много картинок и гифок (сами понимаете, материал про анимации).
          Читать дальше →
          • +35
          • 11,9k
          • 1
        • Обзор докладов HolyJS 2018 Piter: от WebAssembly до Three.js



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

            Сегодня у нас материал для вторых. В программу HolyJS 2018 Piter (19-20 мая) ещё вносят последние штрихи, но по ней уже можно сделать окончательные выводы. Самые разные темы (от особенностей TypeScript и утечек памяти при использовании RxJS до портирования компиляторов JS на процессоры Эльбрус) — рассмотрели в этом посте всё, что уже известно о докладах HolyJS.
            Читать дальше →
          • Ускорение Angular-приложений

              Многие знают Минко Гечева (rhyme.com) по книге «Switching to Angular» и по тексту «Angular Performance-Checklist», помогающему Angular-разработчикам оптимизировать свои проекты. На нашей декабрьской конференции HolyJS 2017 Moscow он тоже развивал тему Angular-производительности, выступив с докладом «Faster Angular applications». А теперь на основе этого выступления мы подготовили хабрапост, переведя все на русский. Добро пожаловать под кат! А если предпочитаете англоязычную видеозапись выступления, прилагаем и ее тоже:


              Читать дальше →
            • Тестирование геолокации в Badoo: шишки, камни, костыли и селфи-палка

                Вроде бы о тестировании мобильных приложений есть уже тысячи материалов, так что удивить тут сложно. Но пока аспекты вроде UI уже затёрты до дыр, про тестирование геолокации рассказывают гораздо реже. И когда на нашей конференции Heisenbug Николай lamamer Козлов и Александр z3us Хозя (Badoo) поделились своим опытом, зрителей конференции доклад очень заинтересовал. Как и геолокацию получить, и телефон пользователю не разрядить? Зачем в этом тестировании селфи-палка? Насколько близко расположены лондонские пабы и что из этого следует?

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



                Читать дальше →
              • Белый ящик Пандоры

                  Обсуждая тестирование, чаще всего спикеры говорят об особенностях подхода, известного как «черный ящик». Но здесь мы поговорим о противоположном сценарии — «белом ящике», позволяющем формулировать вопросы к коду, понимая его внутреннюю структуру.



                  В основе статьи — расшифровка доклада Никиты Макарова (Одноклассники) с нашей декабрьской конференции Heisenbug 2017 Moscow.
                  Читать дальше →
                • «Герои Меча и Магии» в браузере: долго, сложно и невыносимо интересно

                    Как реализовать в браузере игру, на которой годы назад залипал без всякого браузера? С какими сложностями столкнёшься в процессе, и как их можно решить? И, наконец, зачем вообще это делать?

                    В декабре на конференции HolyJS Александр Коротаев (Tinkoff.ru) рассказал, как он сделал браузерную версию «Героев». Ранее уже появилась видеозапись доклада, а теперь для Хабра мы сделали ещё и текстовую версию. Кому удобнее видео — запускайте ролик, а кому текст — читайте его под катом:

                    Читать дальше →
                  • Открытая трансляция главного зала DotNext 2018 Piter



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

                      Какие доклады попали в открытую трансляцию? Полный список с описаниями — под катом, а перед ним отметим пару вещей. По итогам двух предыдущих DotNext Дилан Битти оказался явным зрительским фаворитом, поэтому откроет DotNext выступлением о том, как работают привычные нам технологии. А буквально вчера, когда доклад уже был полностью готов и согласован, Дилан открыл для себя тонкости кодировки KOI8-R и теперь увлечённо переделывает часть презентации!

                      Cменит его в главном зале Андрей Александреску — и это фигура такого масштаба, что мы сами не можем удержаться от селфи с ним. А следующим будет Саша Гольдштейн, которого представлять его дотнетчикам тоже не требуется. В общем, лайн-ап подобрался звёздный.
                      Читать дальше →
                    • Открытая бесплатная трансляция конференции Mobius 2018 Piter



                        20-21 апреля, то есть уже завтра-послезавтра, в Петербурге пройдёт конференция по мобильной разработке Mobius. Android и iOS, разнообразные темы от многопоточности до тестирования, российские спикеры и зарубежные звёзды — о том, что там будет, мы уже писали.

                        А вот о чём ещё не сообщали: в оба дня конференции онлайн-трансляция первого зала будет бесплатной. Идти будет на YouTube, так что смотреть удобно где угодно — хоть на смартфоне, хоть на телевизоре. И хотя ничто не может заменить полностью личное присутствие, мы стараемся приблизить онлайн-опыт к нему. Например, зрители трансляции могут писать в специальный чат свои вопросы спикерам, а между докладами будут видеть интервью со спикерами и включения со спонсорских стендов. В общем, в оба дня запускайте трансляцию на самом удобном для вас экране и наслаждайтесь!

                        А какие именно доклады попали в доступную для всех трансляцию? Под катом — все их названия и описания.
                        Читать дальше →
                      • Интерфейсы: как сообщать пользователю, если «Упс, что-то пошло не так»

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


                          В основе статьи доклад Антонины Хисаметдиновой с Heisenbug 2017 Moscow, которая занимается проектировкой пользовательских интерфейсов в компании Собака Павлова.

                          Кроме того, на Медиуме есть цикл статей «Руководство по проектированию ошибок». Цикл еще не дописан до конца, но дает более полную и цельную картину по теме статьи.
                          Читать дальше →
                        • От корутин до ARKit: всё, о чём можно будет узнать на Mobius 2018 Piter


                             
                            Когда в декабре мы анонсировали новый петербургский Mobius, нам самим были известны имена лишь нескольких спикеров. А теперь, когда до конференции осталась лишь неделя, рассказываем как следует о докладах, которые на ней можно будет услышать: от рассказа о мультиплатформенном использовании Kotlin до «секретного» кейноута Йонатана Левина. Если до сих пор не определились, идти ли — вот что поможет решить!


                            Читать дальше →
                          • Универсальные ссылки: дворец из подводных камней

                              При том, как много мобильные приложения дали человечеству, они в то же время «сломали» интернет. Вместо понятных ссылок на сайты, которые можно скопировать и поделиться, стало нужно объяснять «поставь такое-то приложение и зайди там туда-то».

                              К счастью, разработчики мобильных платформ осознали эту проблему и предложили концепцию «универсальных ссылок», которые одним кликом открывают нужное на любой платформе. Но то, что для пользователя «одним кликом», для программиста — «потом и кровью». На пути к успеху стоит целый ворох неожиданных нюансов, и Константин Якушев познакомился с ними на личном опыте при внедрении универсальных ссылок в Badoo. А затем на нашей конференции Mobius рассказал, как сделать всё правильно и обойти проблемы. Зрителям доклад понравился, и мы решили, что негоже полезному материалу оставаться только видеозаписью, поэтому под катом — его текстовая версия.

                              В докладе ситуация рассмотрена со стороны iOS, но универсальные ссылки на то и универсальные, чтобы объединять разные платформы, так что извлечь пользу могут не только iOS-разработчики.

                              Читать дальше →
                            • Как стать GPU-инженером за час

                                Нужно ли iOS-разработчику, не занимающемуся играми, уметь работать с GPU? Нужно ли ему вообще знать о том, что в айфоне есть GPU? Многие успешно работают в iOS-разработке, никогда не задумываясь об этой теме. Но GPU может быть полезен как для 3D-графики, так и для других задач, в ряде случаев оставляя CPU позади.

                                Когда на конференции Mobius 2017 Moscow Андрей Володин (Prisma AI) рассказал об использовании GPU в iOS, его доклад стал одним из фаворитов конференции, получив высокие оценки зрителей. А теперь на основе этого доклада мы подготовили хабрапост, позволяющий получить всю ту же информацию текстом. Интересно будет даже тем, кто не работает с iOS: доклад начинается с вещей, не привязанных конкретно к этой платформе.
                                Осторожно, трафик: под катом очень много изображений со слайдов.

                                Читать дальше →
                              • Один день в Альфа-Банке: мобильная разработка



                                  Альфа-Банк стал одним из первопроходцев мобильного банкинга: приложения для iOS и Android появились у него ещё в 2010-м, когда возможность «пополнить баланс телефона с самого телефона» была непривычной. А как обстоят дела с мобильной разработкой в банке теперь, спустя все эти годы?

                                  Ранее мы публиковали текст «Один день в Альфа-Банке: Java-разработка», а теперь наконец пришло время продолжения, где мы расспросили про работу над iOS- и Android-приложениями. Ответили нам Илья Царев и Антон Пухонин. Если написать их имена как iLya и Anton, сразу становится ясно, кто за что отвечает в компании!
                                  Читать дальше →
                                • «Конечно, это рискованно, но с должными мерами предосторожности использовать можно»: Крис Талингер о Graal



                                    «Жить на Гавайях, работать над суперпопулярным сервисом, внедрить там в продакшне экспериментальную Java-технологию, на которую другие ещё только с опаской поглядывают» — звучит как описание выдуманной Java-карьеры, о которой можно только мечтать. Но есть человек, для которого это всё суровые будни, и мы с ним пообщались.

                                    Благодаря Крису Талингеру в Twitter уже вовсю используют новый компилятор Graal, и не просто во имя любви к инновациям: это помогает компании экономить ощутимые суммы. Крис уже делился опытом Twitter в Петербурге на конференции Joker, а теперь приготовил новый доклад, призванный показать обычным Java-разработчикам, как им подступиться к Graal. А в ожидании этого доклада мы расспросили его и об основах Graal, и о том, как теперь в Twitter заходят ещё дальше, и о том, как Крис организовал на Гавайях Java-конференцию LavaOne.

                                    Читать дальше →
                                    • +39
                                    • 9,8k
                                    • 9
                                  • «Когда я стал Android-разработчиком, ещё негде было искать примеры»: интервью с Давидом Гонсалесом



                                      Android-разработчики могут знать Давида Гонсалеса в связи с несколькими разными вещами. Например, он участвует в open source-проекте Android Architecture Blueprints, где разные архитектурные подходы демонстрируются на конкретных примерах (недавно проект преодолел рубеж в 25 000 GitHub-звёзд). А также выступает с докладами, занимается бельгийской Kotlin User Group, ранее активно писал блог-посты — в общем, помогает сообществу многими способами, и звание Google Developer Expert неудивительно.

                                      Так что в интервью мы тоже расспросили Давида сразу о нескольких темах: начали с Android Architecture Blueprints, перешли к Kotlin, а закончили аутентификацией в Android, которой посвящён его новый доклад.
                                      Читать дальше →
                                      • +32
                                      • 7,5k
                                      • 2
                                    • «CI плохо справляются с требованиями мобильной разработки»: интервью с создателем fastlane Феликсом Краузе



                                        Многие мобильные разработчики любят инструмент fastlane, автоматизирующий задачи при выпуске приложения (генерацию скриншотов, code signing в случае с iOS, деплой в магазин или в систему бета-тестирования). Долгое время fastlane можно было использовать только на macOS, но сейчас этот проект делают частично кроссплатформенным. А его создатель Феликс Краузе на днях громко анонсировал новый проект: CI-систему fastlane.ci.

                                        И мы взяли у Феликса интервью, расспросив про обе темы: начали с вопросов о CI-новинке, а затем перешли к «обычному» fastlane.
                                        Читать дальше →
                                        • +34
                                        • 5,3k
                                        • 1
                                      • Новости Android-разработки, на которые стоит подписаться



                                          В этом году Андроиду стукнет 10 лет, но разработка приложений не превратилась в закостеневшую рутину, а продолжает активно меняться: достаточно посмотреть, насколько за год изменилась ситуация с Kotlin. Значит, Android-разработчику надо держать руку на пульсе, следя и за происходящими событиями, и за полезными блог-постами.

                                          А где именно в интернете это делать? Мы собрали вместе ссылки на самые разные полезные интернет-ресурсы, включая наш собственный.
                                          Читать дальше →
                                          • +35
                                          • 12,5k
                                          • 3
                                        • 10 цитат HolyJS 2017 Moscow



                                            О том, как в Москве прошла конференция HolyJS 2017, рассказывали уже неоднократно: на Хабре Евгений Гусев описал всё как участник Программного комитета, в блоге компании Noveo появились зрительские впечатления, да и мы сами в анонсе HolyJS 2018 Piter упоминали московские доклады.

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

                                            Читать дальше →
                                            • +19
                                            • 4,1k
                                            • 2