Pull to refresh
26
0
Send message

Accompanist — первый аккорд. Обзор библиотеки для Jetpack Compose

Reading time8 min
Views7.7K

Обычно новым фреймворкам не хватает хороших примеров использования, туториалов и инструментов. Но не в случае с Jetpack Compose: параллельно с разработкой фреймворка Google развивал репозиторий, богатый на примеры использования. Вырисовывался набор полезных утилит, переиспользуемых виджетов и прочих удобств для разработки. 

Так из репозитория с примерами вырос Accompanist — набор библиотек для Jetpack Compose, которые можно добавить в свой проект как зависимость. В статье рассмотрим подробнее, какой инструментарий он предоставляет.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments3

Уход сотрудников на удалёнку снёс крышу менеджерам

Reading time5 min
Views71K

Пустая парковка у офиса Facebook в Менло-Парк, 14 апреля 2020 года. Фото: Jeff Chiu/Associated Press

Если бы этой пандемии не случилось, её нужно было придумать. Огромное количество людей наконец-то поняли, насколько удобнее и эффективнее работать дома, насколько меньше времени уходит на бессмысленные поездки, стояние в пробках, переговоры в шумном офисе. Теперь до 42% сотрудников не хотят возвращаться, что вполне логично. Люди нащупали баланс между работой и личной жизнью, ощутили вкус свободы. Они готовы отказаться от серьёзной прибавки в зарплате, лишь бы остаться на удалёнке.

Но самая трагическая история произошла с менеджерами. Их судьба повисла на волоске. Профессиональные переговорщики всю жизнь оттачивали навыки презентаций, личных собеседований, психологического давления, плетения интриг. Они буквально лишились почвы под ногами — разработчики массово ушли из-под контроля, и что самое зловещее, они продолжают спокойно работать на удалёнке, разбирают таски и решают задачи, будто менеджеры и не нужны вовсе! Конечно, такая ситуация совершенно недопустима (по мнению менеджеров).
Читать дальше →
Total votes 186: ↑152 and ↓34+118
Comments284

Инструкция: как написать собственный GitHub Action на Dart

Reading time4 min
Views3.3K

Привет! Меня зовут Дмитрий Круцких, я Flutter-тимлид в компании Surf. Сегодня расскажу, как написать простейший GitHub Action, используя язык программирования Dart. 

Читать далее
Total votes 6: ↑3 and ↓30
Comments0

Как стать тимлидом, или Что вас ждет по другую сторону разработки?

Reading time10 min
Views17K

Привет Хабр! 

Меня зовут Саша Шутай, я тимлид в компании AGIMA. Конечно, прежде чем стать руководителем команды, я был разработчиком и работал под руководством нескольких тимлидов, поэтому знаком с разными подходами к управлению. В этой статье я поделюсь своим опытом тимлидерства и дам полезные советы, которые упростят жизнь новоиспеченного тимлида. В общем, расскажу, что ждёт разработчика, решившего стать руководителем.

Читать далее
Total votes 16: ↑15 and ↓1+14
Comments0

За что App Store может отклонить приложение: чек-лист

Reading time6 min
Views8.8K

App Store — самая строгая площадка для размещения приложений. Ревью проходит дольше и строже, чем у Google Play и Huawei App Gallery. В 2020 году AppStore отклонил миллион приложений, которые публиковались впервые, и миллион апдейтов.

С одной стороны, такая строгая политика — это хорошо: пользователям легче выбрать приложение и быть уверенным, что оно безопасно. Однако для разработчиков это настоящая головная боль.

Например, получить отказ в публикации можно, если в приложении есть контент, защищённый авторскими правами, — причём даже если он на скриншотах в магазине Apple. А если приложение связанно со здоровьем, придётся предоставить описание алгоритмов и уровень точности снимаемых приложением показаний.

Мы составили чек-лист очевидных и не очень очевидных причин, по которым AppStore отклоняет приложения. В статье раскроем подробнее каждый пункт.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments25

Flutter 2.2: что нового

Reading time6 min
Views6.2K

Представляем свежий релиз Flutter 2.2, анонсированный на Google I/O. Да, оригинальная статья вышла ещё в мае, но мы считаем, что лучше поздно, чем никогда. Публикуем перевод статьи с комментариями Евгения Сатурова — ex-Flutter TeamLead Surf, а ныне — DevRel Surf.

