Имя: Пароль:
IT
 
На чем написать простенькое десктопное приложение?
, ,
0 DSSS
 
24.10.16
09:55
Привет друзья!
Кто в теме, сделайте пжл небольшой ликбез по вопросу написания простенького десктопного приложения.
Нужна программка, которая будет периодически извлекать из локальной базы данных (не более 5 тыс. записей) текст и показывать его в отдельном окошке, выезжающем на экран. В этом же окошке будет кнопка "Подробнее", по которой открывается веб страница в браузере.
Нужно чтобы работало в любых виндовс начиная с 7 и без отдельного установщика.
Отдельные требования заказчик выдвигает к интерфейсной части. Нужны возможности рисовать свои элементы (области формы, кнопки и т.п.). а не простое виндовое окно!

На чем сейчас пишут десктопные приложения со столько простыми функциями?
Спасибо.
90 Serginio1
 
26.10.16
10:00
89+ Если включено обновление, то на всех виндах сейчас стоит 4.6.1 и выше (4.6.2 для 10 ки)
91 Loky9
 
26.10.16
20:38
http://nanapro.org/en-us/ прикольная штука. Статически линкованый минимальный эксешник около мегабайта и запускается на всём.
92 Jija Grenkov
 
26.10.16
23:11
Как по мне тут и думать нечего, если сугубо под винду и нет опыта написания подобных утили, то юзать нужно "майкрософтовские языки". С# самый популярный.
93 Loky9
 
27.10.16
01:12
(34) Итак, при помощи http://www.transcrypt.org/examples получается такой нодовский main

electron = require('electron')
app = electron.app
BrowserWindow = electron.BrowserWindow

win = None

def createWindow():
    global win
    win = __new__(BrowserWindow({'width': 800, 'height': 600}))

    win.loadURL('file://{}/index.html'.format(__dirname))

    #win.webContents.openDevTools()

    def close():
        global win
        win = None

    win.on('closed', close)

app.on('ready', createWindow)

def on_closed():
    if process.platform != 'darwin':
        app.quit()

app.on('window-all-closed', on_closed)

def on_activate():
    global win
    if win is None:
        createWindow()

app.on('activate', on_activate)
94 ЧеловекДуши
 
27.10.16
08:45
(4) 5000, это только первый вариант.
Правки, за доп плату ;)
95 ЧеловекДуши
 
27.10.16
08:52
(85) IE, это изрядная дыра в безопасности :)
96 trdm
 
27.10.16
17:23
(25) > Может выразился не совсем понятно с самого начала. Нужны широкие возможности рисования форм и элементов на них, использовать свои стили. Например, перерисовать стандартные кнопки окон (изменение размера окна, сворачивания, закрытия)
Хотя может это все везде можно, просто не в курсе.

https://www.youtube.com/watch?v=RBiMvXitGso
97 trdm
 
27.10.16
17:28
(90) > Если включено обновление, то на всех виндах сейчас стоит 4.6.1 и выше (4.6.2 для 10 ки)

Откуда такая страсть к мазохизму?????
Постоянно включенные обновления приводят к время от времени возникающему трындецу.
По моему опыту раз в пол года ставишь критические обновления системы уже протестированные и все.
А фраймверк к ним не относится.
98 Serginio1
 
27.10.16
17:40
(97) То есть твой опыт единственно верный? Это лишь твоё субъективное мнение.
Вот именно ты мазохизмом и занимаешься.
Почему ты до сих пор не на Линукс?
99 Мойдодыр
 
27.10.16
17:44
(93) А теперь напиши что-нибудь реальное )))
100 mehfk
 
27.10.16
17:47
(100)
101 Oftan_Idy
 
27.10.16
17:52
(0) javascript
102 trdm
 
27.10.16
18:11
(98) > Это лишь твоё субъективное мнение.

Любое мнение - субъективное.
Я бы тебе не доверял, ты сильно пристрастен.
103 Loky9
 
27.10.16
19:25
(99) Не вижу что тут может помешать. Но десктоп на веб-средствах писать я не стану, конечно, и другим не советую.
104 Torquader
 
27.10.16
21:09
Ой как хорошо - третий день подходит к концу, а они только решают - на чём таком писать это приложение.
Тогда как студент бы уже тарелку супа за него заработанную не только съел, но и вернуть природе успел.
105 Serginio1
 
28.10.16
10:57
(102) А мне не нужно доверие. Я делюсь не мнением, а наработками. Хочешь используй, хочешь нет. В любом случае можно писать под .Net 3.5, что бы и под XP.
106 DDwe
 
28.10.16
11:13
(0)Нужен гемор, пиши на нет. Не нужен, пиши на Qt.
107 Oftan_Idy
 
28.10.16
11:28
(106) Да какая нафик разница

(0) В Windows 7 была такая штука как виджет. Это по сути маленькая html-страничка с javascript. Вот эту штуку и можно использовать. И красиво и удобно
108 DDwe
 
28.10.16
11:35
(107) Наличие гемора и отсутствие оного, вот и вся разница.
109 Serginio1
 
28.10.16
11:36
(106) Интересно и в чем гемор, особенно по сравнению с QT?
110 Serginio1
 
28.10.16
11:37
(108) Я уже лет 12 пишу и Хожу в туалет без болей и радуюсь жизни.
111 DDwe
 
28.10.16
11:54
Кому-то интересны подробности хождения в туалет по естественным надобностям Serginio1 ? Зачем он всем это рассказывает?
112 Мойдодыр
 
28.10.16
11:56
На яве конечно же нужно писать )))
113 Serginio1
 
28.10.16
11:56
(111) Я отвечаю на твои суждения про гемор. И значит ты говоришь о своем опыте, а значит  у тебя попа болит.
Сочувствую.
114 LeReve
 
28.10.16
11:57
на коленке пиши
115 DDwe
 
28.10.16
11:59
(113) Если ты пишешь с такой же логикой как и рассуждаешь, то это жесть )))
116 Курцвейл
 
28.10.16
12:03
Лучше всего писать на JavaFx
117 trdm
 
28.10.16
12:03
(106) > Нужен гемор, пиши на нет.

а почему на нете гемор писать?
118 Курцвейл
 
28.10.16
12:06
(117) Потому что нужна виртуальная машина для исполнения кода
119 Serginio1
 
28.10.16
12:06
(115) Посмотри. У меня все выложено.
Но ты так и не ответил от чего у тебя гемор при использовании .Net.
120 Serginio1
 
28.10.16
12:08
(118) Не виртуальная машина, а CLR. И в  чем гемор то?
Она уже стоит.
121 Сверчок
 
28.10.16
12:10
(118) с явой не путаешь?
122 Gary417
 
28.10.16
12:13
(120) CLR это и есть виртмашины, как jvm, от другого названия смысл не меняется

она то стоит, но какойто определённой версии, их чёртова туча уже развелась
123 Сверчок
 
28.10.16
12:20
Что не мешает с успехом использовать приложения, скомпонованные хоть "под 2.0" -- а её возможностей для деловых и сервисных приложений за-глаза. Начиная же с 4.0 -- ну-у, это уже для любителей изысков и бантиков с рюшечками.
124 Serginio1
 
28.10.16
12:29
(120) В отличие от JVM

MSIL является языком программирования и при этом он полностью компилируется

https://ru.wikipedia.org/wiki/Java_Virtual_Machine
Виртуальные машины Java обычно содержат Интерпретатор байт-кода, однако, для повышения производительности во многих машинах также применяется JIT-компиляция часто исполняемых фрагментов байт-кода в машинный код.


Хотя есть микро Фреймворк, там как раз виртуальная машина.
125 Serginio1
 
28.10.16
12:35
(122) Обычно у всех стоит автоматическое обновление и всегда устанавливается последняя версия. Но если приложение написано под 4.5.1 то оно будет выполняться и на 4.6.2.
Если тебе не нужны какие то особенности новых версий можешь компилить хоть под 3.5
126 Gary417
 
28.10.16
12:37
(124) ну дававайте давайте
https://ru.wikipedia.org/wiki/Common_Language_Runtime
Common Language Runtime (англ. CLR — общеязыковая исполняющая среда) — исполняющая среда для байт-кода CIL (MSIL), в который компилируются программы
127 Gary417
 
28.10.16
12:38
(125) ага, попробуйте в Win10 приложение на Net1.0 запустить
128 Serginio1
 
28.10.16
12:38
(126) Написать то тебе могут, что угодно.

Например есть NGEN который полностью компилирует код при выполнении. Выполняется полностью скомпилированный код.
129 Gary417
 
28.10.16
12:39
(128) так он опционален, также как и в яве
130 Gary417
 
28.10.16
12:39
и CLR и JVM это виртмашины, у которых есть ф-ция компиляции в машинные коды
131 Serginio1
 
28.10.16
12:40
(127) Так многие приложения под XP на Win 10 не пойдут.
132 Gary417
 
