Как стать автором
Обновить
137.52
Surf
Создаём веб- и мобильные приложения
Сначала показывать

Ещё одна статья про макросы. Часть 2

Время на прочтение20 мин
Количество просмотров970

Продолжаем предыдущую статью — вместе с Серёжей, Flutter Developer Surf, мы пройдём путём разработчика, который только начал изучать макросы, и разберём оставшиеся интересные (и негативные, да!) примеры.

Читать дальше
Всего голосов 6: ↑5 и ↓1+8
Комментарии0

Ещё одна статья про макросы. Часть 1

Время на прочтение12 мин
Количество просмотров3.2K

Про макросы в Dart написали уже кучу статей, в этой и следующей — минимум теории и максимум практики и рассуждений.

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

Читать дальше
Всего голосов 14: ↑13 и ↓1+16
Комментарии6

Девайс-холдер: кто такой, зачем нужен и насколько хорошо держит устройства

Время на прочтение6 мин
Количество просмотров1.9K

Все, кто знаком с мобильным тестированием, знают, что для тестов нужны разные устройства. Если с iOS все понятно — там одна операционная система, один вендор, но разные форм-факторы — то с Android сложнее. Это разные оболочки, и разные форм-факторы, и разные сервисы, которые будут влиять на тестирование. Поэтому нам понадобится не один и даже не десять смартфонов.

Расскажем, как покрыть устройствами все запросы отдела и сделать так, чтобы каждый QA был уверен в наличии нужной конфигурации.

Читать дальше
Всего голосов 11: ↑7 и ↓4+3
Комментарии2

Flutter Web. Часть 1

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.8K

Как работает Flutter Web, и есть ли особенности взаимодействия с платформой? Разбираемся с этим в серии статей. Эта — первая.

Читать дальше
Всего голосов 16: ↑14 и ↓2+16
Комментарии3

Как устроены аннотации в Kotlin. Часть 2

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.2K

Привет! Сегодня с вами Максим Кругликов из Surf Android Team, и мы продолжаем статью об аннотациях в Kotlin, в которой рассмотрим кодовую базу Moshi в качестве примера того, как реальная библиотека использует процессинг аннотаций, рефлексию и lint. В первой мы рассказывали об этих трёх механизмах — рекомендуем посмотреть сначала её.

Читать дальше
Всего голосов 3: ↑2 и ↓1+3
Комментарии0

Принципы SOLID на примере iOS-разработки

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров5K

Привет, меня зовут Антон, я iOS-разработчик в компании Surf. Все программисты хотят писать красивый, масштабируемый и сопровождаемый код, и мобильщики – не исключение. Как в этом помогут принципы SOLID, и зачем они нужны?

Расскажем и покажем на примерах (куда без этого). Кейсы в статье относятся к iOS-разработке, но они будут полезны для всех разработчиков, независимо от стека.

Читать дальше
Всего голосов 7: ↑7 и ↓0+7
Комментарии6

Как подменять данные в SSR-сайтах

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров1.6K

Привет, на связи Surf Web Team и Никита, QA Surf! 

Давайте разберемся, какие проблемы возникают при тестировании SSR-сайтов с помощью подмены данных и как сделать так, чтобы все заработало.  

Читать далье
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Как устроены аннотации в Kotlin. Часть 1

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4.2K

Привет! Сегодня с вами Максим Кругликов из Surf Android Team с переводом статьи про устройство аннотаций в Kotlin и три основных механизма их обработки: процессинг, рефлексию и lint.

Читать дальше
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Flutter Add-to-App: как добавить Flutter в приложение

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров2.9K

Меня зовут Сергей, я разработчик в Surf Flutter Team. И сегодня мы разберёмся, как пользоваться Flutter Add-to-App, на что обратить внимание и какие проблемы могут возникнуть при интеграции.

Читать дальше
Всего голосов 13: ↑12 и ↓1+12
Комментарии2

Как двум командам сработаться и не сойти с ума

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров1.5K

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

Как раз об этой комбинации мы и хотим рассказать. Так что в этой статье поделимся собственным опытом и порефлексируем.

А чтобы картинка не получилась однобокой, сделаем мы это вместе: точку зрения команды бэкенда расскажет Наташа, системный аналитик (SA) компании Интаро, взглядом фронтенда поделится Лиза, аналитик (BA) компании Surf.

