LoginSignup
2
1

「Sma-pa マイナタッチ」の開発を支えたQt 【Part 2 Qt選択の理由編

Posted at

マルチプラットフォーム対応とタスク分散化による開発の迅速性でQtを選択

当社が開発・提供する「Sma-pa マイナタッチ」(以下、マイナタッチ)は、マイナンバーカードと健康保険証のどちらでもオンライン資格確認(※1)ができる顔認証付きカードリーダーです。当社ではマイナタッチのフロントエンドのUI(ユーザインターフェース)とUX(ユーザ体験)開発に、クロス・プラットフォーム・アプリケーション・フレームワークの「Qt」(キュート)を活用しました。それにより、開発コストと開発時間を大幅に削減するとともに、開発効率とメンテナンス性の向上、さらには高い開発品質も実現しました。

2回目の今回は、Qtを選択した理由について述べたいと思います。

※1:マイナンバーカードのICチップまたは健康保険証の記号番号等により、オンラインで資格情報の確認を行うこと。
  マイナンバー白_左斜め.png

■3方面の同時並行作業で開発速度を格段にアップ

マイナタッチのUI・UX開発にQtを採用した理由は主に3つありました。第1はマルチデバイス・マルチプラットフォームに対応した柔軟性です。 Qtは単独のソースコードでWindowsはもちろん、Linuxの組み込み系デバイスなど様々なプラットフォーム上で稼働するアプリケーション開発が可能な点に優位性があったのです。また、マイナタッチはARMプロセッサを採用しているため、ARMにも対応するQtが望ましかったという側面もありました。

第2はタスク分散化による開発の迅速化です。 マイナタッチの開発では、QML(Qt Modeling Language;JavaScriptをベースとした宣言型言語)でフロントエンドのUI・UXを、C++でバックエンドを、Go言語でビジネスロジックを開発するなど、3方面が同時並行で共同作業しながら進めることにしました。そうすることで開発速度を高めることが期待できるからです。また同時に、開発環境をQtに集約することでアーキテクチャをドキュメントに残しやすくし、特定の開発者に知見が偏在しない属人化を防ぐことも目指しました。

1-1-1.jpg

■グラフィックの描画速度や画面切り替えのレスポンスが優れるQt

第3はマイナタッチとの相性の良さです。 マイナタッチの顔認証機能はC++で開発されているため、C++と相性の良いQtを利用するのが最も効率的だと考えました。また、Qtはグラフィックの描画速度や画面切り替えのレスポンスが優れるほか、OpenGL(Open Graphics Library;2D及び3Dのグラフィックスを描画するための機能を提供するライブラリ)に対応し、レンダリングのスピードが圧倒的に速い点も評価しました。

次回(最終回)は、Qt活用における5つの効果について述べたいと思います。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1