Your SlideShare is downloading. ×
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лашкевич

676

Published on

Рассказ об основных принципах, которых придерживается Viber в длительной разработке приложения с большой кодовой базой — если разработкой занимается распределённая команда. Мы обсудим используемые …

Рассказ об основных принципах, которых придерживается Viber в длительной разработке приложения с большой кодовой базой — если разработкой занимается распределённая команда. Мы обсудим используемые технологии, библиотеки, работу с кодом и многое другое.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
676
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Подходы и технологии, используемые в разработке iOS-клиента Viber Кирилл Лашкевич Yandex Mobile Camp
  • 2. Viber • >20M зарегистрированных пользоватей в России • >400M по миру • 100M online • 220 сотрудников в 9 странах • 4.5 года проекту
  • 3. Статистика iOS проекта • 206K SLOC под iOS • +50K SLOC сторонних библиотек под iOS • +140K SLOC общего кода Viber • +300K SLOC медиа-движка WebRTC • +120K SLOC аудио/видео кодеков • ≈800K строк кода
  • 4. Agenda 1. Управление исходным кодом 2. Сборка проекта 3. Несколько примеров кода
  • 5. Работа с репозиториями • 1 репозиторий для всего проекта • Много репозиториев • 12 git origins, >100 с форками
  • 6. 1 репозиторий + - • Просто для начального этапа • Поддерживается всеми инструментами • Разграничения доступа • Ветки • Совместная работа • Размер • Скорость работы
  • 7. CocoaPods + - • База готовых pods для сторонних библиотек • Возможность управления приватными репозиториями • Только для проектов под iOS, для остальных платформ проблема остается • Практически не используем сторонние библиотеки
  • 8. Сторонние библиотеки • Только в исходных кодах • 7 раз подумать стоит ли брать сторонний код либо написать самим • Быть готовым исправлять баги, адаптировать под новые версии ОС и компилятора быстрее авторов • Приватный форк в github (git-svn для svn)
  • 9. Git submodules • Ссылка на конкретную ревизию внешнего репозитория в каталоге основного • Что бы получить весь код для сборки: git clone … && git submodule update --init —update • Подходит как для внутренних библиотек так и для стороннего кода • Работает одинаково на всех платформах
  • 10. Git subtree • Способ добавить внешний репозиторий, либо его часть в основной, с сохранением возможности обновления в обе стороны • Подходит для случаев, когда внешний репозиторий активно не взаимодействует с upstream • Проще в использовании, код из внешнего репозитория выглядит как часть основного
  • 11. RAC Mantle LibViber Core Viber

×