
Roman
02.07.2017
16:18:15
может определить некий error code enum в котором определить конкретный код стандартным exception типам как std::out_of_range, std::runtime_error, std::invalid_argument ?

Alexander
02.07.2017
16:20:43
посмотри, не реализовано ли то, чего ты хочешь, в std::error_code

Eugene
02.07.2017
16:22:31
Кстати, почему в MSVC прокатывает std::exception("blabla")?
Любой другой компилятор скажет, что нет такого контруктора у exception.

Alexander
02.07.2017
16:23:00

Google

Eugene
02.07.2017
16:25:30
А в C# есть, мож в этом дело?
И он путается :D

Ruslan
02.07.2017
16:25:52

Vitaly
02.07.2017
16:26:45

Eugene
02.07.2017
16:27:16

Alexander
02.07.2017
16:27:36


Roman
02.07.2017
16:32:09
я пытаюсь добиться нечто подобного:
// http.get returns a stream that's either closed when the results arrive or fails when an error occures
request = http.get("server.org/resource")
// retry the get operation as long as the error is either http.Timeout or http.BadGateway for max. 3 times
request.retry({http.Timeout, http.BadGateway}, 3)
// execute next stream when data arrives
request.attach(...)
// catch unexpected errors and execute failure handling stream
// will be called if either a unexpected error was thrown (non-timeout as well as non-badgateway) such as http.NotFound
// or if after 3 times of retrial there still was no success
request.failure(...)
легче всего данное реализовать на error code'ах ибо типы можно определить простыми integer'ами и сравнивать их довольно просто
enum Error {
Timeout = 1
BadGateway = 2,
NotFound = 3
}
но как быть с кодом который "не поддерживает" данный подход и бросает инстанции каких-то кастомных error классов типа MyCustomTimeoutError.. в таком случае я их просто превращаю в пустой QVariant объект, т.е. в неизвестную ошибку..
ибо нет в C++11 возможности указать:
request.retry({MyCustomTimeoutError, MyCustomGatewayError})
было бы возможно только с помощью std::any из C++17 насколько я понимаю


Eugene
02.07.2017
16:38:30

Норман
02.07.2017
16:42:57
здешние проблемы стандартов еще не самые ужасные, как в web
а именно front-end

Alex Фэils?︙
02.07.2017
16:53:14
Ой, всё? в жопу вротэнд. Пишу на таблицах с 2005 года

Google

Ruslan
02.07.2017
16:56:24
ahahaahha

Серж
02.07.2017
16:57:18
фронтенд на С++ https://www.webtoolkit.eu/wt/ru/

Roman
02.07.2017
17:02:08

Серж
02.07.2017
17:02:41
насколько я понял оно такое поддерживает

Aldar
02.07.2017
17:03:47
жс такой же кривой как и с++
но делать нечего, все плюются и пишут на нем

Roman
02.07.2017
17:05:10
не вижу логики честно говоря... веб приложения обычно состоят из трёх частей: file sever, application server и webclient (бд и т.д. не считаю)
в то время как application server можно писать хоть на C++ хоть на Go хоть на Python, PHP, Java, JavaScript и т.д. и т.п. - веб клиент всегда пишется на Javascript + HTML (HTML5)
веб-фронтэнд на C++? как это понимать? типа генерим HTML на сервере с помощью C++ как с древним подходом PHP?

Дед Пегас
02.07.2017
17:07:00
Генерить HTML на сервере и щас норм подход, если страницы довльно тяжёлые.

Aldar
02.07.2017
17:07:15

Stas
02.07.2017
17:07:54

Roman
02.07.2017
17:07:56

Серж
02.07.2017
17:08:24
а клиент на мобилках?
я слышал конечно про реакт нейтив
я это шутки ради запостил, не надо на нем ничего пилить, если тебе не по фану, коллеги не поймут

Roman
02.07.2017
17:09:28

Berkus
02.07.2017
17:10:10
вполне неплохой код генерит

Серж
02.07.2017
17:10:31
причем как я понял может интерактивно работать с домом

Google

Berkus
02.07.2017
17:10:36

Серж
02.07.2017
17:10:45
отсюда и возможность SPA

Berkus
02.07.2017
17:10:57
там всё ништячно, код выглядит как Qt а получается веб морда

Серж
02.07.2017
17:11:01
как я понял через ajax или ws