28.10.16
12:40
можно много заумных слов и формулировок приумать, но в итоге всёравно (130)

(131) Да лааадно??
133 Serginio1
 
28.10.16
12:40
(130) Еще раз читаем про NGEN.
134 Gary417
 
28.10.16
12:41
(131) Отлично Net 2.0, мало? Net 3.0!!!
135 Gary417
 
28.10.16
12:42
(134) + пруф http://imglink.ru/show-image.php?id=dd2ec9c42edaadb34eee545ad54767e0

Это Windows 10, по умолчанию Net 3.5 не установлен
136 Serginio1
 
28.10.16
12:43
(132) Вот именно ты их и придумывашь. JVM  изначально была без JIT поэтому и стали переносить понятие VM на все что не попадя.

https://ru.wikipedia.org/wiki/Виртуальная_машина

Виртуальная машина исполняет некоторый машинно-независимый код (например, байт-код, шитый код, p-код) или машинный код реального процессора. Помимо процессора, ВМ может эмулировать работу как отдельных компонентов аппаратного обеспечения, так и целого реального компьютера (включая BIOS, оперативную память, жёсткий диск и другие периферийные устройства). В последнем случае в ВМ, как и на реальный компьютер, можно устанавливать операционные системы (например, Windows можно запускать в виртуальной машине под Linux или наоборот). На одном компьютере может функционировать несколько виртуальных машин (это может использоваться для имитации нескольких серверов на одном реальном сервере с целью оптимизации использования ресурсов сервера).


В нет ничего не эмулируется.
137 Gary417
 
28.10.16
12:44
(136) А теперь вы путаете виртмашину с виртуализацией
138 Serginio1
 
28.10.16
12:44
Мало того есть .Net Native
https://msdn.microsoft.com/ru-ru/library/dn807190(v=vs.110).aspx


.NET Native и NGEN





Генератор образов в машинном коде (NGEN) компилирует сборки в машинный код и устанавливает их в кэш образов в машинном коде на локальном компьютере. Однако хотя NGEN, как и .NET Native, создает машинный код, NGEN имеет существенные отличия от .NET Native:

• Если для конкретного метода нет образа в машинном коде, NGEN переключается на JIT-компиляцию кода. Это означает, что образы в машинном коде должны продолжать включать метаданные и IL-код для того случая, если генератору NGEN необходимо переключиться на JIT-компиляцию. В противоположность этому .NET Native только создает образы в машинном коде и не переключается на JIT-компиляцию. В результате должны сохраняться метаданные, необходимые только для некоторых сценариев отражения, сериализации и взаимодействия.


• NGEN по-прежнему полагается на полную среду CLR для таких сервисов, как загрузка сборок, удаленное и локальное взаимодействие, управление памятью, сбор мусора и, при необходимости, JIT-компиляция. В .NET Native многие из этих сервисов являются либо ненужными (JIT-компиляции), либо разрешаются во время построения и включаются в сборку приложения. Остальные сервисы, наиболее важным из которых является сбор мусора, включены в гораздо более компактную, оптимизированную среду выполнения mrt100_app.dll.


• Образы NGEN, как правило, хрупкие. Например, обновление или изменение зависимости обычно требует, чтобы сборки, которые его используют, также были пересозданы NGEN. Это особенно верно для системных сборок в библиотеке классов .NET Framework. В противоположность этому .NET Native позволяет обслуживать приложения независимо друг от друга.
139 Serginio1
 
28.10.16
12:45
(137) Это википедия. И понятие виртуальной машины.
140 Gary417
 
28.10.16
12:47
(139) яж говорю, как ни называй вещи они не станут другое означать

Net - не виртмашина потому что там можно компилить native, а java - виртмашина потому что при её создании jit она не умела

гениально
141 Gary417
 
28.10.16
12:47
тем не менее натив не натив, но проблема (135) актуальна
142 Gary417
 
28.10.16
12:48
хоть обкомпились стопицот раз, надо геморроится фреймворк ставить....и можно вспомнить вечный делфи
143 trdm
 
28.10.16
12:52
(131) > Так многие приложения под XP на Win 10 не пойдут.

Можно проверить Qt-шное приложение.
У кого есть 10-ка проверьте:
https://yadi.sk/d/4ZGsM7Q8xjTjH
144 Serginio1
 
28.10.16
12:52
(141) Пиши по .Net 1.0/ Там Win Forms и доступ к базам.
Можешь сделать инсталятор для установки нужной версии. Там помоему мегабайтов 20.
145 trdm
 
