Здравствуйте, sfsoft, Вы писали:
C>>Но я так понимаю, что в России стек для крупных enterprise-приложений в миллионы строк кода выбирается на основе того, что работает на кассовом аппарате. Да? S>Я так понимаю, что ты совершенно не в теме, но мнение имеешь. Да?
Как бывший Principal Engineer в гигантской компании, имеющей сотни миллионов строк кода — ну совсем не в теме. Ни разу вообще enterprise-софт не видел.
Здравствуйте, sfsoft, Вы писали:
НС>>Ага, значит таки исключения есть. S>Если ставить вопрос именно так, то нет, там исключений нет. Там какой-то треш, который JavaScript разработчики считают корпоративом.
В вашем понимании "корпоратив" — это то, что пишется для полуподвальной конторы на VisualBasic.NET путём перетаскивания контролов на форму?
Здравствуйте, sfsoft, Вы писали:
S>Продолжай, я весь внимание. S>Так как подключить ККМ через WebUSB? Не стесняйся, Principal Engineer.
Я работал с принтером чеков где-то в 2005-м году, там был простой, но немного кривой протокол по RS-232. Наобум взял случайный фискальный накопитель: https://www.sampokkm.ru/fiscalniy-nakopitel-fn-1/ — в описании тот же RS-232.
Так что через WebUSB будет очевидный интерфейс — подключаем ФН через USB-RS232 адаптер и всё. Адаптеры RS-232 в USB — это вообще стандартный пример в WebUSB. Дальше остаётся только реализовать протокол общения, что очевидно может делаеться на любом Тюринг-полном языке.
Да, и если таки вдруг оказывается, что протокол общения ну никак не реализуется в JS из-за того, что он существует только в виде DLL-ки на VisualBasic 6, то всегда можно просто выделить её в специальный нативный модуль в NodeJS.
Здравствуйте, Cyberax, Вы писали:
C>Я работал с принтером чеков где-то в 2005-м году, там был простой, но немного кривой протокол по RS-232. Наобум взял случайный фискальный накопитель: https://www.sampokkm.ru/fiscalniy-nakopitel-fn-1/ — в описании тот же RS-232.
При чем тут фискальный накопитель? И зачем с ним связываться напрямую? Надеешься счетчики какие скрутить что ли? Так это не корпоративный софт, а совсем-совсем другая ниша.
C>Так что через WebUSB будет очевидный интерфейс — подключаем ФН через USB-RS232 адаптер и всё. Адаптеры RS-232 в USB — это вообще стандартный пример в WebUSB. Дальше остаётся только реализовать протокол общения, что очевидно может делаеться на любом Тюринг-полном языке.
Вот только отладка может занять столько же времени, сколько рисование 100500 форм с обращение к БД в том самом корпоративном софте. Как к слову, там с временными задержками в том самом WebUSB. По этой причине никто напрямую (за малыми исключениями) через RS с ФР не общается, в комплекте всегда имеется библиотеки для разных ОС и языков.
C>Да, и если таки вдруг оказывается, что протокол общения ну никак не реализуется в JS из-за того, что он существует только в виде DLL-ки на VisualBasic 6, то всегда можно просто выделить её в специальный нативный модуль в NodeJS.
Угу, а на клиентском компе не забыть запустить службу/демон.
Здравствуйте, sfsoft, Вы писали:
S>Никто не будет спорить, что веб-интерфейс сейчас является стандартом де-факто при разработке новых приложений.
S>Основным аргументом выбора веб-интерфейса при разработке ПО, при этом, является аргумент "пофигу на ОС, хоть Вин, хоть Линь, хоть Мак". Но в реальности (я сейчас про РФ, не про весь мир), у 99% процентов пользователей по прежнему стоит Windows (ключевое слово пользователей, а не разработчиков и не на серверах). И в обозримом будущем альтернатив не видно.
S>Так зачем, тогда, все топят за веб, если десктоп разработка требует меньших ресурсов и имеет большую скорость?
Кто-нибудь наверно уже об этом сказал. Но всё равно хотелось бы добавить, что веб-интерфейс всегда говно. Нет вообще примеров более-менее сложного удобного веб-интерфейса. Человечество зашло в тупик.
Здравствуйте, Kerk, Вы писали:
K>Кто-нибудь наверно уже об этом сказал. Но всё равно хотелось бы добавить, что веб-интерфейс всегда говно. Нет вообще примеров более-менее сложного удобного веб-интерфейса. Человечество зашло в тупик.
Здравствуйте, Kerk, Вы писали:
S>>Так зачем, тогда, все топят за веб, если десктоп разработка требует меньших ресурсов и имеет большую скорость? K>Кто-нибудь наверно уже об этом сказал. Но всё равно хотелось бы добавить, что веб-интерфейс всегда говно. Нет вообще примеров более-менее сложного удобного веб-интерфейса. Человечество зашло в тупик.
Salesforce, Slack, Github, ...
Здравствуйте, Kerk, Вы писали:
K>Здравствуйте, sfsoft, Вы писали:
S>>Никто не будет спорить, что веб-интерфейс сейчас является стандартом де-факто при разработке новых приложений.
S>>Основным аргументом выбора веб-интерфейса при разработке ПО, при этом, является аргумент "пофигу на ОС, хоть Вин, хоть Линь, хоть Мак". Но в реальности (я сейчас про РФ, не про весь мир), у 99% процентов пользователей по прежнему стоит Windows (ключевое слово пользователей, а не разработчиков и не на серверах). И в обозримом будущем альтернатив не видно.
S>>Так зачем, тогда, все топят за веб, если десктоп разработка требует меньших ресурсов и имеет большую скорость?
K>Кто-нибудь наверно уже об этом сказал. Но всё равно хотелось бы добавить, что веб-интерфейс всегда говно. Нет вообще примеров более-менее сложного удобного веб-интерфейса. Человечество зашло в тупик.
Сейчас в пример обычно приводят figma и vscode. Figma мне понравилась.
Здравствуйте, pagid, Вы писали:
P>При чем тут фискальный накопитель? И зачем с ним связываться напрямую? Надеешься счетчики какие скрутить что ли? Так это не корпоративный софт, а совсем-совсем другая ниша.
Я не знаю, но тут говорят, что это непреодолимое препятствие.
P>Вот только отладка может занять столько же времени, сколько рисование 100500 форм с обращение к БД в том самом корпоративном софте. Как к слову, там с временными задержками в том самом WebUSB. По этой причине никто напрямую (за малыми исключениями) через RS с ФР не общается, в комплекте всегда имеется библиотеки для разных ОС и языков.
Я для интереса нашёл стандартный протокол для ФР, и там ничего криминально сложного нет.
C>>Да, и если таки вдруг оказывается, что протокол общения ну никак не реализуется в JS из-за того, что он существует только в виде DLL-ки на VisualBasic 6, то всегда можно просто выделить её в специальный нативный модуль в NodeJS. P>Угу, а на клиентском компе не забыть запустить службу/демон.
Если используется фискальный накопитель, то это уже будет специализированная система. Т.е. или кассовый аппарат, или что-то типа его. В таких условиях запустить отдельную службу внутри Electron-приложения нет проблем.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, pagid, Вы писали:
P>>При чем тут фискальный накопитель? И зачем с ним связываться напрямую? Надеешься счетчики какие скрутить что ли? Так это не корпоративный софт, а совсем-совсем другая ниша. C>Я не знаю, но тут говорят, что это непреодолимое препятствие.
Преодолимое. Но во-первых, доставляющее лишний гемор, во-вторых, ты таки не то посмотрел, интерфейс фискального накопителя интересен только изготовителю кассовых аппаратов, а не разработчику корпоративного или какого другого софта. Последнее не принципиально, у софта с кассовыми аппаратами связь тоже через RS/USB
C>Я для интереса нашёл стандартный протокол для ФР, и там ничего криминально сложного нет.
Нет конечно, ничего сложного, там описание даже в разы короче, чем описание интерфейса прилагаемых библиотек/драйверов, вот только через них всё замечательно работает, а напрямую программировать RS/USB при наличии упомянутых библиотек мало кто возьмется, потому кроме как геморроя ничего не получит.
C>Если используется фискальный накопитель, то это уже будет специализированная система. Т.е. или кассовый аппарат, или что-то типа его. В таких условиях запустить отдельную службу внутри Electron-приложения нет проблем.
Это будет просто комп подключенный к кассовому аппарату (фискальному регистратору), он может быть в специфической комплектации, например, комп у кассира в магазине, или обычный компьютер бухгалтера в оптовой или производственной компании, где налом платит незначительная часть покупателей.
Здравствуйте, Kerk, Вы писали:
K>Хотелось бы добавить, что веб-интерфейс всегда говно. Нет вообще примеров более-менее сложного удобного веб-интерфейса.
Сейчас тебя будут убеждать в обратном. Что ты ничего не понимаешь и интерфейс в веб строится проще, быстрее и пользоваться им удобнее.
Здравствуйте, Cyberax, Вы писали:
C>Я не знаю, но тут говорят, что это непреодолимое препятствие.
То есть твоим ответом на вопрос "Так как подключить ККМ через WebUSB", я так понимаю, является "Нет никаких трудностей реализовать протокол общения между двумя железками по RS232"?
Почему тебя, при таком подходе к разработке, еще из айти не выгнали? Или ты тот самый эффективный менеджер, который умеет бюджеты раздувать из ничего?
С одной стороны понятны аргументы и за и против, но с другой, когда у меня
а) Банк 10 месяцев не менял код, поэтому работать можно было только с IE6, всё остальное валилось с ошибками ангуляра
б) Когда бухгалтерская система (:--(((() уже 2 года имеет кнопки наезжающие друг на друга
в) мейл.ру стал более глюкавый и тормозной, но зато с новомодными ангулярами или реактами, фиг знает
г) когда я пришёл на собеседование в самую крупную контору в мире по бронированию всего на свете и мы 2 часа пытались запустить тестовое задание (vue.js на маке), но так и не запустили.
....
и когда таких примеров просто тонны, то немного странно слышать про крутышку веб.
Здравствуйте, sfsoft, Вы писали:
S>Никто не будет спорить, что веб-интерфейс сейчас является стандартом де-факто при разработке новых приложений.
S>Основным аргументом выбора веб-интерфейса при разработке ПО, при этом, является аргумент "пофигу на ОС, хоть Вин, хоть Линь, хоть Мак". Но в реальности (я сейчас про РФ, не про весь мир), у 99% процентов пользователей по прежнему стоит Windows (ключевое слово пользователей, а не разработчиков и не на серверах). И в обозримом будущем альтернатив не видно.
S>Так зачем, тогда, все топят за веб, если десктоп разработка требует меньших ресурсов и имеет большую скорость?
Вообще тема неправильная, потому что в бизнесе так: если заказчик что-либо хоча, ему это надо обязательно дать, чтобы он был максимально доволен.
Поэтому спорить с ним в данном случае абсолютно неправильная и бесполезная тактика.
Веб — это открытые стандарты в области разработки интерфейса, набор альтернативных клиентов-броузеров. У многих интернет-продуктов есть толстый мобильный клиент, и тонкий для десктопа. Тонкий клиент покрывает вообще все платформы без исключения, которые хоть как-то используются в виде клиентских. Так как windows mobile сдох, то как минимум на мобильных устройствах винды больше не будет.
Здравствуйте, Явь-Истъ, Вы писали:
ЯИ>если заказчик что-либо хоча, ему это надо обязательно дать, чтобы он был максимально доволен.
Если бы не началась истерия с веб-интерфейсами, то заказчики и знать бы не знали ни про какой веб. Работали бы спокойно на своих десктопах (и в нативных приложениях на телефонах) и горя не знали. Но Google устроил "революцию", поскольку десктоп ему был неподвластен. В результате все равно все работают в Windows, но приложения должны быть в браузере.
Здравствуйте, sfsoft, Вы писали:
C>>Я не знаю, но тут говорят, что это непреодолимое препятствие. S>То есть твоим ответом на вопрос "Так как подключить ККМ через WebUSB", я так понимаю, является "Нет никаких трудностей реализовать протокол общения между двумя железками по RS232"?
Я ответил:
1. Использовать WebUSB для общения через RS-232 и реализовать протокол на JS.
2. Использовать родную библиотеку ФН, подключив её к NodeJS как нативный модуль.
S>Почему тебя, при таком подходе к разработке, еще из айти не выгнали? Или ты тот самый эффективный менеджер, который умеет бюджеты раздувать из ничего?
Нет, я практический специалист, который не считает, что выбор ФН является причиной для выбора всего стека в enterprise-системах.
Здравствуйте, sfsoft, Вы писали:
S>Здравствуйте, Явь-Истъ, Вы писали:
ЯИ>>если заказчик что-либо хоча, ему это надо обязательно дать, чтобы он был максимально доволен.
S>Если бы не началась истерия с веб-интерфейсами, то заказчики и знать бы не знали ни про какой веб. Работали бы спокойно на своих десктопах (и в нативных приложениях на телефонах) и горя не знали. Но Google устроил "революцию", поскольку десктоп ему был неподвластен. В результате все равно все работают в Windows, но приложения должны быть в браузере.
Странная логика. Если у веба нет перед десктопом преимущество, то почему все выбирают веб?
Даже фаулер в далеком 2002 году (18 лет назад однако) в книге PoEAA сказал что если нет особых причин использовать десктоп надо делать веб.
Здравствуйте, Ватакуси, Вы писали:
В>С одной стороны понятны аргументы и за и против, но с другой, когда у меня В>а) Банк 10 месяцев не менял код, поэтому работать можно было только с IE6, всё остальное валилось с ошибками ангуляра В>б) Когда бухгалтерская система (:--(((() уже 2 года имеет кнопки наезжающие друг на друга В>в) мейл.ру стал более глюкавый и тормозной, но зато с новомодными ангулярами или реактами, фиг знает В>г) когда я пришёл на собеседование в самую крупную контору в мире по бронированию всего на свете и мы 2 часа пытались запустить тестовое задание (vue.js на маке), но так и не запустили. В>....
В>и когда таких примеров просто тонны, то немного странно слышать про крутышку веб.
Эти примеры показывают низкий уровень программистов, которые делают веб. С таким уровнем подготовки программистов десктоп программа не добралась бы ни одного из перечисленных пунктов.