apollo что за фирма

История автомобильного бренда Apollo Automobil

Apollo Automobil (ранее известная как Gumpert Sportwagenmanufaktur GmbH) – немецкая компания по производству суперкаров со штаб-квартирой в Денкендорфе. Основателем Apollo является Роланд Гумперт, прежде занимавший пост директора автоспортивного подразделения Audi Sport. Под его руководством команда Audi одержала победы в 25 гонках чемпионатов мира по ралли и четырежды становилась чемпионом мира по ралли.

История

В 2001 году Роланд Гумперт предложил концепцию спортивного автомобиля нового поколения, который был бы готов к участию в гонках, но при этом мог эксплуатироваться и на дорогах общего назначения. После того, как Гумперт вернулся в Германию из Китая в конце 2001 года, Роланд Мейер попросил его помочь в разработке прототипа спорткара. Audi одобрила участие Гумперта в этом проекте при условии, что новая спортивная модель станет серийным продуктом, а не прототипом.

Компания была основана в 2004 году и получила название «GMG Sportwagenmanufaktur Altenburg GmbH». После того, как были определены основные технические принципы, Марко Ванетта приступил к подготовке первых образцов будущего автомобиля. По завершению этого процесса в 2002 году на свет появилась первая масштабная модель (1:4) автомобиля Gumpert.

Гумперт продолжил работу над Apollo вместе с Техническим университетом Мюнхена и Университетом прикладных наук Ингольштадта, которые оказывали помощь в прототипировании, компьютерном моделировании и проведении аэродинамических испытаний. Эти исследования и разработки помогли составить план первой полномасштабной модели. Наконец, были построены два прототипа Apollo. Производство Apollo стартовало в октябре 2005 года.

27 июля 2008 года Apollo Sport появился в популярной телепередаче Top Gear. На преодоление тестового круга Ричарду Хаммонду и Стигу оказалось достаточно 1 минуты и 17.1 секунды, благодаря чему Apollo Sport на тот момент возглавил таблицу Power Lap Board, на 0.2 секунды опередив предыдущего лидера – Ascari A10. Кроме того, на треке Top Gear спорткар Apollo превзошёл таких серьёзных конкурентов, как Bugatti Veyron и Pagani Zonda.

В августе 2013 года компания подала заявление о банкротстве и приступила к ликвидации после того, как анонимный спонсор отказался от участия в сделке, которая могла спасти компанию.

В январе 2016 года компания была приобретена консорциумом Royal Team Ideal Team Venture, также владеющим маркой De Tomaso, а Gumpert Sportwagenmanufaktur GmbH переименовали в Apollo Automobil GmbH.

На автосалоне в Женеве в марте 2016 года Apollo представила модель Arrow – гиперкар, оснащённый твин-турбированным бензиновым двигателем V8, который при объёме в 4.0 литра развивает 1 тысячу лошадиных сил. Ускорение с места до 100 километров в час у Apollo Arrow занимает около 2.9 секунды, а максимальная скорость автомобиля достигает 360 километров в час.

В ноябре 2016 года было объявлено, что Роланд Гумперт более не имеет отношения к компании, а также её текущим или будущим проектам. Одновременно с этим состоялся анонс новой модели Titan, которая была представлена на «Фестивале скорости» в Гудвуде в июне 2017 года.

Партнёры

Компания Apollo сотрудничала и продолжает сотрудничать с несколькими деловыми и техническими партнерами, среди которых:

Доступность

Преемником Apollo и Apollo S является Apollo N. В настоящее время 700-сильный Apollo N доступен к приобретению на европейском, ближневосточном и азиатском рынках. Apollo также планирует предложить свою продукцию в Австралии, Америке и Российской Федерации.

С октября 2005 года компания Apollo Automobil GmbH, чей штат не превышает 50 сотрудников (учитываются как производственные, так и административные подразделения), выпустила и передала заказчикам первые автомобили. С 2013 года планировалось производство 30 машин в год.

Мотоспорт

В апреле 2005 года спорткар Apollo под управлением бельгийского гонщика Рубена Маеса дебютировал в кубке компании Divinol Tourenwagen Cup. Маес занял третье место на гоночной трассе Хоккенхаймринг.

