kmm.icerock.dev icon indicating copy to clipboard operation
kmm.icerock.dev copied to clipboard

IceRock KMM Learning -> Library -> MokoLibs addition

Open anton6tak opened this issue 4 years ago • 1 comments

  • [ ] moko-paging: просмотр примера, скачивание, тест, добавление в свою вьюмодель, разбираться с ld, которые используются в примере. Довольно много инфы для усваивания (мб что-то где-то можно подсократить)
  • [x] moko-units: Не очень понятно, зачем нужны UnitFactory и TableUnitIte.
  • [x] moko-units: Как переопределять TableUnitItem.itemId - не сразу понимаешь что это может быть как itemViewType и как itemUniqueId и как itemContentHash. Когда использовать TableUnitItem и CollectionUnitItem или вообще CustomItem без moko-units
  • [ ] Сначала надо добавить Recycler View с adapter, сделанным с помощью moko-units, потом уже делать Pagination.
  • [ ] Следуя примеру, дошел до места, где происходит создаение UnitFactoryImpl: unitFactory, там используется переиспользование методов, в которых возвращаемым типом является TableUnitItem. Долго буксовал с тем, что не понимал, как получить экземляры этих типов. Скачал либу, начал ковырять пример, разбираться, где хранятся классы. Они генерятся moko-units в android-app, через некоторое время, понял что добавил в mpp/androidMain/res/layout - туда разметку header и элементов засунул. но генерации в mpp нет. Когда перенес в android-app свои файлы разметки - moko сгенерил units, все получилось.
  • [ ] Работая с moko-permissions, натолкнулся на viewModelScope, он есть у viewmodel из moko-mvvm. Так вот непонятно, какой диспетчер по умолчанию используется в этом scope.
  • [ ] При вызове метода provide permissions постоянно вылетала ошибка: java.lang.IllegalStateException: can't resolve permission without active window. Оказалось, я неправильно инициализировал permission provider. По примеру проинициализировал его, теперь работает, не вылетает (Может быть, следует это место прописать детальнее, чтобы ни у кого в будущем не возникало тут проблем)
  • [ ] Чтобы в UnitFactory передавать тип Color и на нативе получать Color нужно подключить moko-graphics
  • [ ] К некоторым библиотекам (например paging, units) было бы хорошо увидеть конкретный пример использования, как выглядит реальный кейс (речь о, например, скриншоте какого-то экрана, где используется либа)

anton6tak avatar Jun 21 '21 08:06 anton6tak

C Compose генерация юнитов в iOS происходит на наливе. Добавить пример (проще чем в Veka) ??

kramlex avatar Sep 10 '21 04:09 kramlex