高度なエンジニアリング業務を支えるデスクトップアプリ開発
エンジニアが一日中開いたままにするアプリケーションを、重い計算、実機との接続、ブラウザでは扱いきれない大容量データを前提に開発します。
- PySide
- NumPy
- Matplotlib
- C#
- macOS
- Linux
私たちがつくるもの
デスクトップアプリケーションに組み込む機能
エンジニアリングの現場には、ブラウザのタブでは足りない仕事があります。本格的な計算処理、ハードウェアへの直接アクセス、そして長い計算の最中でも操作を受け付け続けるUI。私たちはPySideとC#を用いて、Windows・macOS・Linux向けのクロスプラットフォームなデスクトップアプリケーションを、前処理から計算、後処理まで一貫して開発します。Uptim.ai向けには、エンジニアが前処理・計算・後処理に使うデスクトップアプリケーションと、同社のAIソルバーとの連携部分を構築しました。
-
01
前処理・後処理のエンジニアリングツール
ソルバーに渡す入力データを整え、出力された生データを読みやすい結果やレポートに変換するアプリケーションを開発します。
-
02
長時間の計算でも固まらないUI
重い処理はバックグラウンドで実行し、その間もインターフェースは操作できる状態に保ちます。進捗表示、キャンセル、状態の明示にも対応します。
-
03
技術計算結果のデータ可視化
MatplotlibとNumPyを基盤に、汎用ダッシュボードのグラフではなく、大規模データセットに合わせて調整した図と表示を構築します。
-
04
ソルバー・解析ソフトとの連携
ソルバーへの入力を準備し、計算を実行させ、結果を読み戻すデスクトップアプリケーションを開発します。Uptim.ai向けに構築したものと同じ仕組みです。
-
05
ハードウェア・計測機器との接続
実験設備や生産設備と、その機器が実際に備えているインターフェース経由で通信します。
-
06
署名済みインストーラーとアップデート機構
Windows・macOS・Linux向けのインストーラーをコード署名付きで用意し、アップデート経路も整備します。情報システム部門が安心して全社展開できる状態でお渡しします。
よくある課題と解決のアプローチ
デスクトップアプリ開発で判断が難しくなる点
-
デスクトップアプリとWebアプリ、どちらにすべきか。
そのアプリに本当に必要な条件から判断します。純粋な計算能力、オフライン利用、ローカルファイルやハードウェアへのアクセスが必要ならデスクトップ、どこからでも共有してアクセスしたいならWebです。どちらが適しているかを率直にお伝えします。
-
計算を始めると、画面が固まってしまう。
重い計算処理をUIスレッドから切り離し、ウィンドウが反応し続けるようにします。進捗の表示に加え、不要になった計算を途中で中止することもできます。
-
エンジニアの作業環境では、安定したインターネット接続が使えない。
標準でオフライン動作を前提に設計します。ファイルも処理も結果もローカルで完結させ、同期やライセンス確認は本当に必要な場面に限って追加します。
-
全社への展開とアップデートは、どう運用すればよいか。
Windows・macOS・Linux向けに署名済みインストーラーを用意し、アップデートの仕組みも整備します。情報システム部門が一度配布すれば、各エンジニアは貴社が承認したバージョンを使い続けられます。
関連する実績
私たちが手がけてきた仕事。
当社のエンジニアが開発し、リリースまで導いたプロジェクトの一部をご紹介します。各項目を開くと詳細をご覧いただけます。
-
AIソルバーを核にした、エンジニアリングのエコシステム Uptim.ai向けWebサイト、自動化、エンジニア向けデスクトップアプリ、Škoda Autoとの連携
Uptim.ai向けに、同社のAIソルバーを取り巻くソフトウェアを開発しました。Webサイト、自動化とタスク分配の仕組み、前処理・計算・後処理を担うエンジニア向けデスクトップアプリケーション、それらのアプリケーションとソルバー本体をつなぐ連携部分、さらにŠkoda Autoのエンジニアリングワークフローへの統合までを手がけています。
進め方
エンジニアリング向けデスクトップソフトの開発の進め方
-
01
計算要件の整理
コードを書く前に、アプリが何を計算し、どのデータやハードウェアに触れるのかを洗い出し、デスクトップという選択が正しいかを確認します。
-
02
実際の業務フローの設計
入力から処理を経て、エンジニアが判断に使う結果に至るまでのデータの流れを整理し、それに沿ってインターフェースを組み立てます。
-
03
実環境に合わせた開発
PySideまたはC#でアプリケーションを開発し、貴社のソルバー、計測機器、ファイル形式との接続を、最後ではなくできるだけ早い段階で行います。
-
04
パッケージング、署名、引き渡し
ご利用のプラットフォーム向けに署名済みインストーラーを作成し、アップデート経路とあわせてお渡しします。私たちが離れたあとも、アプリは動き続けます。
すべてのご依頼に共通する進め方
-
明確な範囲と見積もり
着手前に、何が、いつ、いくらで届くのかを明確にします。
-
早い段階から動くソフトウェアを
短いサイクルで、実際に見て試せる成果をお届けします。
-
透明性のあるコミュニケーション
エンジニアと直接やり取りいただけます。進捗は定期的に共有し、「聞いていなかった」をつくりません。
-
リリース後も伴走
納品したものには、最後まで責任を持ちます。
よくあるご質問と回答
よくあるご質問
-
デスクトップアプリとWebアプリ、どちらを選べばよいですか?
純粋な計算能力、ハードウェアへの直接アクセス、大容量のローカルファイル、オフラインでの継続作業が必要な場合はデスクトップが適しています。どこからでもアクセスでき、インストールが不要であることのほうが重要ならWebが適しています。実際の業務フローを確認したうえで、適した方をご提案します。デスクトップを中核に、小さなWeb層を組み合わせる構成が最適なこともあります。
-
社内のエンジニア全員に、アップデートはどう届きますか?
アプリケーションにアップデート機構を組み込み、Windows・macOS・Linux向けに署名済みインストーラーを用意します。情報システム部門から新しいバージョンを配布することも、アプリ自身に更新を確認させることもできます。全社への配信タイミングは貴社が管理できます。プロジェクトの途中で安定したバージョンを使い続けたいエンジニアにとって、これは重要な点です。
-
インターネット接続なしで、完全にオフラインで動作しますか?
はい。エンジニアリングの現場ではよくあるご要件です。標準ではデータの読み込み、処理、保存をすべてローカルで完結するよう設計し、同期、ライセンス確認、リモートソルバーへの接続が実際に必要な場合にのみネットワークを利用します。
-
すでに所有している実験機器や計測器と接続できますか?
シリアルポート、USB、メーカー提供のSDKなど、通信できるインターフェースが機器側にあれば可能です。機器に何が必要で、インターフェース上でどう振る舞うべきかを確認したうえで、ハードウェア連携の範囲をプロジェクトの早い段階で決めます。
-
デスクトップアプリの開発費用は何で決まりますか?
主に、計算処理の複雑さ、対応が必要なプラットフォームの数、ハードウェアやソルバーとの連携、そしてデータ可視化にどこまで作り込みが必要かによって決まります。中心となる業務フローに絞った初版から始めるのが、エンジニアが実際に使えるものを最も早く手にする方法になることが多いです。
お問い合わせ
必要なアプリケーションについてお聞かせください
アプリケーションに必要な計算内容、対応が必要なプラットフォームとハードウェア、ご希望の期限をお知らせください。具体的な次のステップをご返信します。
- 担当者よりできるだけ早くご連絡いたします。
- 短いお打ち合わせで、目的と開発範囲をお伺いします。
- お見積もりを含むご提案書をお送りします。ご契約の義務は一切ありません。
送信が完了しました
担当者より折り返しご連絡いたします。
対応領域
その他のサービス
-
Webサイト制作
高速で検索エンジンにも強いWebサイトで、事業内容をわかりやすく伝え、訪問者をお問い合わせへとつなげます。
-
Webアプリケーション
顧客向けポータル、社内ツール、ダッシュボード、ワークフローシステムを、実運用の負荷に耐えるバックエンドで構築します。
-
AIエージェント・業務自動化
AIエージェント、システム連携、自動化されたワークフローで、チームを繰り返し作業から解放します。デモで終わらせず、本番環境で確実に稼働させます。
-
モバイルアプリ
アプリストアで一般公開するプロダクトから、現場チーム向けの社内ツールまで、AndroidおよびiOSアプリを開発します。
-
組み込みソフトウェア
デバイスや専用ハードウェア向けのファームウェア・制御ソフトウェアを開発し、周辺のアプリやシステムとつなぎます。
-
技術コンサルティング・アーキテクチャ設計
要件定義、技術選定、アーキテクチャレビュー、開発計画の策定。最初の段階から、的確な投資判断ができるよう支援します。
-
保守・サポート
リリース後のアップデート、不具合修正、新機能の追加。当社が開発したソフトウェアはもちろん、すでに稼働中のシステムにも対応します。
-
どのサービスが合うか迷っていませんか?
プロジェクトの内容をお聞かせください。最適な進め方をご提案します。当社が適任でない場合も、率直にお伝えします。
