cross-platform

  • ХабрахабрФото Архитектурный шаблон MVI в Kotlin Multiplatform. Часть 3: тестирование

    Архитектурный шаблон MVI в Kotlin Multiplatform. Часть 3: тестирование

    Эта статья является заключительной в серии о применении архитектурного шаблона MVI в Kotlin Multiplatform. В предыдущих двух частях (часть 1 и часть 2) мы вспомнили, что такое MVI, создали общий модуль Kittens для загрузки изображений котиков и интегрировали его в iOS- и Android-приложения. В этой части мы покроем модуль Kittens модульными и интеграционными тестами. Мы узнаем о текущих ограничениях тестирования…

    Читать далее »
  • ХабрахабрФото Архитектурный шаблон MVI в Kotlin Multiplatform, часть 2

    Архитектурный шаблон MVI в Kotlin Multiplatform, часть 2

    Это вторая из трёх статей о применении архитектурного шаблона MVI в Kotlin Multiplatform. В первой статье мы вспомнили, что такое MVI, и применили его для написания общего для iOS и Android кода. Мы ввели простые абстракции, такие как Store и View, а также некоторые вспомогательные классы и использовали их для создания общего модуля. Задача этого модуля — загружать ссылки на…

    Читать далее »
  • ХабрахабрФото [Перевод] Архитектурный шаблон MVI в Kotlin Multiplatform, часть 1

    [Перевод] Архитектурный шаблон MVI в Kotlin Multiplatform, часть 1

    Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компании. Одним из результатов, например, является наша библиотека Reaktive — Reactive Extensions для Kotlin Multiplatform. В приложениях Badoo…

    Читать далее »
  • ХабрахабрФото [Из песочницы] Github actions и кросс-платформенное построение

    [Из песочницы] Github actions и кросс-платформенное построение

    Это статья о том как настроить построение на всех платформах с помощью github actions. Привет, Хабр. Предыстория Когда я попытался скомпилировать на своём компьютере для macos и передал моему другу pkg — Оно не запустилось. Написал я простенькое приложение на electron, сам я пользовался linux-ом но мой друг предпочитал macos. Для максимального упрощения задачи я сделал три скрипта: build:linux, build:mac,…

    Читать далее »
  • ХабрахабрФото Роутинг в кроссплатформенном .NET приложении с сохранением состояния на диск на примере .NET Core, ReactiveUI и Avalonia

    Роутинг в кроссплатформенном .NET приложении с сохранением состояния на диск на примере .NET Core, ReactiveUI и Avalonia

    При этом, для улучшения UX приложение должно сохранять состояние элементов интерфейса на диск при приостановке или выключении, восстанавливать состояние с диска при повторном запуске программы. Пользовательские интерфейсы современных прикладных приложений, как правило, сложны — зачастую необходимо реализовывать поддержку постраничной навигации, обрабатывать разного рода поля ввода, на основе выбранных пользователем параметров отображать или скрывать информацию. Так, для WPF используется событие Exit,…

    Читать далее »
  • ХабрахабрФото Ускорение файлового ввода-вывода C/C++, не особо напрягаясь

    Ускорение файлового ввода-вывода C/C++, не особо напрягаясь

    Предисловие Есть на свете такая простая и очень полезная утилита — BDelta, и так вышло, что она очень давно укоренилась в нашем производственном процессе (правда её версию установить не удалось, но она точно была не последней доступной). Используем её по прямому назначению — построение бинарных патчей. Если взглянуть, что там в репозитории, — становится слегка грустно: по сути он давным-давно…

    Читать далее »
  • ХабрахабрФото Могут ли PWA (Progressive Web Apps) образца 2018 года составить достойную конкуренцию нативным приложениям?

    Могут ли PWA (Progressive Web Apps) образца 2018 года составить достойную конкуренцию нативным приложениям?

    Казалось бы всего несколько лет назад web платформа проигрывала нативным приложением практически по всем фронтам, и пропасть между тем, что можно было сделать в браузере, и тем, что было доступно приложениями, загружаемым из магазинов, таких как Apple App Store или Google Play Store, была ужасающе огромной. Когда изменения происходят постепенно, шаг за шагом, порой бывает трудно заметить насколько они драматичны…

    Читать далее »
  • ХабрахабрФото CsConsoleFormat: форматирование в консоли по-новому (.NET)

    CsConsoleFormat: форматирование в консоли по-новому (.NET)

    Всем хорошо известны богатые средства форматирования в консоли: выравнивание пробелами, изменение текущего цвета текста и фона. Если вы хотите вывести пару строчек, то этого полностью хватает, хотя отсутствие переносов по пробелам временами раздражает. Если нужно вывести таблицу, приходится вручную рассчитывать ширину колонок, а часто просто хардкодить ширину. Если нужно раскрасить вывод, приходится испещрять вывод текста бесконечными переключениями и восстановлениями цвета.…

    Читать далее »


Кнопка «Наверх»