Спустя три года Роланд Гумперт объявил о том, что они гибридная модификация Apollo примет участие в марафоне «24 часа Нюрбургринга» 2008 года, а в команду пилотов войдут победитель «24 часов Нюрбургринга» 2004 года Дирк Мюллер и бывший гонщик Формулы-1 Хайнц-Харальд Френтцен.

Три месяца прошло от первых обсуждений до законченного гибрида Apollo, получившего би-турбированный бензиновый агрегат V8 объёмом 3.3 литра и 136-сильный электромотор. Совокупная производительность системы равна 630 лошадиным силам, а для подзарядки аккумуляторов в ходу гибрид использовал рекуперативную тормозную систему.

Источник

Apollo показала преемника «атмосферного» гиперкара Intensa Emozione

Предшественника Project EVO выпустили в количестве десяти штук и продали по цене как минимум 2 300 000 евро за каждый ещё до официальной премьеры. Экспрессивный дизайн гиперкара был продиктован теорией движения воздушных потоков, а также особенностями строения насекомых, — и новинка, как видно на рендерах, развивает ту самую изначальную концепцию. Например, у «Эволюции» сильнее выделен «парящий» капот, а оформление кормы напоминает экспериментальный Bugatti Bolide.

Здесь расположены шесть фонарей-лучей, символизирующих свечение звезды. Вместо распечатанных на 3D-принтере насадок-лепестков выхлопа — трио простеньких кругляшей. За прижим автомобиля к дороге и стабильность в поворотах отвечают массивный диффузор, продольные плавники-стабилизаторы с подвижными секциями и регулируемый спойлер. Расположенный на крыше воздухозаборник инерционного наддува по-прежнему соединен с атмосферным агрегатом — но каким именно пока неизвестно.

Предположительно Project EVO получит модернизированный V12 6.3, созданный Autotecnica Motori и HWA AG на базе блока Ferrari. На IE он выдает 780 лошадиных сил и 760 Нм крутящего момента и работает в паре с шестиступенчатой секвентальной коробкой Hewland. Для «Эволюции» отдачу могут поднять до 1000 сил — о технической возможности сделать это говорил генеральный менеджер Apollo Automobil Райан Беррис в 2018-м. По словам создателей, агрегат будет обладать высокой мощностью и генерировать грубый, механический саундтрек, недоступный ни в каком другом современном гиперкаре.

Источник: Apollo

Новости партнёров

Новости партнёров

Нашли опечатку? Выделите текст и нажмите Ctrl+Enter

Источник

Apollo Global Management, Inc.

1,407 миллиарда долларов США (2019)
1,536 миллиарда долларов США (2019)
АУМ 455 миллиардов долларов США (2020)
Всего активов 8,542 миллиарда долларов США (2019)
Общий капитал 3,038 миллиарда долларов США (2019)

СОДЕРЖАНИЕ

История

1990-е годы

В 1993 г. была основана компания Apollo Real Estate Advisers в сотрудничестве с Уильямом Маком для поиска возможностей на рынках недвижимости США.

В апреле 1993 года Apollo Real Estate Investment Fund, LP, первый в семье «инвестиционных фондов» недвижимости, был закрыт с обязательствами инвестора в размере 500 миллионов долларов.

Также в 1995 году партнер-основатель Apollo Крейг Когут покинул фирму, чтобы основать Pegasus Capital Advisors. С момента основания Pegasus привлек 1,8 миллиарда долларов в четырех фондах прямых инвестиций, ориентированных на инвестиции в компании среднего размера, находящиеся в затруднительном финансовом положении.

2000–2005

Хотя основатели Ares завершили корпоративное отделение с образованием фирмы в 1997 году, они изначально поддерживали тесные отношения с Apollo и действовали как филиал Apollo на Западном побережье.

В 2002 году, когда Ares поднял свой первый фонд корпоративных возможностей, фирма объявила, что отделится от своей бывшей материнской компании. Время этого разделения также совпало с юридическими трудностями Apollo со штатом Калифорния в связи с покупкой Executive Life Insurance Company в 1991 году. В 2002 году генеральный прокурор Калифорнии Билл Локьер обвинил Apollo, Леона Блэка и группу инвесторов во главе с французским банком. Кредит Lyonnais в нарушении закона Калифорнии, когда иностранный государственный банк приобрел активы и портфель облигаций Executive Life Insurance Co. в 1991 году. Иностранным банкам не разрешается владеть калифорнийскими страховыми компаниями.

