https://github.com/nikvoronin/howto-grow-hybrid-app
How to grow a hybrid application. TechTalks #19 (Vladimir)
https://github.com/nikvoronin/howto-grow-hybrid-app
browser cef cefsharp cefsharp-winforms cefsharp-wpf chromium chromium-embedded-framework dotnet meetup presentation presentation-slides tech-talks
Last synced: 8 months ago
JSON representation
How to grow a hybrid application. TechTalks #19 (Vladimir)
- Host: GitHub
- URL: https://github.com/nikvoronin/howto-grow-hybrid-app
- Owner: nikvoronin
- Created: 2023-09-09T22:49:35.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-31T21:49:15.000Z (10 months ago)
- Last Synced: 2025-01-31T22:27:52.385Z (10 months ago)
- Topics: browser, cef, cefsharp, cefsharp-winforms, cefsharp-wpf, chromium, chromium-embedded-framework, dotnet, meetup, presentation, presentation-slides, tech-talks
- Homepage:
- Size: 25.3 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Выращиваем гибрид
Нет, это не про монолит и микросервисы.
Мы взяли веб-приложение и сделали из него десктоп. Затем построили свой терминал и продаем клиентам. Все это меньше, чем за год. Не напрягаясь и не подключая сотни людей.

__Место проведения:__ Vladimir Tech Talks #19, г. Владимир, ул. Гагарина 5, этаж 4, [конф. зал Альтенара](https://yandex.ru/maps/-/CDQlNY~U).
8 Сентября 2023 года. ▶ [Видео `VK`](https://vk.com/video-178974757_456239042?t=51m)
## План
- Об авторе и почему он делал гибридный проект - десктоп плюс веб.
- Зачем в 2023 году нужны терминалы?
- Режим киоска.
- Переписать веб-фронт на десктоп.
- Chromium Embdedded Framework + sharp.
- Встраиваем браузер в десктоп приложение.
- Общение между браузером и десктоп приложением.
- Гибридный результат в среде обитания.
- Некоторое железо: принтер, купюро- и монето- приемники.
- Упрощаем жизнь разработчика.
- Сборка и доставка приложения.
- Визитка + альтернативы и [пример приложения на гитхабе](https://github.com/nikvoronin/GenericBrowser).
### Доп. секция
- Преимущества веб-браузеров.
- Контроль состояния принтера.
- Контроль долгих операций.
## Вопросы
▶ [Видео `VK`](https://vk.com/video-178974757_456239042?t=1h15m20s)
- `???` Защита веб-приложения от инъекций постороннего кода мошенниками?
- Почему нет поддержки пластиковых карт?
- Рассматривался ли как вариант [Tauri](https://tauri.app/)?
- Первый ли такого типа проект у автора?
- Контролируется ли состояние оборудования?
`???` остались без ответа
## Hints
### WSL2 does not have an internet
Actualy, that is a wrong configuration of nameserver.
```shell
sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 1.1.1.1" > /etc/resolv.conf'
sudo bash -c 'echo "[network]" > /etc/wsl.conf'
sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'
sudo chattr +i /etc/resolv.conf
```
### Get PNG slides with ImageMagick
> sudo apt-get install imagemagick
### ImageMagic PDF restrictions
> convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408.
- Open `/etc/ImageMagick-6/policy.xml`
- Change policy for PDF: ``
### HowTo get PNG slides
> convert -density 200 foo.pdf ./res/foo_%02d.png
Produces series of PNG files like: `foo_00.png`, `foo_01.png`, ...