Swift Web StudioのアプリアイコンSwift Web Studioのアプリアイコン

Swift Web Studio

SwiftUIをブラウザでデザイン。Swiftはそのままに。

ビジュアル編集、Swiftコードエディタ、インタラクティブなデバイスプレビューを、ひとつのワークスペースに。テンプレートや手持ちのSwiftファイルから始めてデザインを磨き上げ、ネイティブ開発用のプロジェクトとして書き出せます。

Swift Web Studio

多くのデザインツールが描くのは、アプリの絵です。Swift Web Studioが編集するのは、アプリそのもの。キャンバス上の変更はすべてSwiftのソースコードへの変更になるので、そのままコードとして引き渡せます。

ハイライトをチェック。

  • Swiftでデザイン。キャンバス上でテキスト、カラー、余白、レイアウト、インタラクションを編集すると、Swiftのソースコードも一緒に変わります。

    Swift Web Studio
  • 再利用できるデザイン。入力値と保存済みバリアントを持つコンポーネントに加え、カラー、余白、テキストスタイルも共有できます。

    Swift Web Studio
  • リアルなコンテンツ。コレクションのレコードと共通の行デザインを編集できます。アプリのデータを変えずに、プレビューシナリオも試せます。

    Swift Web Studio
  • レビューも、プレゼンも。デバイス、外観、文字サイズを比較し、コントラスト、タップ領域、はみ出しをチェックできます。

    Swift Web Studio
  • コードの奥まで。診断、コード補完、シンボルナビゲーション、名前の変更に対応したSwiftエディタです。

    Swift Web Studio
  • そのまま引き渡す。Xcodeプロジェクト、Swift Playgroundsアプリ、Swiftパッケージ、XcodeGenスペックとして書き出せます。

    Swift Web Studio

Swiftを話す、デザイナーのためのツール。

  • ソースを保つ編集。ビジュアルの変更は、元になるSwiftコードに直接加えられます。キャンバスで編集できない部分も、コードでそのまま編集できます。

  • コンポーネント。インスタンスの入力値、保存済みバリアント、共有のカラー、余白、テキストスタイル。

  • コレクション。共通の行デザインを持つレコードと、コンテンツを試すためのプレビューシナリオ。

  • デバイスプレビュー。さまざまなデバイスサイズ、外観、文字サイズで確かめられるインタラクティブなプレビュー。

  • チェック。コントラスト、タップ領域、はみ出しで問題になりそうな箇所を知らせます。

  • プレゼンテーション。画面をそのまま見せたり、PNGやコンタクトシートとして書き出したりできます。

  • 共通の取り消し。画面とレイヤーを整理でき、取り消しとやり直しは両方にまたがって使えます。

  • 画像。PNGとJPEGを読み込めます。ダークモード用のバリエーションも追加できます。

  • 自動保存とアーカイブ。プロジェクトはブラウザに保存され、編集可能なアーカイブをいつでもダウンロードできます。

その内側へ。

コンパイラ、インタプリタ、レイアウトの各パッケージは、ReactやDOMから独立しています。プレビューはWeb Workerで動作します。

エディタ
apps/webNext.jsのワークスペース、エディタ、ダイアログ、Workerホスト
言語
swift-syntax字句解析器、構文解析器、構文木、ソース編集
swift-sema名前解決、意味解析、デザイン編集
ランタイム
swift-runtimeSwiftインタプリタ
swiftui-runtimeSwiftUIの状態、ビューの合成、インタラクション
レンダリング
swiftui-layoutレイアウトとテキストの計測
swiftui-render-domレンダーツリーの表示
プロジェクト
project-modelプロジェクト、ファイル、テンプレート、永続化、共有
exporterプロジェクトの雛形生成と、ZIPの読み込み・書き出し
shared · sim-shell共通の型とデバイス仕様

プレビューが解釈するのは、SwiftとSwiftUIのうち、サポートされている一部の機能です。AppleのコンパイラやiOS Simulatorは実行しないため、書き出したアプリはリリース前にXcodeでビルドし、確認します。

書き出し方は、6通り。

どの形式でも、Swiftのソースコードはそのまま残ります。

  • Xcodeプロジェクト

    すぐに開ける、ネイティブ開発用のプロジェクトです。

  • Swift Playgroundsアプリ

    iPadやMacで開いて、そのまま実行できます。

  • Swiftパッケージ

    既存のアプリにビューを組み込めます。

  • XcodeGenスペック

    仕様ファイルからプロジェクトを生成します。

  • 編集可能なアーカイブ

    ソース、画像、設定、デザイナー用メタデータをまとめた、持ち運べる.swiftstudio.zipファイルです。

  • 共有リンク

    画像を含まないプロジェクトは、URLそのものに収めて共有できます。

技術仕様

技術スタック
TypeScript。言語、ランタイム、レイアウトの各パッケージが独立したNext.jsワークスペース
プレビュー
Web Worker上で動作するSwiftとSwiftUIのインタプリタ(ドキュメント化されたサブセットに対応)
ストレージ
ブラウザへの自動保存(IndexedDB)、編集可能な.swiftstudio.zipアーカイブ
書き出し
Xcodeプロジェクト、Swift Playgroundsアプリ、Swiftパッケージ、XcodeGenスペック
プロンプト
プロンプトによる作成(オプション、各自のプロバイダキーを使用)
品質
型チェック、lint、ユニットテストを含むCI。Playwrightによるエンドツーエンドテスト。バンドルサイズの上限設定
実行
ライブデモ、またはNode.js 22とnpm 11でローカル実行 · GitHub

その他のツール