Читать далее
Total votes 14: ↑6 and ↓8-2
Comments4

Особенности тестирования Android без Google-сервисов

Reading time12 min
Views9.1K

Привет! Меня зовут Мария Лещинская, я QA-специалист в Surf. Наша компания разрабатывает мобильные приложения с 2011 года. В этом материале поговорим о тестировании устройств Android, на которых нет поддержки Google Services.

Huawei без Google-сервисов начали массово выпускаться в 2019 году. Мы в Surf, разумеется, задумались о будущем: как сильно пострадают наши процессы и что нужно незамедлительно осваивать. 

Я поделюсь впечатлениями от работы с Android без Google-сервисов и расскажу, какие возможности имеют такие мобильные устройства при тестировании.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments8

Какие ошибки совершает аналитик в первые полгода работы и как их избежать

Reading time6 min
Views5.9K

Хайди хо, Кайл! 

Меня зовут Диана и я бизнес-аналитик в компании Surf. В прошлом году я закончила бакалавриат факультета компьютерных наук в ВГУ: это дало мне базовые теоретические знания. Однако теория мало применима без практики: теперь набиваю шишки в настоящих проектах. 

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

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

Пристёгивайтесь покрепче: мы начинаем увлекательное путешествие по миру ошибок начинающего аналитика (все трюки были выполнены профессиональными каскадёрами, не повторять в домашних условиях).

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments7

Flutter 2: что нового

Reading time21 min
Views15K

Flutter for Web и null safety в Dart переходят в стабильную версию, бета-версия Flutter for Desktop и многое, многое другое!

Перевод официального анонса Flutter team с комментариями от Flutter Team Lead Surf Евгения Сатурова

Сегодня мы с радостью объявляем о релизе Flutter 2. С тех пор, как вышел Flutter 1.0, прошло чуть больше двух лет, но за этот короткий срок мы внесли 24 541 исправлений и смёрджили 17 039 пул-реквестов от 765 членов сообщества. Отдельное спасибо нашим волонтёрам за то, что щедро тратят своё свободное время на улучшение Flutter. Flutter – самое настоящее коллективное детище, и мы бы не добрались до второй версии без тех, кто сообщал нам о проблемах, отправлял пул-реквесты и проверял код. Этот релиз посвящается всем вам.

Читать далее
Total votes 19: ↑14 and ↓5+9
Comments6

“А вдруг наших спикеров схантят?!” Зачем и как учить инженеров выступать

Reading time9 min
Views7.2K
Привет! Меня зовут Женя Голева, я работаю деврелом в компании Lamoda уже четыре года. Сейчас процесс подготовки спикеров у нас налажен и отработан, но так было не всегда. В начале работы мое предложение о выступлении встречало сопротивление и у разработчиков, и у руководителей команд.

Если вам интересно, какую практическую пользу приносят компании доклады сотрудников на конференциях — или уже хочется развивать культуру выступлений, но нанимать DevRel'а в планах нет — я думаю, наш опыт будет полезен.

image
Читать дальше →
Total votes 43: ↑41 and ↓2+39
Comments8

Как мы сделали миграцию пользовательских данных с нативного приложения на Flutter

Reading time6 min
Views4.4K
Всем привет! Меня зовут Дмитрий Андриянов, я Flutter-разработчик в Surf.

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


Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments0

Как правильно идентифицировать Android-устройства

Reading time6 min
Views25K

Всем привет! Если вам нужно  создать уникальный и стабильный идентификатор Android-устройства для использования внутри приложения, то вы наверняка заметили тот хаос, который присутствует в документации и в ответах на stackoverflow. Давайте рассмотрим, как решить эту задачу в 2020 году. О том, где взять идентификатор, стойкий к переустановкам вашего приложения, и какие могут быть сложности в будущем — в этом кратком обзоре. Поехали!

Читать далее
Total votes 16: ↑15 and ↓1+14
Comments11

Flutter под капотом: Owners

Reading time7 min
Views7.6K
Всем привет! Меня зовут Михаил Зотьев, я Flutter-разработчик и тимлид в Surf.

Продолжаю серию материалов о внутреннем устройстве работы Flutter:

  1. Flutter под капотом
  2. Flutter под капотом: Binding
  3. Flutter под капотом: Owners > Вы находитесь здесь