В 2004 году Apollo Real Estate приобрела семейство инвестиционных инструментов Value Enhancement Funds, чтобы расширить свои предложения в сегменте «добавленной стоимости» в спектре инвестиций в недвижимость.

2005–2010 гг.

В августе 2006 года TNT NV объявила о согласии на продажу своего логистического подразделения Apollo за 1,9 миллиарда долларов. В ноябре 2007 года компания была переименована в CEVA.

В феврале 2007 года Apollo приобрела Oceania Cruises за 850 миллионов долларов и предоставила дополнительный капитал для финансирования расширения компании путем покупки двух новых круизных лайнеров.

В марте 2007 года Apollo объявила о выкупе за 3,1 миллиарда долларов розничного продавца бижутерии Claire’s Stores. В 2008 году Клэр столкнулась с финансовыми трудностями на фоне резкого падения потребительских расходов.

В январе 2008 года Apollo и TPG Capital приобрели Harrah’s Entertainment за 27,4 миллиарда долларов, включая принятие существующего долга.

В январе 2008 года Apollo инвестировал 1 миллиард долларов в Norwegian Cruise Line для поддержки рекапитализации баланса компании. В декабре 2018 года Apollo обналичил эту инвестицию.

В феврале 2008 года Apollo приобрела Regent Seven Seas Cruises у Carlson Companies за 1 миллиард долларов. После покупки Apollo заказал для Regent новый корабль.

В июле 2008 года компания закрыла закрытый фонд создания добавленной стоимости в размере 758 миллионов долларов.

Во время финансового кризиса 2007–2008 годов некоторые инвестиции Apollo оказались под давлением. Инвестиции Apollo в 2005 году в находящуюся в затруднительном положении американскую сеть магазинов Linens ‘n Things пострадали от значительного долгового бремени и снижения потребительского спроса. В мае 2008 года Linens подала заявление о защите от банкротства, что стоило Apollo всех вложений в компанию в 365 миллионов долларов. В 2009 году компания подала в суд на компанию, заявившую о бесхозяйственности.

Apollo воспользовалась опцией « PIK toggle » у Клэр, чтобы отключить денежные выплаты по процентам держателям облигаций и вместо этого выпустить дополнительные долги, чтобы предоставить компании дополнительную финансовую гибкость.

В декабре 2008 года Apollo завершил сбор средств для своего последнего фонда, Apollo Investment Fund VII, с обязательствами инвесторов на сумму около 14,7 млрд долларов. Apollo планировал собрать 15 миллиардов долларов, но занимался сбором средств более 16 месяцев, при этом основная часть капитала была привлечена в 2007 году.

В ноябре 2009 года Liberty Global приобрела Unity Media GMBH; фонды, управляемые Apollo, владели 31% акций.

В декабре 2009 года Apollo объявил о приобретении Cedar Fair Entertainment Company за 635 миллионов долларов и взял на себя долг, оценивающий компанию в 2,4 миллиарда долларов. В апреле 2010 года сделка была расторгнута из-за плохой реакции акционеров.

2011–2017 гг.

В июне 2011 года Apollo приобрела CKx.

В марте 2012 года Apollo приобрел убыточные курорты Great Wolf Resorts за 703 миллиона долларов.

В ноябре 2012 года Apollo приобрела McGraw-Hill Education за 2,5 миллиарда долларов.

В декабре 2013 года Apollo приобрел портфель ирландских жилищных кредитов у Lloyds Bank за 307 миллионов евро, что меньше половины их номинальной стоимости. Акции были куплены дочерней компанией Apollo Global Management, Tanager Limited.

В январе 2014 года Apollo приобрела Chuck E. Cheese’s примерно за 1 миллиард долларов.

В мае 2015 года Centerbridge Partners приобрела Great Wolf Resorts у Apollo за 1,35 миллиарда долларов.

В июне 2015 года Apollo согласилась приобрести OM Group за 1,03 миллиарда долларов.

Также в июне 2015 года Apollo выиграла торги на аукционе по производству стеклянных бутылок Verallia компании Saint-Gobain за 2,95 миллиарда евро.

В феврале 2016 года Apollo согласился приобрести корпорацию ADT за 6,9 миллиарда долларов.

В июне 2017 года Apollo приобрела 80,1% подразделения Philips Lumileds за 1,5 миллиарда долларов.

В октябре 2017 года Apollo приобрела West Corp примерно за 2 миллиарда долларов.

В ноябре 2017 года Apollo предоставил Kushner Companies ссуду 184 миллиона долларов для рефинансирования ипотеки небоскреба в Чикаго.

2018–2019

В октябре 2018 года фонды, находящиеся под управлением Apollo Global Management, приобрели портфель инвестиций в энергетику на сумму 1 миллиард долларов у подразделения энергетических финансовых услуг GE Capital.

В феврале 2019 года Apollo приобрела Aspen Insurance за 2,6 миллиарда долларов.

16 апреля 2019 года Apollo объявила, что снова приобретет Smart & Final за 1,1 миллиарда долларов.

10 июня 2019 года Apollo объявила, что приобретет Shutterfly за 2,7 миллиарда долларов, а также ее конкурента Snapfish в рамках отдельной сделки на сумму около 300 миллионов долларов, при этом District Photo будет миноритарным акционером.

2020 – настоящее время

В июле 2020 года Apollo запустил платформу на 12 миллиардов долларов для выдачи крупных займов.

В марте 2021 года Apollo Investment Corporation закрыла мезонинную кредитную линию на 110 миллионов долларов между LendingPoint и MidCap Financial Trust.

В марте 2021 года Apollo Global Management объявила о приобретении компании по страхованию жизни Athene Holdings за 11 миллиардов долларов. До объявления о слиянии Apollo владела 35% Athene.

В марте 2021 года Леон Блэк ушел с поста генерального директора и председателя совета директоров после того, как стало известно, что он заплатил Джеффри Эпштейну 158 миллионов долларов за личные консультации по вопросам налогообложения в период с 2012 по 2017 год. Марк Роуэн стал главным исполнительным директором после ухода Блэка.

В апреле 2021 года Apollo запустил Apollo Origination Partnership, фонд прямого кредитования в размере 1,8 миллиарда долларов, рассчитанный на безрычажную доходность 8-10% и 12-14% заемных средств.

В апреле 2021 года фонды под управлением Apollo приобрели компанию Michaels, материнскую компанию Michaels.

В мае 2021 года Apollo’s Gamenet приобрела итальянскую игровую компанию International Game Technology за 950 миллионов евро.

В июле 2021 года фонды под управлением Apollo приобрели EmployBridge, крупнейшую компанию по подбору персонала в США.

3 августа 2021 года Apollo объявила о приобретении ILEC (действующего оператора местной связи) в 20 штатах у Lumen Technologies за 7,5 млрд долларов, включая 1,4 млрд долларов предполагаемого долга.

Фонды прямых инвестиций

История прямых
и венчурных инвестиций
История ранних веков
(истоки современного частного капитала )
1980-е годы
( бум выкупа заемных средств )
1990-е годы
( выкуп заемных средств и пузырь венчурного капитала)
2000-е
( Пузырь доткомов из- за кредитного кризиса )
Фонд Год сбора винограда Зарезервированный
капитал ($ млн)
Инвестиционный фонд Apollo IX 2017 г. 24 600 долларов США
Инвестиционный фонд Apollo VIII 2014 г. 18 400 долл. США
Инвестиционный фонд Apollo VII 2008 г. 14 700 долл. США
Инвестиционный фонд Apollo VI 2005 г. 10 200 долл. США
Инвестиционный фонд Apollo V 2001 г. 3 700 долл. США
Инвестиционный фонд Аполлона IV 1998 г. 3 600 долл. США
Инвестиционный фонд Аполлона III 1995 г. 1500 долларов США
Инвестиционный фонд Apollo II 1992 г. 500 долларов США
Инвестиционный фонд Apollo I 1990 г. 400 долл. США

Дочерние предприятия