Читать дальше
Всего голосов 6: ↑6 и ↓0+6
Комментарии1

Flutter 3.22 — наше мнение

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров5.5K

14 мая Flutter зарелизили новую версию 3.22. Подробнее об этом тут (мы всё заботливо перевели и художественно отредактировали), оригинал здесь

Наша Flutter-команда не могла остаться в стороне и уже опробовала новинку. Делимся мнением.

Читать дальше
Всего голосов 11: ↑10 и ↓1+11
Комментарии14

Что Flutter 3.22 нам готовит?

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров1.5K

Привет, с вами Flutter-команда Surf с переводом нового релиза Flutter 3.22.

WebAssembly, улучшенный рендеринг графики, способы интегрировать искусственный интеллект — это и многое другое в статье!

Читать дальше
Всего голосов 4: ↑2 и ↓2+2
Комментарии1

Ключи во Flutter

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров3.8K

Во Flutter очень много виджетов и в каждом есть свойство key — ключ.  Используется оно не так часто и, на первый взгляд, может показаться несущественным. Но если использовать его неправильно, настанет хаос, разведутся баги, а приложение начнет вести себя неподобающе. Приставать к людям, наверное, не станет, но явно усложнит жизнь. 

У ключей во Flutter есть несколько разновидностей. Выбрать правильный тип ключа для конкретной ситуации — сложная задача даже для опытных разработчиков. Так что идём смотреть, как правильно использовать ключи и избежать потенциальных проблем в работе приложения.

Читать дальше
Всего голосов 6: ↑6 и ↓0+8
Комментарии3

Уменьшаем boilerplate с помощью Swift Macros

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2.2K

Сегодня с вами Никита Коробейников, iOS Team Lead в Surf. Никита объяснит, что такое Swift Macros, сравнит кодогенерацию от Apple со сторонними решениями: Liquid, Generamba, Sourcery и расскажет, как создать собственный Swift Macros. 

Читать дальше
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Автоматизированное тестирование событий аналитики в мобильном приложении: насколько это реально и оправдано

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров1.5K

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

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Flutter 3.16: обзор обновления фреймворка с комментариями разработчиков Surf

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров4.7K

Привет, на связи команда Flutter-разработчиков Surf. Мы регулярно делимся с сообществом последними новостями о Dart и Flutter, и этот случай — не исключение. Предлагаем перевод официального материала о большом обновлении Flutter 3.16. Дополнили его своими комментариями.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии0

Subject объекты в RxDart и чем они полезны Flutter-разработчику

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров3.1K

Dart в совокупности с пакетом Async обладает неплохим функционалом в части работы со стримами. Однако ограничения всё ещё есть. Чтобы сделать стримы более удобными, используется пакет RxDart.

Меня зовут Виталий, я Flutter Team Lead в Surf. Это первая статья в цикле публикаций на тему RxDart.

Читать далее
Всего голосов 5: ↑4 и ↓1+4
Комментарии0

WidgetKit в iOS — не просто большие иконки

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.7K

Меня зовут Даша, я iOS-разработчик в Surf. Сегодня я освежу в вашей памяти философию и design виджетов. Подсвечу технические аспекты, которые помогут, если вы собираетесь делать свой первый виджет или хотите вдохнуть жизнь в старый. А ещё затрону несколько неочевидных, но важных тем.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии1

jenv — удобный инструмент для управления версиями Java

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.6K

Иногда может возникнуть необходимость использовать какую-то определенную версию Java для вашего проекта. Мы тоже в Surf с таким столкнулись при работе над одним из Flutter приложений-долгожителей. Решение нашлось в виде использования менеджера версий Java. Рассказываем, что за инструмент и как с ним базово работать на MacOS.

Читать далее
Рейтинг0
Комментарии13

In-app purchases — за что и почему? Взгляд аналитика

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров4.5K

Всем привет, меня зовут Лиза, я — аналитик Surf. Имею пока что не самый долгий, но уже чрезвычайно насыщенный опыт работы в Fintech, EdTech и MedTech проектах. Я поделюсь с вами своим опытом проектирования и подготовки ТЗ для реализации in-app purchases.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии0
1
23 ...

Информация

Сайт
surf.ru
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия