より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

5/23「ネイティブアプリの明日はどっちだ! 」参加メモ

mokuteku.connpass.com

弥生の開発体制

U字型のウォーターフォールを手戻りできるようにした開発手法とのこと。

PMがトップで、

  • テクニカル
  • QA
  • レビュー(顧客、マーケティング)と3つのチームに分かれているようです。

1製品のチームの規模は大きいと20人くらいらしいです。意外と小さい。

新しい時代のアプリをどうするか

弥生では、Windowsアプリしか開発していない。 しかし、医者やデザイナーといった業種ではMacが多い。

ただし、Windowsアプリの良さを引き継いでいきたい。

良さとしては

  • 高速レスポンス
  • キーボードで入力の作り込み
  • ネイティブリソースへのアクセス
  • 安定性

開発人員の確保も課題。

C++エンジニアは業務委託で探しても45歳以上。

データをクラウド上に置き、APIで他サービスに連携することはしたい。

  • Xamarinは、モバイルは盛んだが、弥生でもデスクトップとして試したが重い。
  • Electronは、課題も多いが、勢いがある。

キーボード入力の作り込み

フォーカスが外れた時のエラーチェックしてダイアログを表示して欲しい。

これが地獄の始まりだったようです。

そんな大変と思ったら、言われてみると

WM_KILLFOCUSとWM_SETFOCUSのどちらかを使って判定するとのこと。

アジャイルのノリで作ったら後戻りできない。

経験のストックが重要で、どうしてチェックを設けたのか実例を生々しく書くと、役に立つとのこと。

0x30歳のPMさんならではの重みのある発言。

今、ノリに乗ってる会社とかも10年以上続いたら、こういう技術的な負債を経験で補う必要が多くなっていくのでしょうか。

WPF on .NET Core

サポート期間が短くなるというのは初耳。

これまで.NET FrameworkはOSに紐づいていたので、OSのサポート共に保証されていたものが、.NET Coreは3年くらいになる。

HighDPIにはmanifestを追加。

事前に、@okazukiさんとこんなやり取りをしたのでした。

rim「デモ楽しみにしてますよ」

okazukiさん「LTなんで。大したことないですよ」

と、謙遜していたものの、このデモで、私は初めて、プロジェクトにマニフェストを設定する方法を知ったのでした。

プロジェクトの設定で、アイコンの下の項目がそれです。

f:id:rimever:20190523233944p:plain

下記記事が参考になりそう。

blogs.msdn.microsoft.com

元号

対応方法としてはレジストリから取得する方式へ変更。

1年で表記するのか、元年で表記するのか、なかなか回答を得られない中で元年表記で問題ないとのこと。

ただし1年で表記した方が不具合になりにくいと考えた方針が決まった。

準備・開発に1製品で5000時間とのこと。

国とMSと会社の方針の板挟みに合ったという技術的より政治的な問題がメインでした。

自社だともっと大変だった話を聞いたような。

弥生について質問したこと

古いOSのサポートが必要なので

  • .NET Framework3.5
  • Visual Studio 2013
  • 検証については、カバーしきれない部分がある

インストーラ

これも自社で課題だったので聞いてみたかった話。

最後の手段は 「OSリカバリー」を言わねばならない時がある。

これは重い。

インストーラーの開発についてはInstall Shieldを使っているようです。

懇親の際にInstall Shieldを勧めている参加者の方がいらっしゃいました。

高いことは確かだが、コストに見合う、と。

とはいえ、ある程度売れているパッケージでないと、そこまでお金が払えないんですよ。。。

デスクトップエンジニア も少なくなりつつあり、さらにインストーラー開発者はもっと少ない。

言われてみるとそうかもしれないです。

ただ、今後は、Windows7のサポート終了と共にMicrosoft Store経由の展開になっていくと言う説。