本文へスキップ
BigTree108

Electronアプリ開発サービス

Windows、macOS、Linux向けのクロスプラットフォームのデスクトップアプリのためのElectronアプリ開発サービス:Web製品のデスクトップ版、生産性・コミュニケーションアプリ、社内ツール、自動アップデート、コード署名とノータリゼーション、ネイティブモジュール、セキュリティレビュー、Electronのアップグレード、ElectronやTauriへの移行。御社のチームに加わる専任のElectron開発者、またはアプリの一括受託に対応します。

Electronで開発するもの

  • Web製品のデスクトップ版

    既存のReact、Angular、Vueアプリケーションを、Web製品とコンポーネントを共有するWindows、macOS、Linuxのアプリにします。オフラインストレージ、トレイメニュー、通知、ファイルアクセス、ディープリンクなど、デスクトップが必要とする機能を加えます。

  • Electronによるクロスプラットフォームのデスクトップアプリ

    生産性、コミュニケーション、デザイン、開発者向けツールの新しいデスクトップ製品を、Electron ForgeとViteで雛形を作ったTypeScriptで開発します。メインプロセスは小さく保ち、重い処理はユーティリティプロセスに、ローカルデータはSQLiteに置きます。

  • 自動アップデートとリリースチャネル

    electron-updater、update.electronjs.org、または自社のアップデートサーバー経由でアップデートを配信し、安定版とベータ版のチャネル、段階的なロールアウト、差分ダウンロード、前のバージョンに戻す手段を備え、mainからパイプラインが公開します。

  • コード署名とノータリゼーション

    Windowsのビルドは、Azure Artifact Signing(旧Trusted Signing)またはクラウドHSMに置いたEV証明書で署名し、macOSのビルドは、Developer IDとhardened runtimeで署名して、@electron/notarizeでAppleのノータリゼーションを受けます。そのため、署名のないアプリが引き起こす警告なしにインストーラーが開きます。

  • ネイティブモジュールとシステム連携

    C++、またはnapi-rsを通じたRustによるNode-APIモジュールを、@electron/rebuildで各Electronバージョン向けに再ビルドし、ビルド済みバイナリとして出荷します。プリンター、USBやシリアルデバイス、JavaScriptでは届かないオペレーティングシステムのAPI向けです。

  • Electronのセキュリティレビュー

    Node.js統合を無効にしたコンテキスト分離とサンドボックス化したレンダラー、コンテンツセキュリティポリシー、すべてのIPCメッセージの送信元の検証、file://に代わるカスタムプロトコル、ビルド時に設定するElectron Fusesを、Electron自身のセキュリティチェックリストに照らして確認します。

  • Electronのバージョンアップグレード

    サポート対象外のリリースで動いているアプリを、現行のものに移します。Electronは8週間ごとにメジャーバージョンを出荷し、最新の3つのみをサポートするため、アップグレードは定常業務として計画し、その過程で旧remoteモジュールなど削除されたAPIを置き換えます。

  • Electronへの移行

    WinForms、WPF、Java Swing、NW.js、Adobe AIRによる古いデスクトップソフトウェアを画面単位でElectronに作り直す、またはWebアプリにデスクトップのシェルを与える形で、ユーザーのデータと設定も引き継ぎます。

  • ElectronからTauriへの移行

    インストーラーのサイズとメモリ使用量が重要な場合に、ElectronアプリをTauri 2へ移行します。Webインターフェースは維持し、メインプロセスのコードはRustで書き直すかNode.jsのサイドカーとして実行し、システムアクセスはTauriのcapabilityファイルが許可するものに限定します。

Electron開発者を採用する

  • 専任のElectron開発者

    御社のチームにフルタイムで参画し、御社のリポジトリ、トラッカー、会議の中で働き、御社のリードに報告するElectron開発者です。面接は御社が行い、ウクライナでの雇用契約、給与支払い、請求書発行、休暇管理は当社が担います。

  • Electronプロジェクトのデリバリー

    Electronプロジェクトをスコープ策定からリリースまで担うチームです。見積り、開発、テスト、デプロイを行い、当社側のテクニカルリードが計画と品質に責任を持ちます。

  • Electronの保守運用と引き継ぎ

    他のチームから既存のElectronシステムを引き継ぐ、あるいは稼働を維持します。まず読み取り専用のレビューを行ってリスクを書面にまとめ、その後、影響の大きい順に修正と新機能を進めます。

