主にプログラミングに関して。Python, .NET Framework(C#), JavaScript, その他いくらか。
記事にあるサンプルやコードは要検証。使用に際しては責任を負いかねます

スポンサーサイト

                
tags:
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

.NET Framework: スクショデスクトップアプリ

                
”たとえばこのUIをWindowsで実装しようとすると、千行近いコードをCか何かで書かなければならず”
http://qiita.com/uiureo/items/0353e37bcffe94731c6b
 一部で話題になっているQiitaの記事。Node.jsだったかそのフォークのio.jsかで透明なウィンドウを使ったUIのクロスプラットフォームのデスクトップアプリを作れるという話。で、その本文にある上記の文がツッコミを受けている。

 ぼくもWindows上でのみの動作だがスクショを撮るためのデスクトップアプリを作ったことがある。
15052401.jpg
 アプリケーションを起動すると黒い半透明ウィンドウが出てきて、このウィンドウをドラッグしてスクショを撮りたいところの真上にもっていってShotボタンを押せばいいようになっている。ウィンドウ右下のサム要素でサイズが変えられるようになっている。

 件の記事でやっていることと比較するとデスクトップアプリに半透明ウィンドウを使っているあたり似ていると思う。そんなデスクトップアプリは”Cか何か”ではなく、Web系でもよく使われているPython(厳密には.NET Frameworkで走るIronPython)で書き、タイマーや取得画像のサイズ調整などの機能まで含めて100行程度、UI部分はXMLベースのXAMLで160ほどだった。C#で書いてもUI部分に変更はないし、コード部分で変数に宣言を加え、ブロックにブラケットを適用していくぐらいだろう。

 クロスプラットフォームではないという問題は、実行を.NETからMonoにゆだねて、UI部分をWPFからGTK#にすればクリアできるだろう。GTKで透過ウィンドウを使ってデスクトップに適当な形の要素を表示というのはやったことがある。
http://elicon.blog57.fc2.com/blog-entry-45.html
http://elicon.blog57.fc2.com/blog-entry-20.html
 要は最初からWPFではなくGTK#で書いておけば、VisualStudioでビルドした.exeだろうとLinuxやMacにそのまま持ち込んで実行できるということだ。これがあまり流行ってるように見えないのは、そっち方面でそういう需要が少なくて、一つのOSでしっかり動けばそれで十分なことが多いんだろう。

 VisualStudioでPythonやJavaScript開発をするツールがリリースされている。Web系の発展のスピードが目覚ましいかもしれないが、MSやその周辺ではそれをうまくそれを取り込もうとしている様子が見られる。その上でPCアプリ開発者というのは規模や実績、安定性に合わせて言語を選んでいるのではと思う。
            

コメントの投稿

非公開コメント

プロフィール

hMatoba

Author:hMatoba
Github

最新記事
リンク
作ったものなど
月別アーカイブ
カテゴリ
タグリスト

検索フォーム
Amazon
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。