А теперь — самая вкусная и срачеобразующая тема 👀
До какого уровня SDK должен помогать разработчикам разрабатывать приложения для Битрикс24? ☕️
Есть несколько уровней:
0. Никак не должен
Каждый разработчик сам знает, как ему делать приложение и в подсказках не нуждется. «Дайте библиотеку транспортного слоя и отойдите».
1. Должен на уровне документирования предметной области
описания событийной модели, типовых юзкейсов, скорее всего — наглядно в стиле DDD. «Почитаю доку, быстро реализую всё сам».
2. Должен на уровне контрактов
Интерфейсы, структуры данных. «Спасибо за канву, имплементацию накидаю сам»
— вариант А Контракты лежат в отдельном репозитории, направление зависимостей sdk → контракты (меняются реже чем SDK) (см. доклад Package Design Principles in Practice [ru] / Макс Рафалко https://www.youtube.com/watch?v=JKt7hF_nxBM).
или
— вариант B Контракты лежат в текущем репозитриии, потому что разработчики документацию не читают и ставить несколько пакетов им лень.
3. Должен на уровне фреймворк-агностик реализации репозиториев \ юзкейсов и т.д.
Лежат в отдельном репозитории. «Сделал чекаут и подружил со своим любимым фреймворком или не смог»
4. Должен на уровне готового бандла\пакета для наиболее распространённого фреймворка (Laravel \ Symfony).
«Я подпихнул свои токены и через месяц уже залетаю с двух ног в топ 10 разработчиков маркет+ по выплатам»
Скорее всего, для релиза 2.0 будет реализован вариант 2 B, а как соберём большую часть граблей и будет пара макетных приложений в качестве proof of concept, то можно будет говорить о сплите и выносе контрактов в отдельный репозиторий.
Если у вас есть предложения, то самое время их написать
Post #24
349