Имя: Пароль:
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
Если приложение не работает с сетью, смысла писать его под веб никакого нет. Если работает, нужно сначала подумать о возможных перебоях в работе сети и потребностях юзера.