Bootstrapとは
Bootstrapは一般的には以下のように定義されています。
電源投入後あるいはリセットの後に、コンピューター上のメモリーに基本的なソフトウェアを読み込むことを指す。
出典: フリー百科事典『ウィキペディア(Wikipedia)』
SAPUI5では、ページが開かれたとき、最初にSAPUI5のライブラリやテーマなどを読み込むスクリプトのことを指します。
SAPUI5のアプリケーションとして動かすために必須なのですね。
(Bootstrapという名前のフレームワークがありますがそれとは別物です)
どこに書くのか
はじめに、前回の記事でご紹介した手順でHelloworldのページを作っておきます。
index.htmlのファイルは以下のようになっています。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta charset="UTF-8">
<title>Hello World App</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>
headタグの後に以下のようにコードを追加します。
ひとつ目のscriptタグの中がBootstrapです。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta charset="UTF-8">
<title>Hello World App</title>
<!--以下を追加-->
<script
id="sap-ui-bootstrap"
src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js"
data-sap-ui-theme="sap_belize"
data-sap-ui-libs="sap.m"
data-sap-ui-compatVersion="edge"
data-sap-ui-preload="async" >
</script>
<script>
sap.ui.getCore().attachInit(function () {
alert("UI5 is ready");
});
</script>
<!--以上を追加-->
</head>
<body>
<p>Hello World</p>
</body>
</html>
Bootstrapの中身
項目 | 指定するもの |
---|---|
id | 固定値 "sap-ui-bootstrap" |
src | SAPUI5 coreライブラリが格納されている場所 |
data-sap-ui-theme | UIのテーマ |
data-sap-ui-libs | ページで使用するUIのライブラリ |
data-sap-ui-compatVersion | "edge"を指定すると、SAPUI5の最新機能が使える(任意指定) |
data-sap-ui-preload | ライブラリを同期で読み込むか(sync)、非同期で読み込むか(async)を指定する。パフォーマンス向上のためasyncを指定することが推奨されている |
attachInitメソッドについて
data-sap-ui-preloadを"async"(非同期)とした場合、必要なライブラリがすべて読み込まれたタイミングをアプリケーションが知る必要があります。このためにattachInitメソッドを使用します。
今回は、attachInitメソッドの中でアラートを出力するようにしています。
実行結果
参考にしたページ
Bootstrapping: Loading and Initializing
Get Started: Setup and Tutorials-Walkthrough-Step 2: Bootstrap