Представьте, что у вас в приложении есть чат. В один прекрасный день на встрече отдела product manager приносит весть, что пора бы в чат добавить поддержку голосовых сообщений. «Да легко!» — проносится в голове: быстренько создадим новую ячейку, нарисуем в ней плеер, напишем бизнес-логику и готово. Но вдруг оказывается, что заказчик хочет плеер «как в Telegram» — с поддержкой отрисовки аудиоволны. Да ещё и динамически — в процессе записи.
Рубрика «Блог компании Surf»
Как нативно визуализировать голос в iOS
2022-05-07 в 12:35, admin, рубрики: avfoundation, SURF, surfstudio, Блог компании Surf, звук, звукозапись, Программирование, разработка мобильных приложений, разработка под iOS, разработка приложений, физикаАнонс Flutter 1.20
2020-08-14 в 12:04, admin, рубрики: flutter, SURF, Блог компании Surf, кроссплатформенная разработка, мобильная разработка, разработка мобильных приложенийПовышенная производительность, автозаполнение, новый виджет и многое другое!
Всем привет, я Евгений Сатуров из Surf. Представляю перевод официальной статьи про последний апдейт Flutter 1.20 с моими комментариями. Фреймворк с каждым новым релизом становится всё более отполированным, и сегодня мы рассмотрим, что принес нам stable-канал в конце лета.
Сервис на языке Dart: введение, инфраструктура бэкэнд
2020-07-21 в 13:09, admin, рубрики: dart, docker, flutter, fullstack development, nginx, SURF, Блог компании Surf, разработка мобильных приложений2. Backend
2.1. Инфраструктура.
2.2. Доменное имя. SSL.
2.3. Серверное приложение на Dart.
…
3. Web
3.1. Заглушка «Under construction»
…
4. Mobile
…
Введение
Меня, Flutter-разработчика, знакомые часто спрашивают: «Что же такое язык Dart?». Качают головой со словами: «А вот Петя серьёзные транспорты на Java пишет, а в Яндексе вообще плюсы в проде...». Ну что ж, пожалуй, действительно, Dart далёк от практик «фабрик для создания фабрик» из Java. Однако если стоит задача реализовать клиентские приложения сразу для нескольких платформ, не утонув в потоке задач по синхронизации разработчиков разных целевых ОС; создать целостный UI, узнаваемый, но специфичный для Android, iOS и веб и в целом уложиться в адекватные бюджет и сроки, — здесь Flutter не имеет конкурентов. И эти вопросы стоят вдвойне если у вас… стартап.
Итак, легенда: некий стартап решил создать новый сервис… ну, например, для
между пользователями сервиса. Цель стартапа — выпустить MVP за три месяца на трех платформах (плюс четвертая — сервер, конечно).
10 лет назад я бы сказал, что этот кейс не имеет решения и постарался бы держаться от него подальше, 3 года назад решением мог стать стек ReactNative/React/NodeJs, в 2020 году для этого есть Dart. Добро пожаловать в атмосферу разработки альфа версии сервиса, я постараюсь наглядно пройти и объяснить весь процесс разработки. Код всех приложений будет выложен в паблик. Комментарии, включая набросы и холивары, приветствуются. Спросить автора «по существу» или просто посоветоваться можно в Telegram канале нашего отдела.
Удаленка в IT: личный опыт
2019-11-06 в 11:54, admin, рубрики: remote work, SURF, surfstudio, Блог компании Surf, карьера, Карьера в IT-индустрии, личный опыт, работа дома, удаленная работаСейчас все больше компаний готовы к найму удаленных сотрудников. Для работодателей это расширяет возможность выбора высококвалифицированных специалистов. В Surf найм удаленных сотрудников практикуется уже давно, на данный момент 40% работают дистанционно — разработчики и менеджеры. Удаленных QA мы не нанимаем из-за специфики мобильной разработки — нужен большой парк устройств, на которых проводится тестирование, и это сложно организовать дома. Процессы в Surf адаптировались к работе с удаленщиками в отлаженный механизм, который позволяет организовать эффективную работу над проектами.
Организуем ML-проект с помощью Ocean
2019-07-09 в 12:08, admin, рубрики: data mining, ml, SURF, surfstudio, Блог компании Surf, машинное обучение
Вступление
За годы разработки ML- и DL-проектов у нашей студии накопились и большая кодовая база, и много опыта, и интересные инсайты и выводы. При старте нового проекта эти полезные знания помогают увереннее начать исследование, переиспользовать полезные методы и получить первые результаты быстрее.
Очень важно, чтобы все эти материалы были не только в головах разработчиков, но и в читаемом виде на диске. Это позволит эффективнее обучить новых сотрудников, ввести их в курс дела и погрузить в проект.
Конечно, так было не всегда. Мы столкнулись с множеством проблем на первых этапах
- Каждый проект был организован по-разному, особенно если их инициировали разные люди.
- Недостаточно отслеживали, что делает код, как его запустить и кто его автор.
- Не использовали виртуализацию в должной степени, зачастую мешая своим коллегам установкой существующих библиотек другой версии.
- Забывались выводы, сделанные по графикам, которые осели и умерли в горé jupyter-тетрадок.
- Теряли отчеты по результатам и прогрессу в проекте.
Для того, чтобы эти проблемы решить раз и навсегда, мы решили, что нужно работать как над единой и правильной организаций проекта, так и над виртуализацией, абстракцией отдельных компонентов и переиспользуемостью полезного кода. Постепенно весь наш прогресс в этой области перерос в самостоятельный фреймворк — Ocean.
Вишенка на торте — логи проекта, которые агрегируются и превращаются в красивый сайт, автоматически собранный с помощью выполнения одной команды.
В статье мы расскажем на маленьком искусственном примере, из каких частей состоит Ocean и как его использовать.