Stas
02.07.2017
17:11:16
Ваши Навороченные Расбери умрут на +80 градусах а иногда нужно аж 120 градусов. Вот у меня девайс на DM3730 на +70 внутри камня разогрет до 115 на 120 хардварный стоп :(. и это только +70.
Ну это большой арм да.
Там у нас веб морда на Джанге.

Roman
02.07.2017
17:12:30
оно умеет генерить js и html нормально
да это я понимаю, старый PHP'вский подход, но генерить JS ... не выйдет у тебя нормального SPA, разработчики webtoolkit'а не могут учесть все use case'ы веб приложений, это всё-равно что написать новый язык который транспилируется в C++, лучше писать на C++ сразу чем прослойкой пользоваться

Серж
02.07.2017
17:13:00
на мобилки клиент делают потому что пользователь избалован, тебе то самому лучше на мобилке нативный клиент открыть, который не тормозит (в идеале) или браузер, где набрать урл, который еще и тормозить потом будет

Roman
02.07.2017
17:13:07

Stas
02.07.2017
17:13:30
Да зачем, боже ты прям в сокет и отдаешь статичный\динамичный HTML + JS. тебе же запросы приходят ты их парсишь.

Roman
02.07.2017
17:13:54
обычно у тебя датчики связаны с центральным компьютером который и предоставляет веб-морду, сам датчик то зачем напрягать рендерингом HTML, нонсенс

Серж
02.07.2017
17:14:05
быстрее перерисовать часть страницы, а не всю

Stas
02.07.2017
17:15:28
Рендеринга нет. у тебя есть запросы которые летят с Браузер (по средствам твоего же JS) скажем запрос МодБас регистров ты их пакуешь в JSON и отдаешь. А браузер красиво их показывает.

Roman
02.07.2017
17:17:08
я просто говорю не как C++ разработчик а как Full Stack разработчик (да, такие бывают в природе зачастую, C++, Qt/QML, Go, JavaScript, HTML5)
я бы не стал применять прослойку аля webtoolkit, я бы написал application server на Go, и вебклиент на HTML5, если нужно моб. приложение то либо на HTML5 либо Qt которые как и вебприложение рботают с API application server'а

Серж
02.07.2017
17:17:38
я думаю многие бы оспорили qt как выбор для мобилок
неродной gui

Dolphin
02.07.2017
17:17:59

Серж
02.07.2017
17:18:01
лучше уж xamarin

Roman
02.07.2017
17:19:25
неродной gui
далеко не всегда он тебе нужен native look & feel, когда твоё приложение должно работать одинакого на всех девайсах от винды до IOS'а (как у нас в случае с https://qbeon.com) и не хочется содержать 5 кодовых баз на 5 разных языках и парадигмах - Qt QML самое оно!

Google

Stas
02.07.2017
17:19:44

Серж
02.07.2017
17:19:53
т.е. когда ресуры ограничены? справедливо

Alexander
02.07.2017
17:20:50

Roman
02.07.2017
17:21:03

Alexander
02.07.2017
17:21:23
что эта штуковина делает? qbeon которая

Серж
02.07.2017
17:22:04
кончится интернет у тебя дома или где ты там облако поднимаешь и облако у тебя кончится

Admin
ERROR: S client not available

Серж
02.07.2017
17:24:03
если есть сервак, то можно реверс туннель по ssh настроить
я так понимаю ваш девайс подключается к вашим серверам и так клиент находит с ним связь? так происходит монетизация?

Alexey
02.07.2017
17:25:02


Roman
02.07.2017
17:25:50
qbeon это компания, продукт QubeOS - облачная OS'ь, на данный момент сконцентрированы на облачном хранилище... это типа как Dropbox который ты себе на свой сервак можешь поставить, а на Qt мы разрабатываем клиентские приложения под эту ОСь...
так вот нам важно было предоставить пользователь идентичный look & feel на всех девайсах (windows, linux, mac, ios, android) и желательно с одоной кодовой базой, на каждую платформу по базе было бы жуть! На native look нам наплевать, нам он даже наоборот не желателен (corporate design)
естественно у нас остаются 2 возможности: HTML5 и Qt, но поработав в веб сфере я знаю HTML5 слишком хорошо, чтоб использовать его в данных целях, слишком говённое получится приложение, медленное, батарейку будет жрать, багов в отображении анимаций и т.д.

Серж
02.07.2017
17:26:44
в xamarin кстати есть платформа абстракции для ios и android xamarin.forms

Berkus
02.07.2017
17:26:53

Серж
02.07.2017
17:27:01
если не будешь использовать что-то нестандартное - будет одна кодовая база
кстати были ли проблемы qt+android, андроид это же джава со сборщиком мусора, который может прийти и почистить твою память

Roman
02.07.2017
17:28:35
честно говоря не знаком с Xamarin, знаю лишь поверхностно, но Qt выглядит куда серьёзнее, QML это лучший декларативный язык описания интерфейсов который я знаю

Серж
02.07.2017
17:28:47
хелоуворды у меня работали без проблем, кроме хелоувордов ничего не делал на qt android, поэтому и интересно

Roman
02.07.2017
17:29:12

Серж
02.07.2017
17:29:39
понял, я думал там биндинги к джаве

Aldar
02.07.2017
17:29:42
qbeon это компания, продукт QubeOS - облачная OS'ь, на данный момент сконцентрированы на облачном хранилище... это типа как Dropbox который ты себе на свой сервак можешь поставить, а на Qt мы разрабатываем клиентские приложения под эту ОСь...
так вот нам важно было предоставить пользователь идентичный look & feel на всех девайсах (windows, linux, mac, ios, android) и желательно с одоной кодовой базой, на каждую платформу по базе было бы жуть! На native look нам наплевать, нам он даже наоборот не желателен (corporate design)
естественно у нас остаются 2 возможности: HTML5 и Qt, но поработав в веб сфере я знаю HTML5 слишком хорошо, чтоб использовать его в данных целях, слишком говённое получится приложение, медленное, батарейку будет жрать, багов в отображении анимаций и т.д.
ждем когда вебасм допилят

Google

Alexander
02.07.2017
17:29:57
NDK....
а андроидовский ндк до ума довели или всё ещё есть смысл от использования crystal ndk?

Roman
02.07.2017
17:30:04
Qt замечательно работает на всех основных платформах, единственное некоторые нюансы некоторых систем нужно учитывать (например background процессы)


Vladislav
02.07.2017
17:30:06
qbeon это компания, продукт QubeOS - облачная OS'ь, на данный момент сконцентрированы на облачном хранилище... это типа как Dropbox который ты себе на свой сервак можешь поставить, а на Qt мы разрабатываем клиентские приложения под эту ОСь...
так вот нам важно было предоставить пользователь идентичный look & feel на всех девайсах (windows, linux, mac, ios, android) и желательно с одоной кодовой базой, на каждую платформу по базе было бы жуть! На native look нам наплевать, нам он даже наоборот не желателен (corporate design)
естественно у нас остаются 2 возможности: HTML5 и Qt, но поработав в веб сфере я знаю HTML5 слишком хорошо, чтоб использовать его в данных целях, слишком говённое получится приложение, медленное, батарейку будет жрать, багов в отображении анимаций и т.д.
А ещё бывает react-native

Серж
02.07.2017
17:30:11
хотя не, не понял, NDK разве полностью дублирует родной API?

Roman
02.07.2017
17:30:36

Aldar
02.07.2017
17:30:38
и что потом?))
можно будет писать веб приложения кросплатформенные и быстрые

Roman
02.07.2017
17:31:31
А ещё бывает react-native
это не меняет суть что приложение выполняется по факту в браузере и нет возможности прикрепить C++, в Qt это непроблема

Aldar
02.07.2017
17:31:53

Дед Пегас
02.07.2017
17:32:07
В Тензоре так делают.

Vladislav
02.07.2017
17:32:17

Дед Пегас
02.07.2017
17:32:19
Для оффлайн-приложений.
Ну «оффлайн», да.

Roman
02.07.2017
17:32:41
да и опять же я предпочту QML - HTML'у в любое время, HTML никогда не был предназначен для современных приложений, QML именно для них и создан, он более модульный, более производительный, более декларативный, ну и т.д.

Berkus
02.07.2017
17:34:35

Vladislav
02.07.2017
17:35:41

Azoyan
02.07.2017
17:52:07
О, кстати, сделал на Qt (Qt Widgets) простой виджет из двух lineEdit, для проверки регулярных выражений (сверху в строку пишется регулярное выражение, снизу пишется проверяемая строка). Так вот, хочу чтобы в Интернете можно было этим пользоваться. Вопрос, мне для этого нужен emscripten, или можно было сделать по-другому?
Из QML там, может можно в HTML+JavaScript?