28.10.16
12:52
(143) на XP запускается.
146 Gary417
 
28.10.16
12:53
(145) работает
147 Serginio1
 
28.10.16
12:53
(143) Там проблема в драйверах.
Я написал многие, а не все.
148 Gary417
 
28.10.16
12:54
(147) драйвера для обычных приложений десктопных?
149 Serginio1
 
28.10.16
12:56
(145) У меня куча приложений под 3.5 работают и там и там.
А вообще обновляйте винду и делайте инсталяторы.
Как кстати все и поступают.
150 trdm
 
28.10.16
12:57
(125) > Обычно у всех стоит автоматическое обновление и всегда устанавливается последняя версия.

у нас на работе и у меня дома оно отключено.
У многих на рабочих машинах оно отключено.
мелкософт по этому и делает такие обновлялки что их очень сложно отключить.
кстати это одна из претензий к винде. обновление которое не вовремя вылазит.
151 Serginio1
 
28.10.16
12:57
(148) Которым нужен доступ к оборудованию.
152 Serginio1
 
28.10.16
12:59
(150) Это твои проблемы. Я не понимаю, что ты вообще делаешь на винде.
Еще раз всегда можно включить инсталятор .net в дистрибутив. Это сейчас вообще копейки
153 trdm
 
28.10.16
13:00
(149) > А вообще обновляйте винду и делайте инсталяторы.

Поищи дураков и нубов где нибудь еще. Немало простоев по вине кривых обновлений винды приучили не доверять мелковреднософту.
154 trdm
 
28.10.16
13:01
(146) оно собрано на XP.
155 trdm
 
28.10.16
13:02
полагаю будет работать и на 2000-м и висте
156 Serginio1
 
28.10.16
13:02
152+ https://habrahabr.ru/post/255807/

(153) Используй Линукс. Ну вот у меня ни разу не было таких простоев, в отличие от 1С.

(154) И у меня есть куча приложений которые были созданы на XP/ Кстати XP поддерживает 4.0
157 trdm
 
28.10.16
13:04
> Кстати XP поддерживает 4.0
Этого мусора у меня на компе не будет..
158 Gary417
 
28.10.16
13:07
(152) <всегда можно включить инсталятор .net в дистрибутив. >

Т.е. программа отсюда (143) будет весить не 3мб, а 20 минимум?
159 Gary417
 
28.10.16
13:08
*чёрт, вспоминаю себя в 2003 году когда на C# начал программить...тоже думал ну а чё, фреймворк 20 метров ерунда какая
160 Garykom
 
гуру
28.10.16
13:39
(159) с jre еще веселее
161 Serginio1
 
28.10.16
13:49
(157) Я рад за тебя.
(158) Нет там можно указать, что бы если нет нужной версии, то тянула бы с вэба
Развертывание и безопасность технологии ClickOnce
https://msdn.microsoft.com/ru-ru/library/t71a733d.aspx
162 Gary417
 
28.10.16
13:52
(161) угу, из веба, особенно классно если инета нет или он ограничен лютым образом (я офигел искать Anniversary Update в виде отдельного файла)
163 Gary417
 
28.10.16
13:52
(160) писать десктопное приложения на яве надо только с дикого перепоя :))
164 Serginio1
 
28.10.16
13:55
161+ https://msdn.microsoft.com/ru-ru/library/ee942965(v=vs.110).aspx

(162) Не надо сравнивать Anniversary Update с гигабайтами и фремворк с 20 мб
165 Gary417
 
28.10.16
13:55
(164) я про способ распространения софта, а не про конкретно этот апдейт
166 Serginio1
 
28.10.16
13:59
164 Прошу прощения NDP462-KB3151800-x86-x64-AllOS-ENU весит 60 мб.

(165) А чем это отличается от распространение через магазин?
Сейчас нонсенс если нет интернета.
Там же например .Net Native идет компиляция под платформу.
Так, что не все так просто
167 Gary417
 
28.10.16
14:02
(166) <Сейчас нонсенс если нет интернета.>

Вы давно за МКАДом были? Особенно в промзонах?

Потом бывает инет есть, а из-за хитропопости безопастников и аспространителей софта фиг чё скачаешь по всяким супер-пупер технологиям распространения

Как например с Anniversary Update, Winupdate не работает, вручную качается асистент установки который говорить всё ок и на последнем шаге "нет связи"
168 Serginio1
 
