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

Нейронные сети и Android: как их создавать и использовать в мобильных приложениях

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

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

Рассказываем про нейросети в Android-приложениях: какие есть инструменты для внедрения, как создавать свои модели и использовать готовые.

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

Как не «сломать» вёрстку Flutter-приложения из-за textScaleFactor

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

Иногда на смартфоне неожиданно «ломается» вёрстка приложения, при этом в эмуляторе всё работает корректно. Рассказываем, в чём может быть причина.

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

Что ждёт Flutter в будущем

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

О чём говорили на конференции Flutter Forward в Найроби: перевод статьи с комментариями разработчиков Surf.

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

Async/await в iOS: что нам дает неблокирование потоков

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

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

Рассказываем, что такое неблокирование потоков, как оно работает и какие преимущества даёт Async/await при работе с большим количеством задач.

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

Особенности работы мобильного аналитика в банковских проектах

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

Чем проект банковского мобильного приложения отличается от других? Та же работа с заказчиком, уточнение и описание требований, проектирование функциональностей, согласования ТЗ… Но так кажется только на первый взгляд. 

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

Создаём стенд для бэкенд-разработки на Bare Metal (и не только). Часть 1

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

Как развернуть инфраструктуру для бэкенд-разработки: с чего начать, что ставить и как ко всему подступиться. Пошаговая инструкция.

В этом выпуске разберём установку Ubuntu, Docker, K8s, Metallb и Traefik.

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

А вот и не подерётесь: как организовать работу команды аналитиков на проекте

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

Однажды к нам пришла задача: заказчик хотел получить мобильное приложение, сайт, ERP-систему и CMS. И всё это — за полгода. Мы поняли, что реализовать проект можно, если подключить к нему не одного аналитика, а команду.

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

Рассказываем, как мы вышли из этой ситуации и выстроили работу команды.

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

TypeScript 4.9: что нас ожидает

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

В сентябре Microsoft анонсировал TypeScript 4.9 beta. В бета-версии появились любопытные нововведения и исправления: новый оператор, оптимизация производительности, улучшения существующих типов… Разбираем самые интересные фичи этого анонса. 

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

Адаптируем Android-приложение для незрячих людей. Часть 2: Jetpack Compose

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

По данным ВОЗ, в мире более миллиарда человек обладает с той или иной формой инвалидности. Поэтому Accessibility, или доступность, — важная штука в разработке программного обеспечения, особенно под мобильные платформы.

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

Сегодня — про Accessibility в Jetpack Compose: в нём сделать доступный графический интерфейс приложения ещё легче, чем на View. Разбираемся, как устроена поддержка доступности в Compose и какие особенности учесть при разработке.

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

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

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

Обновления для работы с текстом, улучшения производительности и многое другое.

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

Выполняем задачи по расписанию с Quartz и Spring Boot

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

Функции приложения, которые должны выполняться с определенной периодичностью или по расписанию, не выглядят на первый взгляд чем-то сложным. Однако при реализации можно столкнуться с рядом проблем. Грамотно подобранный инструмент позволит облегчить разработку и избежать проблем при эксплуатации приложения.

В статье на примере покажу, зачем использовать планировщик задач Quartz в Spring Boot-приложениях и с какими проблемами он поможет справиться.

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

Как подружить Redux и Elementary

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

Поговорим об управлении глобальным состоянием с помощью Redux. Расскажу, как наиболее продуктивно связать Elementary — архитектурный пакет для Flutter — и Redux.

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

Jetpack Compose: реализация меню Apple Watch

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

Мне очень нравится меню с Apple watch: плавность анимации, поведение иконок при перемещении, расположение элементов по необычной сетке. Я захотел повторить это меню на Android. Но делать это на старом подходе с помощью ViewGroup или кастомного Layout Manager для RecyclerView не очень хотелось: слишком уж затратно для работы «в стол». 

С появлением Compose эта идея стала более привлекательной и интересной для реализации. Рассказываю, как создать собственный ViewGroup на Jetpack Compose. 


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

Навигация в Swift UI: что изменилось с появлением iOS 16

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

Одно из самых проблемных мест SwiftUI — работа с навигацией. Отсутствие доступа к стеку навигации, невозможность разделить UI-слой и слой навигации, сложность создания диплинков — всё это затрудняло работу многим разработчикам, использующим SwiftUI в своих проектах.

В iOS 16 появился совершенно новый API для работы с навигацией. Разбираемся, стало ли удобнее.

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

Создание инициализатора Flutter-проектов. Чисто и SOLIDно

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

Pet-проект или самописный инструмент помогают решить проблемы, которые возникают в разработке. На примере инициализатора Flutter-проектов рассказываем, как следует подходить к разработке собственной «тулзы» правильно: с SOLID и чистой архитектурой.

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

Адаптируем Android приложение для незрячих людей. Часть 1: основы

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

В один из зимних вечеров я сидел дома, читал замечательную книжку «Android-программирование для профессионалов» и наткнулся на главу про Accessibility. Раньше я об этой теме не задумывался: клал null в поле contentDescription и жил себе спокойно. Но когда узнал, как слабовидящие люди пользуются смартфоном, у меня появилось желание погрузиться в тему доступности глубже.

Рассказываю, как адаптировать приложение для людей с ограниченными возможностями и так ли это трудозатратно, как кажется.

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

Ошибки начинающего проектного менеджера

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

В первый месяц стажировки ментор мне говорил: «В жизни каждого уважающего себя менеджера должен быть один легендарный факап». А что скажете насчёт пяти? 

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

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

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

Ещё один текст о том, как правильно общаться с заказчиком, чтобы он лучше вас понимал. На лавры Ильяхова не претендуем, в лёгкий язык без стоп-слов не получилось (сложна!). Постарались собрать краткий гайд «гигиенического минимума коммуникаций» для проджектов и всех, кому предстоит общение с заказчиком.

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

Android 13: какие изменения нас ожидают

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

Работа с разрешениями, загадочный TARE, изменения UI. Разбираемся, какие изменения несёт грядущее обновление Android 13.

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

Выход из ада зависимостей: взгляд iOS-разработчика

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

Как не попасть в ад из внешних зависимостей? Как сделать так, чтобы проект собирался с одинаковыми версиями зависимостей на машинах разных разработчиков? Рассказываем, зачем нужны менеджеры зависимостей и как ими пользоваться правильно.

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

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

Информация

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