Для полного восприятия советую знакомиться с материалом последовательно. Каждая следующая часть — структурное продолжение предыдущей, которое раскрывает один из аспектов общего внутреннего устройства.

Если вам больше нравится видеоформат, то совсем скоро вы сможете посмотреть на эту тему мой доклад, с которым я выступил на DartUp 2020. Он объединяет и обобщает материал всех трёх статей вместе. Ссылка на доклад.


Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments2

Магическая шаблонизация для Android-проектов

Reading time16 min
Views8.5K


Начиная с Android Studio 4.1, Google прекратил поддержку кастомных FreeMarker-ных шаблонов. Теперь вы не можете просто взять и написать свои ftl-файлы и сложить их в определённую папку, чтобы Android Studio самостоятельно добавила их в меню New → Other. В качестве альтернативы нам предлагают разбираться в плагиностроении и создавать шаблоны изнутри плагинов IDEA. Нас в hh такая ситуация не очень устраивает, так как есть несколько полезных FreeMarker-ных шаблонов, которые мы постоянно используем и которые иногда нуждаются в обновлениях. Лезть в плагины, чтобы поправить какой-то шаблон? Нет уж, увольте. 


Всё это привело к тому, что мы разработали специальный плагин для Android Studio, который поможет решить эти проблемы. Встречайте – Geminio.

Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments7

Почему я ушёл с React Native и перешёл во Flutter: Часть 2

Reading time23 min
Views8.5K
Всем привет. Меня зовут Дмитрий Андриянов. Два года я писал на React Native, сейчас работаю в Surf во Flutter отделе и уже более полутора лет пишу на Flutter.

В первой части статьи я рассказал про основные различия между React Native и Flutter.
В этой части расскажу про различия между React Native и Flutter при создании UI для Android и iOS.


Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments48

Flutter: результаты опроса разработчиков за Q3 2020

Reading time10 min
Views6.8K
Привет! На связи Евгений Сатуров из Surf.

Команда Google опубликовала результаты опроса Flutter-разработчиков за третий квартал 2020 года. Публикую перевод материала с моими комментариями.


Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments5

Анонс Flutter 1.22

Reading time18 min
Views8.1K
Всем привет! Я — Евгений Сатуров, Flutter TeamLead в Surf. Представляю перевод официальной статьи про свежий апдейт Flutter 1.22 — как обычно, дополненный моими комментариями.

Этот релиз — один из самых примечательных для меня за всё последнее время. Мы движемся вперёд не только за счёт появления новых виджетов, которыми уже никого не удивишь, но и благодаря серьёзным инфраструктурным изменениям, а также оперативной поддержке новых операционных систем. То ли ещё будет!

Погнали ближе знакомиться с новой версией Flutter 1.22.


Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments5

Как спроектировать пошаговое заполнение данных в мобильном приложении

Reading time17 min
Views8K
Привет! Меня зовут Вита Соколова, я Android Team Lead в Surf.

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

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


Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments5

«Flutter клёвенький — у меня только такое объяснение». Обзор лучших выпусков Flutter Dev Podcast

Reading time7 min
Views4.4K
Привет! На связи Flutter Dev Podcast и его создатель и ведущий — Евгений Сатуров. 

Вместе с коллегами из Flutter-комьюнити мы делаем подкаст про Flutter. Первый эпизод вышел 29 января 2019 года. С тех пор каждый месяц мы приглашаем коллег из мира Flutter и других сфер IT: обсуждаем новости, события, технические нюансы, даём советы из боевого опыта — в общем, смотрим на Flutter с разных ракурсов.

Как и зачем мы делаем подкаст, я подробно рассказал на vc.ru. В этой статье я сделал обзор самых интересных и популярных эпизодов Flutter Dev Podcast.


Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments8

Используем бесплатные возможности Github Actions для CI/CD на Flutter-проекте

Reading time16 min
Views12K
GitHub Actions — инструмент для автоматизации рутинных действий с репозиторием и подспорье при создании CI/CD для вашего проекта.

Пользователи GitHub’а ежемесячно получают по 2000 минут, чтобы выполнять GitHub Actions на инфраструктуре сервиса. Применим это бесплатное время с пользой.

Как разработчик Flutter-приложений, даю инструкцию: как c помощью GitHub Actions на каждый pull request запускать тесты и анализатор кода, билдить артефакт и деплоить его для тестирования в Firebase.


Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments12

Information

Rating
Does not participate
Works in
Registered
Activity