"avito Переезд delivery club на глобальное api" Давид Лашхи...
TRANSCRIPT
![Page 1: "Avito Переезд Delivery Club на глобальное API" Давид Лашхи (Delivery Club)](https://reader036.vdocuments.net/reader036/viewer/2022081802/587cddd71a28abff0b8b61cb/html5/thumbnails/1.jpg)
6 000 000 пользователей
более 30 000 заказов в день
7 лет на рынке
+
![Page 2: "Avito Переезд Delivery Club на глобальное API" Давид Лашхи (Delivery Club)](https://reader036.vdocuments.net/reader036/viewer/2022081802/587cddd71a28abff0b8b61cb/html5/thumbnails/2.jpg)
Миграция
Delivery Club Foodpanda
!" #$
%&
'()*
![Page 3: "Avito Переезд Delivery Club на глобальное API" Давид Лашхи (Delivery Club)](https://reader036.vdocuments.net/reader036/viewer/2022081802/587cddd71a28abff0b8b61cb/html5/thumbnails/3.jpg)
Было
![Page 4: "Avito Переезд Delivery Club на глобальное API" Давид Лашхи (Delivery Club)](https://reader036.vdocuments.net/reader036/viewer/2022081802/587cddd71a28abff0b8b61cb/html5/thumbnails/4.jpg)
Процесс работы на приложением
Дизайн ревью
Код ревью
Тесты Xcode
QA
![Page 5: "Avito Переезд Delivery Club на глобальное API" Давид Лашхи (Delivery Club)](https://reader036.vdocuments.net/reader036/viewer/2022081802/587cddd71a28abff0b8b61cb/html5/thumbnails/5.jpg)
Запуск приложения
![Page 6: "Avito Переезд Delivery Club на глобальное API" Давид Лашхи (Delivery Club)](https://reader036.vdocuments.net/reader036/viewer/2022081802/587cddd71a28abff0b8b61cb/html5/thumbnails/6.jpg)
Что мигрировать
Delivery Club Foodpanda
User
Vendor
Баллы Адреса Профиль
Меню Филиалы Информация
User
Vendor
Баллы Адреса Профиль
Меню Филиалы Информация
RESTJSONModel
FOOFOOFOO
![Page 7: "Avito Переезд Delivery Club на глобальное API" Давид Лашхи (Delivery Club)](https://reader036.vdocuments.net/reader036/viewer/2022081802/587cddd71a28abff0b8b61cb/html5/thumbnails/7.jpg)
Что мигрировать
&
&
+ Быстро исправляются ошибки
+ Бекенд не меняется
- Долгая настройка- Исправления одной и той же ошибки неск. раз
![Page 8: "Avito Переезд Delivery Club на глобальное API" Давид Лашхи (Delivery Club)](https://reader036.vdocuments.net/reader036/viewer/2022081802/587cddd71a28abff0b8b61cb/html5/thumbnails/8.jpg)
Миграция
Stage$!
![Page 9: "Avito Переезд Delivery Club на глобальное API" Давид Лашхи (Delivery Club)](https://reader036.vdocuments.net/reader036/viewer/2022081802/587cddd71a28abff0b8b61cb/html5/thumbnails/9.jpg)
Core Data
До После
![Page 10: "Avito Переезд Delivery Club на глобальное API" Давид Лашхи (Delivery Club)](https://reader036.vdocuments.net/reader036/viewer/2022081802/587cddd71a28abff0b8b61cb/html5/thumbnails/10.jpg)
AFNetworkingNetworkManagerNetworkManager Category
params, url, type
response / error
params, url, type
parsed response / parsed error
REST
NetworkManager + User
NetworkManager + Vendor
NetworkManager + Address
![Page 11: "Avito Переезд Delivery Club на глобальное API" Давид Лашхи (Delivery Club)](https://reader036.vdocuments.net/reader036/viewer/2022081802/587cddd71a28abff0b8b61cb/html5/thumbnails/11.jpg)
Геолокация
latitude longitude
City Street Building
Foodpanda API
Address
Yandex
![Page 12: "Avito Переезд Delivery Club на глобальное API" Давид Лашхи (Delivery Club)](https://reader036.vdocuments.net/reader036/viewer/2022081802/587cddd71a28abff0b8b61cb/html5/thumbnails/12.jpg)
DCProductVariationToppingsView *view = (DCProductVariationToppingsView *) [[UIViewController alloc] initWithNibName:@“DCProductVariationToppingsView" bundle:nil].view;
Концептуальные проблемы
MVC MVVMCocoaPods
Unit Tests
[DCAppDelegate appDelegate].managedObjectContext
Vendor *vendor; SomeVC * someVC = [[SomeVc alloc] init]; someVC.vendor = self.vendor;
Core Data- (NSManagedObjectContext *)createLocalContext { NSManagedObjectContext *localContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType]; [localContext setParentContext:self.managedObjectContext]; return localContext; }
NSString *vendorId; SomeVC *someVC = [[SomeVc alloc] init]; someVC.vendorId = self.vendorId;
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView; - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
![Page 13: "Avito Переезд Delivery Club на глобальное API" Давид Лашхи (Delivery Club)](https://reader036.vdocuments.net/reader036/viewer/2022081802/587cddd71a28abff0b8b61cb/html5/thumbnails/13.jpg)
Интеграция Swift
1) Новый код— на Swift
2) Меняется > 30%? — переделываем на Swift
Swift 2.2 -> Swift 3
Подходящее время для перехода на Swift:1) Переезд на новое API 2) Добавление или удаление нового функционала