最近のWindowsデスクトップアプリ事情?

最近はGUIはElectronでHTML5+JavaScriptで作って各OS用にビルドするんですね知らなかった
9
(change of )*state @TuvianNavy

ちょっと最近のデスクトップアプリ事情に詳しくなったぞ

2020-06-03 22:32:32

OLE/COM/ActiveXの現在

(change of )*state @TuvianNavy

Excel JavaScript API の要件セット docs.microsoft.com/ja-jp/office/d… 2016以降だそうで

2020-06-03 14:42:45
(change of )*state @TuvianNavy

Office Onlineの実装に必要だったから作ったわけね。。

2020-06-03 14:52:03
(change of )*state @TuvianNavy

LibreOffice、内部にOLE2とVBAの互換実装を持ってるのか、、そもそもStarOffice時代にUNOが実装されてこれが基盤になってるんだよな、

2020-06-03 20:26:18
(change of )*state @TuvianNavy

LinuxデスクトップのGnomeやKDEと相互運用するには今はdbusを喋る必要があって、それは当然実装されているっぽいけど、それだけでは足りない。。

2020-06-03 20:30:56
(change of )*state @TuvianNavy

この辺の技術普通に難しいし、OLE/COM/ActiveXを多少なりとも参考に実装しないといけないけど、あれ、FirefoxってなんでXPCOMを捨てたんだっけ?

2020-06-03 20:33:14
(change of )*state @TuvianNavy

.Netこそが真の移植可能なCOMの最新仕様であって、そりゃXPCOM捨てようって話になるか

2020-06-03 20:47:18
(change of )*state @TuvianNavy

COMや.Netの実装がPEにべったり依存していて、MonoのバイナリもELFじゃなくPEだからLinux上でPEサポートが必須、って理解正しい?

2020-06-03 20:35:38

↑大した話じゃなく結局Monoに渡すだけなんですが、Linuxのカーネルモジュールbinfmt_miscのおかげでPEフォーマットの.exeをELF同様に扱えるようです

(change of )*state @TuvianNavy

つまりELFもx86/x64のPEも技術的にはレガシーだけど、、これらが支えているLinuxやWindowsの世界が崩れるとすごく困る

2020-06-03 20:54:52
(change of )*state @TuvianNavy

もうMonoじゃなくて.Net coreって言わないとダメか、 twitter.com/TuvianNavy/sta…

2020-06-03 20:42:16
(change of )*state @TuvianNavy

結局これって.Netの本家実装がMonoベースに合併されたったことだよな(そこらのWindows10に乗ってる.Netはまだ違うだろうけど)

2020-06-03 20:43:28
(change of )*state @TuvianNavy

で、MonoとVulkanのおかげでCOMやDirectXを使わないでもUnityがクロスプラットフォームで動くようになった、と

2020-06-03 20:46:00
(change of )*state @TuvianNavy

UE4は技術基盤としては特にそういうの無いけど、つまりLinux版のUE4バイナリはELFになる?Windowsでのクロスコンパイラはclangか。。 twitter.com/TuvianNavy/sta…

2020-06-03 21:49:00
(change of )*state @TuvianNavy

ELFだって使い方次第では分散オブジェクトのサポートに使えるだろうけど、Linuxのプロセスは概してIPCをカーネルに頼る傾向があるよな

2020-06-03 20:40:12
(change of )*state @TuvianNavy

デスクトップアプリのIPCとマイクロサービスのIPCではやりたいこともやり取りされるオブジェクトの粒度も全く違うから、

2020-06-03 23:14:14

PEヘッダ(.exeの属性)を見てみる

(change of )*state @TuvianNavy

いまdnSpyでPEヘッダ見てみた。Postman.exeはx86、draw.io.exeはx64

2020-06-03 21:04:54
(change of )*state @TuvianNavy

Camunda Modeler.exe、てっきりJavaだとばっかり思ってたけど.jarどこにもないし普通にx64のPEだな。。

2020-06-03 21:13:07
(change of )*state @TuvianNavy

Code.exe(VS Code)もx64のPEだ。

2020-06-03 21:17:09
(change of )*state @TuvianNavy

弥生会計とHPE iLO Integrated Remote Consoleは.Net

2020-06-03 21:10:23
(change of )*state @TuvianNavy

弥生会計、本体は普通にx86のPEだった。。

2020-06-03 21:30:15
(change of )*state @TuvianNavy

申告書Bまわりは.Netだけど。。

2020-06-03 21:32:00