Re: Sciter vs WinForms+WebView
От: Nikolaz Германия www.nikeware.com
Дата: 31.01.23 09:45
Оценка: 3 (1) +1
Здравствуйте, C0x, Вы писали:

C0x>Но на коленке за 5 минут наваял простенькое WinForms приложение где на все окно натянул WebView (есть еще какой-то WebView2 но не пробовал) и вроде как оно шевелится, живет в 7-ке, 10-ке и выше.

Если наваяли за 5 минут, значит там особо нет ничего сложного. Более менее сложное старое MFC приложение, например типа MDI, просто так перенести не получится. И не важно WinForms это или Sciter.
С MFC приложениями я шёл немного другим путем. Полностью перенести на Sciter всё иделогию, заложенную в архитектуре MFC, попросту невозможно. Я интегрировал Sciter в MFC в виде CWnd-based контрола, который просто использовал как такой себе универсальый виджет, который я мог "воткнуть" в любую часть моего MFC приложения.

C0x>Поэтому возник вопрос: если нужен просто красивый HTML+CSS интерфейс, то есть ли смысл смотреть в сторону Sciter? К примеру, размер WinForms приложения получается 300 килобайт на выходе.

Смысл смотреть есть, если хотите иметь приложение, независимое от встроенного в системе Web-движка. Ваши 300 килобайт на выходе именно о том и говорят, что весь остальной код находится где-то отдельно в системе. С Sciter у вас отдельная dll в каталоге вашей программы без всяких там COM и других "сущностей" по интеграции вашего backend на С++ и frontend на JavaScript.

Относительно самого Sciter. Сейчас есть две версии: Sciter.TS и Sciter.JS. Первая содержит в себе собственный скриптовый движок и уже несколько лет не развивается, вторая поддержиает JavaScript и по состоянию на сегодня является текущей. По опыту работы с обоими могу сказать, что Sciter.TS немного пошустрее, чем JS. Но Sciter.JS конечно интересен тем, что позволяет достаточно легко переносить уже существующие решения на движок Sciter.

p.s. В качестве "затравки" о том, что всё можно перенести на WebView. Попробуйте реализовать на "обычном" HTML кастомный dropdown combobox так, чтобы его dropdown список при открытии мог частично находится за пределами клиетской области вашего окна, на которое вы "натянули" этот самый WebView Это возможно только на стандартном <input> с очень минимальными возможностями по кастомизации тега <option> в нём. Полную CSS кастомизацию этого тега в dropdown combobox ни Chrome, ни Firefox так до сих пор и не осилили. То же самое касается и классических выпадающих многоуровниевых меню. На дворе уже блин 21 век Sciter это умеет "by design". Вообще-то это старая больная тема. Многие, кто ратует за перенос Desktop приложений на Web-движки не до конца понимают с чем приходится сталкиваться. Та философия UI/UX, которая заложена в Web-движки сегодня не совсем подходит к Desktop. Sciter в этом плане гараздо лучше с этим справляется.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.