Арес Менеджмент

В 2004 году Арес дебютировал в публичной компании по развитию бизнеса Ares Capital Corporation.

В 2006 году Арес собрал 2,1 миллиарда долларов, преемник фонда для особых ситуаций, Ares Corporate Opportunities Fund II.

Источник

Apollo: 9 месяцев — полет нормальный

Всем привет, меня зовут Семен Левенсон, я работаю teamlead’ом на проекте «Поток» от Rambler Group и хочу рассказать о нашем опыте использования Apollo.

Объясню, что такое «Поток». Это автоматизированный сервис для предпринимателей, позволяющий привлекать клиентов из Интернета в бизнес, не вовлекаясь в рекламу, и быстро создавать простые сайты, не являясь экспертом в верстке.

На скришноте показан один из шагов создания лендинга.

Что было вначале?

А в начале было MVP, много Twig, JQuery и очень сжатые сроки. Но мы пошли нестандартным путем и решили сделать редизайн. Редизайн не в смысле «стили подлатать», а решили пересмотреть полностью работу системы. И это стало для нас хорошим этапом для того, чтобы собрать идеальный frontend. Ведь нам – команде разработчиков – дальше поддерживать это и реализовывать на основе этого другие задачи, достигать новых целей, поставленных продуктовой командой.

В нашем отделе уже было накоплено достаточно экспертизы по использованию React. Не хотелось тратить 2 недели на настройку webpack, поэтому решили использовать CRA (Create React App). Для стилей был взят Styled Components, и куда же без типизации – взяли Flow. Для State Management взяли Redux, однако в результате оказалось, что он нам вообще не нужен, но об этом чуть позже.

Мы собрали свой идеальный frontend и поняли, что о чем-то забыли. Как выяснилось, забыли мы про backend, а точнее про взаимодействие с ним. Когда задумались, что можем использовать для организации этого взаимодействия, то первое, что пришло на ум – конечно, это Rest. Нет, мы не пошли отдыхать (smile), а начали рассуждать на тему RESTful API. В принципе история знакомая, тянется давно, но также нам известны и проблемы с ним. О них мы и поговорим.

Первая проблема – это документация. RESTful, конечно, не говорит, как организовать документацию. Здесь существует вариант использования того же swagger, но фактически — это внедрение дополнительной сущности и усложнение процессов.

Вторая проблема – это как организовать поддержку версионности API.

Третья важная проблема – это большое количество запросов или кастомные endpoint’ы, которые мы можем нагородить. Допустим, нам нужно запрашивать посты, по этим постам – комменты и еще авторов этих комментов. В классическом Rest’е нам приходится делать 3 запроса минимум. Да, мы можем нагородить кастомные endpoint’ы, и все это свернуть в 1 запрос, но это уже усложнение.


За иллюстрацию спасибо Sashko Stubailo

Решение

И в этот момент нам на помощь приходит Facebook c GraphQL. Что такое GraphQL? Это платформа, но сегодня мы рассмотрим одну из ее частей – это Query Language for your API, просто язык, причем довольно примитивный. И работает он максимально просто – как мы запрашиваем какую-то сущность, также мы ее и получаем.

Но GraphQL — это не только про чтение, это и про изменение данных. Для этого в GraphQL существуют мутации. Мутации примечательны тем, что мы можем декларировать желаемый ответ от backend’а, при успешном изменении. Однако тут есть свои нюансы. Например, если наша мутация затрагивает данные за пределом графа.

Пример мутации, в которой применяем бесплатную оферту:

В ответ получаем ту же структуру, которую запросили

Взаимодействие с GraphQL бекендом может совершается с помощью обычного fetch.

Какие же плюсы у GraphQL?

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

Как уже было сказано выше, у RESTful есть проблема с версионированием. В GraphQL для этого осуществлено весьма элегантное решение – deprecated.

Допустим, у нас есть Film, мы расширяем его, так у нас появляется director. И в какой-то момент мы просто выносим director в отдельный тип. Возникает вопрос, что делать с прошлым полем director? На него есть два ответа: либо мы удаляем это поле, либо же помечаем его deprecated, и оно автоматически пропадает из документации.

Самостоятельно решаем, что нам нужно.

