Как стать автором
Обновить
106.58
Рейтинг
Surf
Мобильные приложения и цифровая трансформация
Сначала показывать
  • Новые
  • Лучшие

Бенчмарк реальных Android-проектов на современных MacBook

Блог компании Surf Разработка под Android *Компьютерное железо

Правильные тесты скорости сборки реальных Android-проектов на семи MacBook различных поколений: с Intel i7, i9 и всех вариациях Apple M1 в разных размерах ноутбуков. Результаты не такие однозначные, как могли бы быть...

Узнать результаты
Всего голосов 20: ↑16 и ↓4 +12
Просмотры 3.4K
Комментарии 18

Новости

Как устроен Elementary

Блог компании Surf Программирование *Разработка мобильных приложений *Dart *Flutter *

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

Мы в Surf постоянно сталкиваемся с необходимостью решать эти проблемы при разработке мобильных приложений, в том числе и на Flutter. Опыт, который мы получили за долгое время, отразился на наших подходах и лёг в основу библиотеки Elementary, автором которой я являюсь.

В статье расскажу, как устроен Elementary, какие принципы в нём заложены и чем вообще он может быть полезен.

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

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

Блог компании Surf Разработка мобильных приложений *Dart *Flutter *
Перевод

Повышение производительности, новые фичи Firebase, состояние десктопной версии, новые инструменты и многое другое.

Я — Евгений Сатуров, Head of Flutter в Surf и ведущий Flutter Dev Podcast. Представляю перевод официальной статьи про свежий релиз Flutter 2.8, дополненный моими комментариями.

Читать далее
Всего голосов 21: ↑20 и ↓1 +19
Просмотры 8.2K
Комментарии 6

Elementary: новый взгляд на архитектуру Flutter-приложений

Блог компании Surf Программирование *Разработка мобильных приложений *Dart *Flutter *
Tutorial

Elementary — это архитектурный пакет, который создали в Surf на основе опыта разработки приложений на Flutter и лучших практик современной разработки.

Решение позволяет чётко разделить слои согласно ответственностям, сделать код прозрачнее, а тестирование проще. На примере реального приложения показываем, как использовать Elementary.

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 6.1K
Комментарии 11

Jetpack Fragment 1.4: Multi Back Stack, StrictMode

Блог компании Surf Разработка под Android *

Из статьи вы узнаете про новинки Jetpack Fragment 1.4: поддержку множественного back stack, FragmentStrictMode, новый менеджер состояний Fragment. Также расскажем, какие улучшения произошли под капотом.

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

Топ-5 заблуждений в работе аналитика

Блог компании Surf Анализ и проектирование систем *Аналитика мобильных приложений *

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

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

BottomSheet в iOS 15: возможности ​​UISheetPresentationController

Блог компании Surf Программирование *Разработка под iOS *Разработка мобильных приложений *

В iOS 15 наконец-то появился способ управления высотой модальных контроллеров. Но насколько гибкой и удобной получилась реализация от Apple? Чтобы разобраться, вспомним, как эта задача решалась раньше, рассмотрим возможности и поведение нового UISheetPresentationController, оценим перспективы его применения в реальных проектах.

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

Бить или не бить? Модули в Xcode: сравниваем XcodeGen и Tuist

Блог компании Surf Программирование *Разработка под iOS *Разработка мобильных приложений *

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

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

Как проводить тестирование на удалёнке и обходиться без тонн разных девайсов. Опыт Surf

Блог компании Surf Программирование *Разработка мобильных приложений *Тестирование мобильных приложений *Удалённая работа

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

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

Функциональный подход в Jetpack Compose: каррирование функций

Блог компании Surf Программирование *Разработка мобильных приложений *Разработка под Android *Функциональное программирование *

Современные языки программирования всё чаще становятся мультипарадигменными, и Kotlin не исключение. С появлением Jetpack Compose наблюдается уход от ООП  в функциональное программирование. Изучая новые средства разработки, такие как Jetpack Compose, давайте вспомним и те, которым уже около 60 лет. А главное — разберёмся, как их можно применить к современным подходам для получения большей эффективности.

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

