タグ ‘ビジネスExtJS’ 一覧
第5回ExtJS勉強会@名古屋 2/25 パネル内のエレメントを作成する
第4回ExtJS勉強会@名古屋のチュートリアルセクション用の資料用のまとめです。
前回までのセッションでパネルを作るところまで行きました。今回はそのパネルの中に表示するHTML要素を生成するためのクラスを中心に扱います。クラスとしては以下の3つが中心になります。
Ext.XTemplateではHTMLをテンプレートと記述して、パネルに設定します。
Ext.DomHelperではDOMの追加や削除を行います。
Ext.DataView,ListViewはストアの内容をパネルに配置する簡単な方法を紹介します。
前回までのセッションのまとめはこちらです。
第2回ExtJS勉強会@名古屋 勉強会Ext.onReadyからはじめるExtJSのまとめ
第3回ExtJS勉強会@名古屋 11/27 Ext.Panelからはじめるコンポーネントの基礎
各チュートリアル記事へのリンク
・ExtJS入門10 Ext.XTemplateを使う
http://extjs.blog.sus4.co.jp/2009/12/03/extjs-tutorial10/
・ExtJS入門11 Ext.XtemplateでJS内のテンプレートを使う
http://extjs.blog.sus4.co.jp/2009/12/04/extjs-tutorial11/
・ExtJS入門13 Ext.DomHelperの使い方
http://extjs.blog.sus4.co.jp/2010/01/14/extjs-tutorial13-domhelper1/
・ExtJS入門14 DomHelperの使い方2
http://extjs.blog.sus4.co.jp/2010/01/14/extjs-tutorial14-domhelper2/
・ExtJS入門14 DomHelperの使い方3
http://extjs.blog.sus4.co.jp/2010/02/25/extjs-domhelper-insert-remove/
・ExtJS入門15 DataViewの使い方
http://extjs.blog.sus4.co.jp/2010/01/26/extjs-tutrorial15/
・ExtJS入門16 ListViewの使い方
http://extjs.blog.sus4.co.jp/2010/01/27/extjs-tutorial16/
第4回ExtJS勉強会@名古屋(2010年1月)を開催します
ExtJSユーザーの皆様、あけましておめでとうございます。
2009年12月は、名古屋の勉強会を開催しませんでしたので、2ヶ月間あいてしまいましたが、2010年1月28日(木)に第4回ExtJS名古屋勉強会を開催します。
今回は、株式会社ニューキャストさんのご好意により、セミナールームを借りて開催することになりました。
ExtJS3.1もリリースされ、ますます注目度が増すExtJSを名古屋から盛り上げて行きましょう。
詳細情報については、ExtJSウェブサイトをご覧下さい。
ExtJS入門11 Ext.XtemplateでJS内のテンプレートを使う
前回はExt.XTemplateクラスのfromメソッドでHTML内のファイルをテンプレートに使いましたが、今回はJavascriptのファイル内にテンプレートを書く方法を紹介します。
前回の記事
ExtJS入門10 Ext.XTemplateを使う
Ext.XTemplateクラス – Ext 3.0 – API Documentation 日本語版
http://extdocs.xenophy.com/?class=Ext.XTemplate
・HTML
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ExtJS名古屋勉強会 xtemplateの使い方(Javascript内のテンプレート)</title>
<!--Ext JS CSS-->
<link rel="stylesheet" href="../js/ext/resources/css/ext-all.css" type="text/css" />
<!--Ext JS-->
<script type="text/javascript" src="../js/ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../js/ext/ext-all.js"></script>
<!--my App JS-->
<script type="text/javascript" src="xtemplate-new.js"></script>
</head>
<body>
<h1 style="background-color:#BDD3EF;">JS内のテンプレートを使ったXTempalte</h1>
<div id="tpl-target">
</div>
</body>
</html>
・Javascript
Ext.onReady(function(){
var data = {
name:'株式会社sus4',
url:'http://www.sus4.co.jp',
};
/**
* テンプレート
* 中括弧でdataオブジェクトのプロパティ名を指定する。
* js内の文字列でテンプレートを指定する場合は,
* new Ext.XTemplate(テンプレート文字列)とする。newしないとエラーになります。
* カンマで区切ることで複数行に渡ってテンプレート文字列を書くことができます。
* 最後にカンマがつくとエラーになります。
*/
var tpl = new Ext.XTemplate(
'<h2>リンクを作る</h2>',
'<a href="{url}">{name}</a>',
'<h2>テーブルを作る</h2>',
'<table>',
'<tr>',
'<th style="padding:3px;">{name}:</th><td>{url}</td>',
'</tr>',
'</table>'
);
//htmlファイルに作った要素のIDを指定
var tplHtml = tpl.apply(data);
var panel = new Ext.Panel({
renderTo:'tpl-target',
title:'テンプレートを使ったパネル',
bodyStyle:'padding:20px',
html:tplHtml
});
});
・実行結果
Ext.XTemplateのテンプレートはJavascript内に記述しています。
var tpl = new Ext.XTemplate(
'<h2>リンクを作る</h2>',
'<a href="{url}">{name}</a>',
'<h2>テーブルを作る</h2>',
'<table>',
'<tr>',
'<th style="padding:3px;">{name}:</th><td>{url}</td>',
'</tr>',
'</table>'
);
文字列でテンプレートとなるHTMLを記述しています。テンプレート文字列が長くなって改行する場合は一旦文字列を区切って「,」(カンマ)で新しい文字列を連結して書いていきます。
例:
new Ext.XTemplate( '文字列', ’文字列’ );
文字列を区切らずそのまま改行するとエラーになります。連結した最後の文字列のあとにカンマがついてもダメです。
データの設定する箇所は「{}」(中括弧)でデータオブジェクトのプロパティ名を指定します。
HTMLファイルにテンプレートを記述する、Ext.XTemplate.from()ではnewしていませんでしたが、JSファイル内に文字列としてテンプレートを記述して使う場合はnewしなければいけません。Ext.XTemaplate.from()メソッドを使うとHTMLに描いた文字列からテンプレートオブジェクトを生成して返しているためnewしなくても良かったのですが、今回は自分できちんとnewして文字列からテンプレートオブジェクトを生成します。
あとはExt.XTemplate.fromと同じようにapplyでデータの設定して、パネルの要素に設定しています。
ExtJSのことを話す上での基礎用語について – Part1
ExtJSを話題にするうえで、覚えておくべきいくつかの知識があります。
技術者対営業、営業対エンドユーザー、技術者対エンドユーザーなど、ビジネスを進めていく上でいろいろな場面が考えられるとおもいますが、共通の言葉を作っておくと話が早い場合もあります。
今回は、まとめて紹介していきます。
どちらかというと、営業向けの言葉説明なので、技術者には物足りない内容かもしれないです。
1.RIA
リッチインターネットアプリケーション。3年か4年前から盛んに言われるようになって来た言葉です。それまでのHTMLベースのウェブアプリケーションに対して、よりネイティブアプリケーションっぽい動きをするWebアプリケーションの総称でよいと思います。
このRIAを実現する技術としては、Flash、FlexなどのFlashプラグインを利用するアプリケーション、Sliverlightプラグインを利用するアプリケーションと、Ajaxを利用するJavaScriptベースのアプリケーションが代表的なものとなります。
ウェブ上で、リッチな体験を提供するというのが言葉の中に含まれる定義ですね。
僕が業務系RIAを説明するときは、今まで当たり前にできていた業務をウェブアプリに置き換えても、当たり前に同じことができることですと伝えます。
2.Ajax
先ほどの説明に出てきましたが、Ajaxというのは、JavaScriptに関しての言葉です。
Wikiの説明ですと
Ajax(エイジャックス、アジャックス)は、ウェブブラウザ内で非同期通信とインターフェイスの構築などを行う技術の総称。XMLHttpRequest(HTTP通信を行うためのJavaScript組み込みクラス)による非同期通信を利用し、通信結果に応じてダイナミックHTMLで動的にページの一部を書き換えるというアプローチを取る。
という感じになります。
今までのHTMLベースのウェブアプリケーションは、情報を送信するのに、ページ全体を書き換える必要がありましたが、このAjax技術を使うと、ページ内でいつでもサーバへの通信が可能で、ページ内の一部を動的に変更することができます。
これが、ネイティブアプリケーションっぽくウェブアプリケーションを振舞わせることができる核の技術です。
3.ライブラリとフレームワーク
前にお話をしているときに、フレームワークとライブラリの違いってなんですかと聞かれたことがあるので、、、
Wikiによるフレームワークの説明:
Web アプリケーションフレームワーク(英: Web Application Framework)は、動的な ウェブサイト、Webアプリケーション、Webサービスの開発をサポートするために設計されたアプリケーションフレームワークである。 フレームワークの目的は、Web 開発で用いられる共通した作業に伴う労力を軽減することである。たとえば、多数のフレームワークがデータベースへのアクセスのためのライブラリや、テンプレーティング フレームワーク、セッション管理を提供し、コードの再利用を促進させるものもある。
Wikiによるライブラリの説明:
ライブラリは、汎用性の高い複数のプログラムを、再利用可能な形でひとまとまりにしたものである。一般にライブラリは、それ単体ではプログラムとして動作させることはできないので実行ファイルではない。ライブラリは他のプログラムに何らかの機能を提供するコードの集まりと言うことができる。ソースコードの場合と、オブジェクトコード、あるいは専用の形式を用いる場合とがある。たとえば、UNIXのライブラリはオブジェクトコードをarと呼ばれるアーカイバでひとまとめにして利用する。
んー、これだとなかなかわかりにくいですね。
近年登場してきているJavaScriptを快適に書くためのライブラリ・フレームワークを上げてみると、
- Prototypeは、昔JavaScriptライブラリといわれていたような気がしたのですが、いつの間にかフレームワークになっています。
- jQueryは、WikiではJavaScriptライブラリといわれていますね。
- ちょっと毛色が違いますが、YUIはUIライブラリといっていますね。
- Dojoは最近、Core, digit, DojoXに分かれてるみたいですね。3つあわせると、フレームワークとよばれるっぽいですね。
どちらかというと、スクリプトを書くときにサポートしてくれる機能が寄り集まったものをライブラリといい、アプリケーション自体をそれで完結できるもの(JavaScriptの場合は、クライアントサイドのコード全体をまかなえると考えれば適当かもしれません)をフレームワークといっているようです。
ちょうど、ExtJSでいうと、ExtCoreに関しては、ライブラリといったほうがよさそうで、ExtJSはフレームワークといえそうですね。
なんだかまとまりのない感じになってしまいましたが、とりあえず簡単に3つ紹介してみました。次回は、JavaScriptに関する言葉をもう少し解説していきます。































