Вспоминаем предыдущую картинку, где у нас все шло REST’ом, здесь же у нас все объединяется в один запрос и не требует какой-то кастомизации со стороны backend-разработки. Они один раз это все описали, а мы уже крутим-вертим-жонглируем.

Но не обошлось без ложки дегтя. В принципе на frontend’е у GraphQL минусов не так уж и много, потому что он изначально разрабатывался для того, чтобы решать проблемы frontend’а. А у backend’а не все так гладко… У них есть такая проблема, как N+1. Возьмем в качестве примера запрос:

Простой запрос, мы запрашиваем 20 сайтов и количество, сколько у нас есть сайтов. И в backend’е это может обернуться 21 запросом к базе данных. Эта проблема известная, решаемая. Для Node JS есть пакет dataloader от Facebook. Для других языков можно найти свои решения.

Также существует проблема глубокой вложенности. К примеру, у нас есть альбомы, у этих альбомов есть песни, и через песню мы также можем получить альбомы. Для этого необходимо составить следующие запросы:

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

Данная проблема тоже известная, решение для Node JS – это GraphQL depth limit, для других языков также существуют свои решения.

Таким образом, мы определились с GraphQL. Самое время – выбрать библиотеку, которая будет работать с GraphQL API. Пример в пару строк с fetch’ем, который показан выше, это только транспорт. Но благодаря схеме и декларативности, мы можем кэшировать еще и запросы на front’е, и работать с большей производительностью с GraphQL backend’ом.

Так у нас есть два основных игрока – это Relay и Apollo.

Relay

Relay — это разработка Facebook, они используют его сами. Как и Oculus, Circle CI, Arsti и Friday.

Какие плюсы есть у Relay?

Непосредственный плюс — то что разработчиком является Facebook. React, Flow и GraphQL – это разработки Facebook, всё это заточенные друг под друга паззлы. Куда же нам без звездочек на Github, у Relay их почти 11 000, у Apollo для сравнения – 7600. Крутая вещь, которая есть у Relay – это Relay-compiler, инструмент, который оптимизирует и анализирует ваши GraphQL-запросы на уровне сборки вашего проекта. Можно считать, что это uglify только для GraphQL:

Какие минусы у Relay

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

Опять же, Relay — это спецификация. Дело в том, что GraphQL – это уже спецификация, а Relay – это спецификация над спецификацией.

Например, пагинация у Relay реализована иначе, здесь появляются курсоры.

Мы уже не используем привычные оффсеты и лимиты. Для фидов в ленте – это отличная тема, но когда мы начинаем делать всякие grid’ы, то тут появляется боль.

Facebook решил свою проблему, написав для React’a свою библиотеку. Существуют решения для других библиотек, для vue.js, например – vue-relay. Но если мы обратим внимание на количество звездочек и commit-ов, то тут тоже не всё так гладко и может быть нестабильно. Например, Create React App из коробки CRA не дает использовать Relay-compiler. Но можно обойти это ограничение с помощью react-app-rewired.

Apollo

Второй наш кандидат – это Apollo. Разрабатывает его команда Meteor. Apollo используют такие известные команды как: AirBnB, ticketmaster, Opentable и т.д.

Какие есть плюсы у Apollo

Первый значительный плюс в том, что Apollo разрабатывался, как framework agnostic библиотека. Например, если мы захотим сейчас все переписать на Angular, то это не будет проблемой, Apollo с этим работает. А можно вообще написать все на Vanilla.

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

Очередной плюс Apollo – мощный API. В принципе, кто работал с Redux, здесь найдут общие подходы: есть ApolloProvider (как Provider у Redux), и вместо store у Apollo это называется client:

На уровне уже самого компонента, у нас предоставляется graphql HOC, как connect. И GraphQL-запрос мы пишем уже внутри, как MapStateToProps в Redux.

Но когда мы делаем MapStateToProps в Redux, мы забираем данные локальные. Если же локальных данных нет, то Apollo сам идет за ними на сервер. В сам компонент нам падают очень удобные Props-ы.