スペシャリストが御社のチームに参画する方法は専任チームのページで、プロジェクトのデリバリー、引き継ぎ、料金の考え方はアウトソーシングのページで説明しています。

御社のElectronプロジェクトを担当するメンバー

  • Electron開発者

    TypeScript、Node.js、メインプロセスとレンダラープロセス

  • フロントエンドエンジニア

    React、Angular、Vueのインターフェース

  • C++とRustの開発者

    ネイティブモジュールとTauriのコア

  • DevOpsエンジニア

    署名、ノータリゼーション、リリースパイプライン

  • QAエンジニア

    Windows、macOS、Linuxでのテスト実施

Electronでの進め方

現行のElectronリリース上のstrictモードのTypeScript、直接のNode.jsアクセスを持たない信頼できないものとして扱うレンダラー、すべての対象オペレーティングシステムでPlaywrightのElectronサポートによるエンドツーエンドテスト、署名鍵をクラウドサービスに置き、開発者のノートパソコンには決して置かないパイプラインで実行するビルド、署名、ノータリゼーションです。

開発者は、御社のリポジトリ、トラッカー、プロセスの中で作業します。ウクライナの契約、給与、請求書発行、休暇は当社が担い、開発者が書いたものはすべて御社に譲渡されます。

その他の対応フレームワーク

フレームワークの概要

Electron開発に関するご質問

Electron開発者はどの業界で業務を行っていますか?

主にSaaS・業務ソフトウェアで、Web製品のデスクトップ版、社内ツール、コミュニケーションアプリです。そのほか、トレーディング端末と銀行のバックオフィスツールを扱うフィンテック、ポイントオブセールスと出店者向けツールを扱うEC・小売、クリニックと画像診断のワークステーションを扱うヘルスケア、デスクトップアシスタントと分析ツールを扱うAI・データ製品、編集、録画、学習アプリを扱うメディア・教育があります。

ElectronとTauri、どちらを選ぶべきですか?

アプリがNode.jsのエコシステム全体と、どのシステムでも同じChromiumを必要とし、どこでも同一にレンダリングされる必要がある場合はElectronです。インストーラーのサイズとメモリ使用量がより重要な場合は、オペレーティングシステム自身のWebビューとRustのコアを使うTauriです。当社自身のデスクトップエージェントはRustで書かれており、Windows、macOS、Ubuntuで動作します。

既存のElectronアプリを引き継げますか?

はい。Electronのバージョン、セキュリティ設定、ネイティブモジュール、リリース設定を読み取り専用でレビューすることから始めて、リスクの一覧にまとめ、その後、サポート対象のElectronリリースへ、各ステップを単独でリリースしながらアップグレードします。

Electron開発者は、どのくらいで開始できますか。

適任のElectron開発者がすぐに対応可能な場合、開始までの条件は、御社の面接と、NDAおよび知的財産権の譲渡契約の締結のみです。そうでない場合は人材を探索し、通常は2〜3週間以内に候補者のプロフィールをお出しします。御社が承諾するまで、誰も業務を始めません。

BigTree108を通じてElectron開発者を採用するには、どうすればよいですか。

必要な業務内容、シニアリティ、稼働時間をお知らせください。1〜2名の候補者をプロフィールとともにご提案し、御社が自社で採用する場合と同じ形で面接を行います。契約はBIG TREE 108 LLCとの1本、請求書は月1通です。

成果物の権利は、誰に帰属しますか。

御社です。すべてのスペシャリストはBigTree108と署名済みの契約を結び、成果物のすべてを会社に帰属させています。さらに、御社との契約により、その権利は御社に引き継がれます。コード、デザイン、ドキュメントは、当社だけが変更できる場所ではなく、御社のリポジトリとツールに納品します。

Electronアプリを開発中、または保守していますか?

プラットフォーム、Electronのバージョン、変更が必要な点をお知らせください。1営業日以内に、計画案、候補者のプロフィール、または既存アプリのレビューをご回答します。