Category Archives: VS2017 Community

VS2017でUWPを始めてみる

さて、さっそくUWPアプリを作ってみる。

最近のプログラミングの入り口はUIを作るところから入るのだけれど、今までのWPFとは勝手が違い、UWPの場合にはフルHD(1920×1080)用の画面をPC用に作ってから、それぞれのデバイスでも動くようにコントロールのサイズ、配置をしていくのが手順のようだ。

しかし、画面のフォーマットを横長(1920×1080)で書いて、ウィンドウズモバイルの5インチ、6インチに縦画面(1920×1080の250%表示)に最適化していくのだけれど、PC用の横長で表示しているものを同じXAMLを使ってモバイル用の小さい画面に表示できるフォーマットを考えるのに一苦労。C#の処理部分はさっと書いてしまえるのに、これに時間を取られてしまっている。

画面のサイズが違うデバイスで見る画面を一つのXAMLで書くのはちょっとやりにくい。デバイス一つ一つにXAMLを用意してほしかった。しかも画面サイズによって違う処理をするというのもできないみたいだ。

結果から言うと、画面のフォーマットが限られてくるようにしか思えない。Flyoutとか、Popupとか静的に画面に見えていない要素があると操作を覚えにくい。昔から思うけれど、ソフトウェアを起動してマニュアルを見ないと操作がわからない様なUIはクソだ。

UWPに開発者側が以降しない訳が、わかってきた。

けれど、Windows10は死なない。ストアという市場は思ったよりも大きいが、使えるアプリが少ない。ここを狙うのは間違いではないはず。使えるアプリを作るとしよう。

エディタやメモアプリ、日々生活で使うアプリを考えて行くことにしよう。

PS.素直にデスクトップアプリを作って、UWPアプリのパッケージに添付させるデスクトップブリッジで行く方法もありそうだ。

Visual Studio 2017 Community

新規一転、プロジェクトを立ち上げようと、VisualStudio 2017 Proを買って正規の個人ライセンスで行こうと張り切っていたけれど、購入ページをよくみるとVS2017 Communityは Pro版との機能の違いはほとんどないみたいなので検証しつつ試用しながらインストールすることにした。(なんだかまだ環境だけでも長くかかりそうなので現在進行形)

一応価格は、Pro版で、スタンドアローンが$499、1 か月ごとのサブスクリプションで月$45。サブスクリプション版はMacでもつかえて、TFSも使えるようだ。

あとはクラウドサブスクリプション版で、月$45、年$539がある。クラウドサブスクリプションは旧版ののVSのライセンスもついて来て、その他もろもろの特典があるようだ。でもライセンスを買うならスタンドアローン以外に買う理由がない。(マイクロソフトに洗脳されるのは危険だしね)

結果からするとPro版とほぼ同じというのは、本当なようだ。

前回ExpressではWin32 C++プロジェクトで、COMのインスタンス数に制限があったり、スタティックライブラリを使えなかったりで一番使いたいところに制限がかけられていて使い物にならなかった。さらに検証するのに無駄な時間をさいてしまう結果だった(その時はVS2013Proを結局買った)けれど、今のところ既存のプロジェクトを開いてコンパイルも通っている。

一つ、見つかった不具合は、今日(8月15日)15.3のアップデートがリリースされていて、アップデート後Win32 C++プロジェクトをテンプレートから作成すると、文字化けが発生する。原因はテンプレートが吐き出すリソースファイルのテキストフォーマットがUTF-8になっている。UNICODEじゃないといけないんだけど、手動でNOTEPADでSaveAsするしかない。

結果としては、こういう画面になる。

このサイトは自分用のメモ書きなので、一つ一つ手順を書くことはしないが同じ問題に当たった人が検索でここにたどり着ければ、すぐにわかることなので詳細はこれ以上書かないよ。

15.2のWin32のテンプレートの名前はWin32Project1なんだけど、15.3ではWindows デスクトップ アプリケーションとされていて、感が的中。VSのスプラッシュが変わったのも変だと思ったけど。

今日と昨日で、2台のマシンにインストールして、今日インストールしたマシンだけこれが発生してちょっと焦った。2台入れて違うテンプレート名がでるなんてね。今日リリースという偶然で半日無駄にしてしまった。ふう。(お盆明けVS2017を使っている方々、アップデート結構時間かかるので要注意ですよ~。ってアップデート前にこの記事を見る人もいないと思うけど)

あと、SubVersionのプラグイン(ASVN)を入れたのだけれど、ローカルリポジトリを作ろうとするとVSごと固まってしてしまう。(VSが固まった後、OSがアプリケーションクラッシュのダイアログを出す)

原因はASVNプラグインにありそうだけれど、HTTPSのリポジトリは試していないので何とも言えない。MSでAzureのフリーアカウントでTeamServiceでGitを提供してくれるみたいなので、今後はGitでやっていこうかな。今後はGitが主流みたいだしね。(やっとSVNで慣れてきたのに。個人的にはLinux寄りのGitよりも、ApacheよりなSVNの方がすきなんだけど。その辺はどっちも使えないとね)