12,993
回編集
(→概要) |
|||
1行目: | 1行目: | ||
== 概要 == | == 概要 == | ||
Photino.NETは、デスクトップアプリケーションのための軽量なフレームワークであり、そのルーティングシステムもシンプルながら効果的な設計となっている。<br> | |||
<br> | |||
基本的なルーティングの仕組みとして、Photino.NETではシングルページアプリケーション (SPA) のような形式でルーティングを実装する。<br> | |||
メインウインドウにおいて、JavaScriptを使用してコンテンツの切り替えを行う。<br> | |||
<br> | |||
一般的に、ルーティングの実装方法として、以下に示すようなアプローチを取る。<br> | |||
# まず、PhotinoWindowクラスのインスタンスを生成して、初期URLを設定する。<br>これは、アプリケーションのエントリーポイントとなる。 | |||
#: <syntaxhighlight lang="c#"> | |||
var window = new PhotinoWindow() | |||
.Load("wwwroot/index.html"); | |||
</syntaxhighlight> | |||
# フロントエンド側では、JavaScriptのルーティングライブラリ (例: Navigo) を使用してルーティングを管理する。<br>これにより、シングルページアプリケーションを提供することが可能となる。 | |||
<br> | |||
重要な点では、Photino.NETではバックエンド (C#) とフロントエンド (JavaScript) 間の通信が可能である。<br> | |||
これを利用して、ルーティングに関連する処理をバックエンド側で実装することもできる。<br> | |||
<syntaxhighlight lang="c#"> | |||
window.WebMessageReceived += (sender, message) => { | |||
if (message.Contains("navigate:")) { | |||
var route = message.Replace("navigate:", ""); | |||
// ルーティング処理の実装 | |||
} | |||
}; | |||
</syntaxhighlight> | |||
<br> | |||
また、Photino.NETのルーティングシステムは、デフォルトで外部URLへのナビゲーションを制限している。<br> | |||
これは意図しないナビゲーションを防ぐための重要な機能である。<br> | |||
<br> | |||
ディープリンクの実装も可能であり、これによりデスクトップアプリケーションでありながら、Webアプリケーションのような柔軟なナビゲーションを提供することができる。<br> | |||
<br> | |||
また、ルーティングに関連するエラーハンドリングでは、404エラーや不正なルートへのアクセスに対して、適切なエラーページやフォールバックを実装することが推奨される。<br> | |||
<br> | |||
カスタムスキームの実装も可能であり、これにより、アプリケーション固有のURLスキームを定義して特別なルーティング要件に対応することができる。<br> | |||
<br><br> | <br><br> | ||