#airbnb

3 постов
пост №692Разработка и инженерия

Airbnb — одна из немногих крупных компаний (больше 100 мобильных разработчиков!), которая сделала ставку на React Native в мобильной разработке два года назад.

Их библиотека Native Navigation — одна из самых популярных.

За два года Airbnb написали на RN 80 тысяч строк кода, 220 экранов и 40 тысяч строк js-инфраструктуры (натива при этом 800 экранов и 320 тысяч строк кода).

Так вот, Airbnb отказывается от RN. Они описывают технические и организационные трудности в серии постов.

Аргументы, как всегда: незрелость технологии, плохие инструменты разработки, малое комьюнити и как следствие слабая веб-документация (в сравнении с iOS и Android), необходимость разбираться хорошо в мобайле и в js одновременно, сложность комбинации команд, сложность найма, низкая «воспринимаемая разработчиками» скорость разработки, добавленная сложность тестирования.

Ух.

Интересно, что они продолжают верить в Server-Driven Rendering. Это подход, в котором клиенты (мобильные приложения) умеют рисовать базовые компоненты, а сервер присылает список компонент и данные для экрана. Это дико интересный подход, и его на самом деле можно реализовать без RN (с RN он сам напрашивается). Сложности, которые возникают со старыми клиентами и фолбеками компонент в SDR — по настоящему интересная техническая задача. В ней нужно балансировать «красоту и гибкость в будущем» со сложность разработки «здесь и сейчас», а цена ошибки достаточно высока. Вот бы кто-то поделился своим опытом в этой области.

Часть проблем с RN, описанные Airbnb, специфичны для продуктовых компаний, часть — для крупных продуктовых компаний. В любом случае, «не создай себе кумира», выбирайте технологии не по хайпу, но на основе ваших потребностей и ваших ресурсов.

пост №135Разработка и инженерия

Хорошо описанный кейс с финансовыми отчетами Airbnb.

Близкая мне тема, я писал одну из первых версий отчетности для правообладателей в Zvooq (звучит громко, в реальности это были безумные SQL запросы в PG и небольшие скрипты поддержки).

Финансовая отчетность из данных сервиса — классическая задача, где для программирования нужно серьезно разобраться в предметной области с безумными бизнес-правилами и процессами. Близко к тому, что делают SAP-специалисты :)

пост №93Разработка и инженерия

Пятничное чтение: мы делаем слишком тяжелые сайты при том, что у многих людей медленный интернет.

Может показаться оторванным от реальности брюзжанием, если бы не пример с AirBnB (сайт ломается при медленном интернете, а ведь именно в путешествии он такой).

Интересная цитата:
When I was at Google, someone told me a story about a time that “they” completed a big optimization push only to find that measured page load times increased. When they dug into the data, they found that the reason load times had increased was that they got a lot more traffic from Africa after doing the optimizations. The team’s product went from being unusable for people with slow connections to usable, which caused so many users with slow connections to start using the product that load times actually increased.

https://danluu.com/web-bloat/