Структура, содержание и процесс написания проверок

Блог компании Surf Программирование *Разработка мобильных приложений *Тестирование веб-сервисов *Тестирование мобильных приложений *

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

Жизнь QA станет проще, если использовать чек-листы из статьи.

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

Работа с клавиатурой в iOS: как минимизировать копипасту

Блог компании Surf Программирование *Разработка под iOS *Разработка мобильных приложений *

При разработке практически любого мобильного приложения разработчику придётся столкнуться с полями ввода. А где поля ввода — там и клавиатура, а также логика, связанная с обработкой событий её жизненного цикла: появления, сокрытия, изменения размеров.

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

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

Reactive Data Display Manager. История одного рефакторинга

Блог компании Surf Разработка под iOS *Разработка мобильных приложений *

Борясь с рутиной по конфигурации UITableView и UICollectionView, мы создали библиотеку RDDM. В её основе — адаптер, имплементирующий DataSource и Delegate, и генератор, соответствующий ячейке коллекции.

Библиотека дорабатывалась и становилась мощнее. Но чем больше мы вносили улучшений, тем больше понимали, что с архитектурой библиотеки что-то не так. Последней каплей стала попытка подружить RDDM с мощным UITableViewDiffableDataSource, которая завершилась провалом.

Настало время для рефакторинга.

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

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

Блог компании Surf Разработка мобильных приложений *Интерфейсы *Разработка под Android *Дизайн мобильных приложений *
✏️ Технотекст 2021

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

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

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

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

Блог компании Surf Разработка под iOS *Разработка мобильных приложений *Разработка под Android *

Представим ситуацию: вы разрабатываете экран, до которого в приложении очень сложно добраться. Например, надо авторизоваться, положить товар в корзину, оформить заказ, оплатить его… Таких экранов много, особенно на крупных проектах, а время регулярно тратят все участники команды: при разработке, на code review и тестировании. Это особенно ощутимо на крупных проектах, когда таких труднодоступных экранов много.

Если эта ситуация вам знакома — то вы зашли по адресу! Меня зовут Александр Чаусов, и в статье я расскажу, как мы в Surf увеличили скорость тестирования UI.

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

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

Блог компании Surf Программирование *Разработка мобильных приложений *Dart *Flutter *

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

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

Анонс эфира Flutter live-coding сессии

Блог компании Surf Программирование *Разработка мобильных приложений *Конференции Flutter *

РЕГИСТРАЦИЯ

Представьте, пришёл заказчик и просит сделать приложение — язык в приложении должен быть всего один. Допустим, только английский. Приложение выходит на рынок, становится успешным, и заказчик радостно просит адаптировать апп под другой язык — скажем, китайский. Не, ну а что такого-то?

В этом месте разработчик испытывает мучительную боль и рвёт на себе волосы из-за своей непредусмотрительности.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 1K
Комментарии 0

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

Блог компании Surf Программирование *Разработка под iOS *Разработка мобильных приложений *Тестирование мобильных приложений *

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

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

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

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

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 5.7K
Комментарии 25

Анонс эфира live-coding на SwiftUI

Блог компании Surf Программирование *Разработка под iOS *Разработка мобильных приложений *Конференции

Приглашаем на эфир live-coding на SwiftUI. Реализуем фичу для опенсорсного проекта StackOv, который написан полностью на SwiftUI. Обсудим, почему использовать некоторые системные View при работе со SwiftUI — не всегда удачная идея. Посмотрим, как можно сделать по-другому.  Эфир состоится 24 июня, четверг, в 18:30 мск. 

Регистрация

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

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

Блог компании Surf Программирование *Разработка мобильных приложений *Dart *Flutter *
Перевод

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

Читать далее
Всего голосов 14: ↑6 и ↓8 -2
Просмотры 5.8K
Комментарии 4

Информация

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