Hallo! Heute halten wir in unserem Blog bereits den traditionellen Abschnitt "Fragen und Antworten zu Fragen" ab. (Davor gab es AMAs für das Backend und für die Android-Entwicklung ). Wir setzen eine gute Tradition fort. Dieses Mal konzentrieren wir uns auf die Entwicklung für iOS im Allgemeinen und die Funktionen der Avito-Anwendung im Besonderen.

Wie funktioniert es mit der Anwendung der beliebtesten Kleinanzeigen-Website in Russland? Fragen Sie uns! Wir werden alle Kommentare der ersten Ebene beantworten, die hier vor Mittag am 6. Juni, Moskauer Zeit, erscheinen werden. Unter dem Schnitt vertrete ich sieben meiner Kollegen, die sich mit Ihnen in Verbindung setzen, ein wenig über die iOS-Entwicklung in Avito und über mögliche Themen für den Dialog erzählen.
UPD: Wir schließen AMA offiziell, aber wir versprechen, wann immer möglich auf Kommentare zu antworten. Vielen Dank für Ihre Teilnahme!
AMA-Mitglieder
Evgeny Suworow Kokax

„Der Leiter des Teams für mobile Architektur, das für die technische Qualität des Produkts verantwortlich ist, die Zufriedenheit der Entwickler mit der Entwicklung und Entwicklung / Unterstützung interner Entwicklertools. Avito wurde seit 2011 für iOS entwickelt und war 2014 der erste mobile Entwickler. "

„Der Teamleiter war an der Beschleunigung der Veröffentlichung mobiler Anwendungen, der Erstellung von CI / CD in mobilen Anwendungen und der Entwicklung von Tools für UI-Tests beteiligt. In Avito seit 2014. Weitere Informationen zu meinen Aktivitäten finden Sie in meinem Bericht für Mobius 2018 hier . “

„Der Leiter des Entwicklungsteams für mobile Anwendungen, das ich seit 2012 für iOS entwickle, ist vor 2,5 Jahren dem Avito-Team beigetreten. Ich kombiniere die Rollen eines iOS-Entwicklers, eines Scrum-Masters und des Leiters eines kleinen funktionsübergreifenden Teams. Zusätzlich zu iOS schreibe ich ein kleines Backend, um anderen Teams zu helfen. "

„Ein iOS-Entwickler, seit 2011 in iOS, etwas mehr als drei Jahre in Avito. Er war in allem beschäftigt, in letzter Zeit ist er zu 100% in UI-Auto-Tests vertieft - Tools, CI / CD und all das. Meine Hobbys und Hobbys: Autotesting, Diplinking, flexible API, Codegenerierung, Hacks, Tricks und Cheats. "
Alexey Kudryavtsev WEStor

„IOS-Entwickler der Einheit Messenger, Betreuer des SwiftyVK- Projekts, Podlodka Podcast Sound Engineer . In Avito seit Januar 2017. Während dieser Zeit gelang es mir, in mehreren Einheiten an verschiedenen Teilen der iOS-Anwendung zu arbeiten. Vor Avito arbeitete er in kleinen Startups und machte Pet-Projekte für iOS und MacOS. Neben der Entwicklung laufe ich gerne, fahre Fahrrad oder lese in meiner Freizeit etwas. “

„Der iOS-Entwickler der Mobile Architecture-Einheit. Ich entwickle seit 2012 für iOS. Avito ist fast 3 Jahre alt. Ich war in dieser Zeit mit vielen Dingen beschäftigt und bin von einer Feature-Entwicklung zu einer Plattformentwicklung übergegangen.
Kürzlich beschäftigt in:
- Monolith-Modularisierung (hat das Ziel mit mehr als 2000 Dateien in mehr als 40 Module aufgeteilt),
- Optimierung der Baugruppe durch Vereinfachung des Abhängigkeitsdiagramms zwischen Modulen,
- Erstellung und Wartung von Dienstprogrammen, die von Entwicklern wiederverwendet werden: Wrapper über UICollectionView, ein Navigationswerkzeug, ein Diplinking-Tool, eigene Swiftlint-Regeln, Xcode-Vorlagen für die Geschwindigkeit des Schreibens von neuem Code und andere Infrastrukturen,
- Automatisierung von Messungen verschiedener technischer Merkmale (Startgeschwindigkeit, Geschwindigkeit der sauberen Baugruppe, CPU-Auslastung einer sauberen Baugruppe, Modulgrößen, Anzahl der Modulmitarbeiter, ...).
Ich mag Fußball, Eislaufen und Inlineskaten, Beachvolleyball, Radfahren und Camping. “

„Der iOS-Entwickler der Mobile Architecture-Einheit. Entwickelt für MacOS / iOS seit 2012. Seit 1,5 Jahren in Avito. Ich entwickle Lösungen, um die Entwicklungsgeschwindigkeit zu erhöhen und die Qualität der Anwendung aufrechtzuerhalten: Toggle, DI, Analytics-Sendesystem, automatisierte Metrikmessungen, verschiedene Projektstatusprüfungen und mehr.
Ich interessiere mich für das Erlernen neuer Technologien wie maschinelles Lernen und Blockchain. Ich lerne neue Plattformen, Ansätze und Sprachen, zum Beispiel Microservices on Go. "
Einige Fakten zur iOS-Entwicklung in Avito
- Bei Avito legen wir großen Wert auf mobile Anwendungen. Diesen Trend wollen wir beibehalten.
- Das iOS-Entwicklungsteam verwendet Swift. Er hat Objective-C in unseren Produkten ersetzt.
- Wir investieren in die Entwicklung und Förderung von Engineering-Praktiken - CI, CD, Code Review, Testautomatisierung.
- Ein wichtiges Merkmal der iOS-Entwicklung in Avito ist die modulare Architektur, mit der mehrere Entwicklergruppen ein großes Projekt ohne Kollisionen entwickeln und schnell auf Benutzeranforderungen reagieren können.
Mögliche Fragen und Diskussionsthemen
- Wie unsere Anwendung funktioniert.
- Wie wir unsere iOS-Anwendung mit einem großen Team entwickeln.
- Monorepository für den Code: "Schmerzen" und Gewinne
- Workflows: Codeüberprüfung, Pull-Anforderungen, Ausführen von Tests, Überprüfungen.
- CI / CD.
- Automatisiertes Testen.
- Vermächtnis: Wie gehen wir damit um?
- Interne Entwicklungslösungen: Navigation, Codegenerierung, Feature-Toggle, Netzwerk, Lösung zum Erstellen von Listen, DI, Analyse, Deep Links.
- Messungen und Optimierung von Metriken: Erstellungs- / Startzeit, Anwendungsgröße, Anzahl der Abhängigkeiten, CPU-Auslastung in der Assembly.
- Produktentwicklung, funktionsübergreifende, A / B-Tests.
IOS-Entwicklungsinhalt mit Avito
Wir warten auf Ihre Fragen in den Kommentaren!