技術

動き続けなければならない ソフトウェアを支える技術スタック

トラック、倉庫、病院のフロアへ25年間ソフトウェアを届けてきた結果、ツールに対しては確固たる考えを持つようになりました。ここにあるのは私たちが頼りにしているツールです。そしてページの最後には、待ちきれずに自分たちで作ったものをご紹介しています。

68技術
6分野
35メンテナンス中のライブラリ

言語・フレームワーク

C#と.NETでエンドツーエンドに。デバイス、API、その背後のクラウドサービスまでを1つの言語で開発するため、1つのチームが全体を担えます。プラットフォームが求める場面では、ネイティブのSwiftやKotlinも使います。

12種を日常的に使用
  • C#25年来のメイン言語
  • .NETすべての土台となるランタイム
  • .NET MAUIネイティブのクロスプラットフォームアプリ
  • Xamarin移行元となるアプリ
  • ASP.NET CoreAPIとWebバックエンド
  • BlazorC#で作るWeb UI
  • Orleans分散・ステートフルなサービス
  • .NET Aspireクラウドネイティブなオーケストレーション
  • EF Core慎重に設計したデータアクセス
  • SwiftiOSネイティブバインディング
  • KotlinAndroidネイティブバインディング
  • TypeScriptWebフロントエンド

プラットフォーム・ハードウェア

ポケットの中のスマートフォン、倉庫で使われる堅牢なハンディ端末、車両に取り付けられたゲートウェイ。多くのチームが触れずに済む各プラットフォームの深い部分こそ、私たちが日々取り組んでいる領域です。

16種を日常的に使用
  • iOSiPhoneとiPad
  • Androidスマートフォン、タブレット、堅牢端末
  • macOSMac Catalystとデスクトップ
  • Windowsデスクトップ、WinForms、WPF
  • Linuxサーバーとエッジホスト
  • WebAssemblyブラウザ上のBlazor
  • Bluetooth LEセントラル、ペリフェラル、GATT
  • OBD-II車両診断
  • GPS・ジオフェンスバックグラウンド位置情報
  • HealthKitAppleのヘルスケアデータ
  • Health ConnectAndroidのヘルスケアデータ
  • mDNS & SSDPローカルネットワーク探索
  • Apple WatchwatchOSコンパニオンアプリ
  • Wear OSウォッチ向けコンパニオンアプリ
  • CarPlayダッシュボード上のiPhoneアプリ
  • Android Autoダッシュボード上のAndroidアプリ

クラウド・デリバリー

スムーズにデプロイでき、低コストで運用し続けられるサービスを、少人数のチームでも深夜3時に対応できるパイプラインとテレメトリーとともに構築します。

12種を日常的に使用
  • Microsoft Azure標準のクラウド
  • AWSお客様の環境がAWSの場合
  • Google Cloudホスティングとデータ
  • Firebaseメッセージングと分析
  • Dockerあらゆる場所でコンテナを
  • Kubernetesスケールが求められるときに
  • GitHub ActionsCI/CD
  • Azure DevOpsパイプラインとボード
  • Cloudflareエッジ、DNS、トンネル
  • OpenTelemetryトレースとメトリクス
  • Sentryクラッシュ・エラーレポート
  • NuGet自社ライブラリの公開先

データ・ストレージ

リレーショナル、ドキュメント、地理空間、キャッシュ。サーバーでもデバイスでも。前のプロジェクトで使ったからではなく、データのクエリ方法と同期方法に合わせて選定します。

8種を日常的に使用
  • SQL Serverエンタープライズの定番
  • PostgreSQLリレーショナルとドキュメント
  • SQLiteデバイス上のオフラインストレージ
  • MySQLリレーショナルなワークロード
  • Cosmos DBグローバルなドキュメントストア
  • MongoDBドキュメント型のワークロード
  • RedisキャッシュとPub/Sub
  • Dapper生のSQLが活きる場面で

インテグレーション・プロトコル

コネクテッドプロダクトが最終的に依存することになるサービスと通信フォーマット。通知、認証、ストア、地図、そして自社で管理できないシステム間の契約まで。

12種を日常的に使用
  • Apple Push (APNs)iOSの通知
  • Firebase MessagingAndroidの通知
  • Notification Hubsフリート規模のプッシュ通知
  • Web Pushブラウザの通知
  • gRPCサービス間の契約
  • SignalRリアルタイム更新
  • OpenAPIドキュメント化された型付きAPI
  • OAuth & OpenID認証とサインイン
  • CoreWCFSOAPの契約を維持
  • Google Maps地図とルート検索
  • App StoreStoreKitとアプリ内課金
  • Google PlayPlay Billingと配信

AI・インテリジェンス

基本的に特定のモデルに依存しません。モデルは交換可能な部品です。長く使えるように私たちが構築するのは、その周囲のツール、検索、評価の仕組みです。

8種を日常的に使用
  • Model Context Protocol自社システムをツールとして
  • Microsoft.Extensions.AIプロバイダー非依存の.NET AI
  • Azure OpenAI自社テナント内のモデル
  • Claude推論とエージェント
  • Ollamaローカル・オンプレミスのモデル
  • 音声音声認識、音声合成、ウェイクワード
  • オンデバイスビジョン顔認識とドキュメント解析
  • 話者認識話者の識別
Shinyオープンソース

このスタックの一部は 私たち自身が書いたものです

プロジェクトに必要なプラグインが放置されていたり、存在しなかったり、実機で知らぬ間に動かなくなっていたりしたとき、私たちはそれをきちんと作り直して公開してきました。今では何千ものチームが、私たちがすべての案件に持ち込むのと同じライブラリでプロダクトをリリースしています。コードはすべて公開され、ダウンロード数はすべてカウントされています。

40M+オープンソースのダウンロード数
30+公開ライブラリ数
70+MAUI・Blazor向けUIコントロール

ハードウェア・接続

ハードウェア・接続を詳しく見る

70以上のコントロール。2つのホスト。1つのテーマ。

テーブルビューからガントチャートまで、ネイティブの.NET MAUI・Blazorコンポーネント。

コントロールを見る

これらの技術で開発していますか?

これらのライブラリを最もよく知っているのは、それを書いた本人です。プロジェクトの難しい部分をお持ちください。何が必要かを率直にお伝えします。