28.10.16
15:03
(167) Я программировал еще в СССР. Знаю, что такое почту 100 кб скачивать без возможности докачки.
В США живут по другому, а на Россию им наплевать.
169 trdm
 
28.10.16
17:11
(163) > писать десктопное приложения на яве надо только с дикого перепоя :))

тем не менее много полезных приложений написано на ней.
скачиваешь, устанавливаешь, понимаешь что оно на яве, тихо материшся и удаляешь.

Определить приложение на яве легко по внешнему виду. И еще раздражает то что у них в полях ввода копипаста не работает.
170 trdm
 
28.10.16
17:24
(168) > В США живут по другому, а на Россию им наплевать.

В штатах интернет только у обеспеченных, не как у нас для каждого студента.
171 sikuda
 
28.10.16
21:02
Дайте дайте мне еще побольше набросить на вентилятор
Десктопное приложение на js: http://nwjs.io
172 mehfk
 
28.10.16
21:16
Про дотнет головного мозга в этой ветке уже упомянали ?
173 Loky9
 
28.10.16
21:32
(171) Хоть есть у кого спросить о природе

[1028/212632:FATAL:sandbox_win.cc(658)] Check failed: result == 0.
Backtrace:
    std::vector<v8::CpuProfileDeoptFrame,std::allocator<v8::CpuProfileDeoptFrame> >::push_back [0x63DB29D7+64391]
    v8::HeapSpaceStatistics::physical_space_size [0x63D590A1+25505]
    std::_Vector_alloc<std::_Vec_base_types<v8::CpuProfileDeoptFrame,std::allocator<v8::CpuProfileDeoptFrame> > >::_Orphan_all [0x63298B68+373992]
    std::_Vector_alloc<std::_Vec_base_types<v8::CpuProfileDeoptFrame,std::allocator<v8::CpuProfileDeoptFrame> > >::_Orphan_all [0x632980B1+371249]
    v8::CpuProfile::GetTopDownRoot [0x63B67266+1116134]
    v8::CpuProfile::GetTopDownRoot [0x63B66C5B+1114587]
    ChromeMain [0x62EF6C2C+151]
    (No symbol) [0x00A2437B]
    (No symbol) [0x00A227DE]
    IsSandboxedProcess [0x00A7138D+86855]
    BaseThreadInitThunk [0x75FB62C4+36]
    RtlSubscribeWnfStateChangeNotification [0x77EC0719+1081]
    RtlSubscribeWnfStateChangeNotification [0x77EC06E4+1028]
174 Loky9
 
31.10.16
21:26
На с++. Потом всегда можно конвертнуть для веба http://kripken.github.io/emscripten-site/
175 organizm
 
31.10.16
23:02
да, возвратимся же к истокам, братья, к С++ !!!
176 Asmody
 
31.10.16
23:05
(175) Истина в Фортране и Бэкус – пророк его!
177 Torquader
 
31.10.16
23:07
(176) Там ещё Алгол, ПЛ-1 и другие были, но некоторые в объектных кодах писали - тогда программа меньше перфокарт занимала.
178 sikuda
 
31.10.16
23:14
(173) это что за стек вызова.
(175) если уж к истокам то чистый С.
179 Asmody
 
31.10.16
23:34
(177) Алгол и ПЛ1 после Фортрана были.
180 Loky9
 
31.10.16
23:56
(178) Хромиум от Web2Exe кирдыкнулся из-за антивируса, как уже выяснилось.
181 CodeFinder
 
01.11.16
17:00
(0) заказчик хочет чтобы он мог рисовать свои области и кнопки?
182 CodeFinder
 
01.11.16
17:01
и да десктоп умер, все в веб. Если только это не программирование под железку
183 Garykom
 
гуру
01.11.16
17:23
(182) "дескстоп умер" пока преждевременно говорить, игрушки никуда не делись
Просто веб часто удобнее и проще
184 badboychik
 
01.11.16
17:25
(183) игрушки тоже скоро все на WebGL будут
185 Garykom
 
гуру
01.11.16
17:34
(184) Вполне вероятно что будут, вопрос только с DRM
186 Obliterator
 
01.11.16
17:51
(0) Visual Studio.
187 Gary417
 
01.11.16
17:52
(186) Visual Studio это IDE, а не то "на чём пишут программы"
188 Obliterator
 
01.11.16
18:48
(187) Да правда что-ли?
189 Loky9
 
01.11.16
20:36
Если приложение не работает с сетью, смысла писать его под веб никакого нет. Если работает, нужно сначала подумать о возможных перебоях в работе сети и потребностях юзера.