Это:
• данные;
• статус загрузки;
• ошибка, если она произошла;
вспомогательные функции, например refetch для перезагрузки данных или fetchMore для пагинации. Также есть огромный плюс и у Apollo, и у Relay, это Optimistic UI. Он позволяет совершать undo/redo на уровне запросов:

Например, пользователь нажал на кнопку «лайк», и «лайк» сразу засчитался. При этом запрос на сервер будет отправлен в фоне. Если в процессе отправки произойдет какая-то ошибка, то, изменяемые данные, вернуться в первоначальное состояние самостоятельно.

Server side rendering реализован хорошо, на клиенте выставляем один флаг и всё готово.

Но здесь хотелось бы рассказать про Initial State. Когда Apollo сам себе его готовит, все хорошо работает.

Но у нас нет Server side rendering, а нам backend подсовывает в глобальную переменную определенный GraphQL-запрос. Тут нужен небольшой костыль, необходимо написать Transform-функцию, которая GraphQL-ответ от backend’а уже превратит в нужный для Apollo формат.

Ещё один плюс Apollo в том, что он хорошо кастомизируется. Все мы помним middleware из Redux, здесь всё тоже самое, только это называется link.

Хотелось бы отдельно отметить два link’а: apollo-link-state, который нужен для того, чтобы в отсутствие Redux хранить локальное состояние, и apollo-link-rest, если мы хотим писать GraphQL-запросы к Rest API. Однако с последним нужно быть крайне аккуратным, т.к. могут возникнуть определенные проблемы.

Минусы у Apollo тоже есть

Рассмотрим на примере. Возникла неожиданная проблема с производительностью: запрашивали 2000 элементов на frontend (это был справочник), и начались проблемы с производительностью. После просмотра в отладчике оказалось, что на чтении Apollo отъедал очень много ресурсов, issue в принципе закрыт, сейчас все хорошо, но такой грешок был.

Также refetch оказался очень неочевидный…

Казалось бы, когда мы делаем перезапрос данных, тем более, если предыдущий запрос завершился с ошибкой, то loading должен стать true. Но нет!

Для того, чтобы это было, нужно указывать notifyOnNetworkStatusChange: true в graphql HOC, или refetch state хранить локально.

Apollo vs. Relay

Таким образом, у нас получилась такая таблица, мы все взвесили, подсчитали, и у нас 76% оказалось за Apollo.

Таким образом, мы выбрали библиотеку и пошли работать.

Но хотелось бы подробнее сказать про toolchain.

Здесь вообще все очень хорошо, существуют различные дополнения для редакторов, где-то лучше, где-то хуже. Также есть еще apollo-codegen, который генерирует полезные файлы, к примеру, flow-типы, и в принципе вытаскивает схему из GraphQL API.

Рубрика «Очумелые ручки» или что мы сделали у себя

Первое, с чем мы столкнулись, — что нам в принципе надо как-то запрашивать данные.

У нас есть общие состояния: загрузка, обработка ошибки. Мы написали свой хок (asyncCard), который подключается через композицию graqhql и asyncCard’а.

Хотелось бы еще рассказать про фрагменты. Есть компонент LandingItem и он знает, какие данные ему нужны из GraphQL API. Мы задали свойство fragment, где указали поля из сущности Landing.

Теперь на уровне использования компонента мы используем его фрагмент в конечном запросе.

И допустим к нам прилетает задача на то, чтобы добавить статус в этот лендинг — не проблема. Мы добавляем в рендер отображение и в фрагменте свойство. И все, готово. Single responsibility principle во всей красе.

Какая у нас еще была проблема?

У нас на сайте есть ряд виджетов, которые делали свои отдельные запросы.

Во время тестирования оказалось, что всё это тормозит. У нас очень долгие security-проверки, и каждый запрос очень дорогой. Это тоже оказалась не проблема, есть Apollo-link-batch-http

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

Хочется отдельно рассказать, что прошлой осенью произошло обновление с первого Apollo на второй

Вначале был Apollo и Redux

Потом Apollo стал более модульным и расширяемым, эти модули можно разрабатывать самостоятельно. Тот же самый apollo-cache-inmemory.

Стоит обратить внимание, что Redux нет, и как оказалось, он, в принципе, не нужен.

Источник

Читайте также:  ftgfop что это чай
Сказочный портал