KaitoMuraoka / Qiita-contents

Qiita記事とそのネタを管理するリポジトリ
1 stars 0 forks source link

SwiftでWebフロントを作成してみる #42

Closed KaitoMuraoka closed 8 months ago

KaitoMuraoka commented 1 year ago

今回使用するフレームワーク

KaitoMuraoka commented 1 year ago

Publish

Swift 開発者のために構築された静的サイトジェネレーター。Swiftを使ってWebサイト全体を構築することができ、テーマ、プラグイン、その他多くの強力なカスタマイズオプションをサポートしている。

環境構築

Publish にはコマンドライン ツールが同梱されており、新しい Web サイト プロジェクトを簡単にセットアップしたり、既存のプロジェクトを生成してデプロイしたりすることができます。このコマンドラインツールをインストールするには、Publishリポジトリのローカルコピー内でmakeを実行するだけです:

$ git clone https://github.com/JohnSundell/Publish.git
$ cd Publish
$ make

Homebrew でもインストールできますが、公式は非推奨にしています。

HomebrewのサポートはJohn Sundell氏によって公式にメンテナンスされていないため、Homebrewを使用する場合、古いバージョンのPublishコマンドラインツールをインストールする可能性があることに注意してください。Publishコマンドラインツールをインストールするには、上記のようにmakeを使用するのが望ましい方法です。

プロジェクトの作成

ディレクトリを作成して、publish newをすると必要なファイルが作成されます。

$ mkdir MyWebsite
$ cd MyWebsite
$ publish new
$ open Package.swift

open Package.swift でXcodeからファイルを開くことができます。

Build

ターミナル上で、publish runをするとビルドすることができます。

$ publish run
.
.
.
✅ Successfully published Mywebsite
🌍 Starting web server at http://localhost:8000

デザインの編集等はMarkdown、HTMLなどで修正することできます。

KaitoMuraoka commented 1 year ago

Tokamak

Tokamakは、SwiftUIの基本的な機能を一部実装したライブラリです。DOMレンダラを用いていくつかのビュータイプや修飾子をサポートしており、任意のHTMLを作成するための新しいHTMLビューも提供しています。Tokamakの目標は、SwiftUI APIを可能な限り多く実装し、HTMLとCSSの操作を簡単にする追加機能を提供することです。開発はオープンであり、コミュニティの参加やプルリクエストも歓迎されています。

環境構築

Tokamak はビルドツールとして carton に依存しています。そのため、carton をインストールする必要があります。 インストールでは、Homebrewを使うことができます。

$ brew install swiftwasm/tap/carton

ディレクトリを作成して、carton のあるテンプレートからプロジェクトを初期化します。

$ mkdir TokamakApp && cd TokamakApp
$ carton init --template tokamak

Build

ビルドは以下のコマンドで行うことができます。

$ carton dev
github-actions[bot] commented 9 months ago

This issue is stale because it has been open for 30 days with no activity.

KaitoMuraoka commented 9 months ago

Swift wasm でフロントアプリを作るのが良さそう https://zenn.dev/katei/articles/swiftwasm-web-tutorial

API通信はできるのだろうか🤔

github-actions[bot] commented 8 months ago

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] commented 8 months ago

This issue was closed because it has been inactive for 14 days since being marked as stale.