SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
Knockout を用いた
Firefox OS アプリケーションの開発
iizukak(いいづかけー)

第4回関東 Firefox OS 勉強会発表資料(2013/10/16)
自己紹介

✤

iizukak(いいづかけー)
✤

✤

ソフトウェアエンジニア @ 六本木
✤

✤

Github, Qiita, Twitter

JS をたくさん書くお仕事

プログラミングとボルダリングが好き
今日お話しすること

✤

MV* フレームワークあれこれ

✤

Knockout の紹介

✤

Knockout を用いた Firefox OS アプリの開発

前半は Firefox OS とあまり関係ないですが、お付き合いください
MV* フレームワークあれこれ
MV* フレームワークあれこれ

✤

JS の MV* フレームワークとされるライブラリは数多い

✤

そもそも、MV* フレームワークはなぜ必要?
MV* フレームワークあれこれ

✤

Firefox OS アプリ含め、最近の JS 開発では、モデルの状態を、動
的にビューに反映することは必須
①アイコンタップ

ユーザー

②イベント通知
③モデルの
 状態が変化

JS
④ビューに反映
MV* フレームワークあれこれ

✤

モデルのデータをビューと結びつける =「データバインド」

✤

データバインドを自力で書くのは割と面倒

✤

動的にビューをいじる仕組み作りが面倒

✤

コードの総量も増えがち
MV* フレームワークあれこれ

✤

MV* フレームワークの多くが、データバインド機能を提供
✤

✤

Knockout : デフォルトである

✤

✤

Angular : デフォルトである

Backbone : Epoxy.js とか使ってやる

MV* フレームワークは、データバインド機能を中心に、コードを構
造化する手助けをするライブラリ(※個人的見解です)
MV* フレームワークあれこれ
✤

デザインパターンの話がないぞ!というお客様へ

Backbone
Knockout

✤

MVVM : Model-View-ViewModel

Angular
✤

MVC

: Model-View-Controller

MVW : Model-View-Whatever

MV* の定義は人や本によってまちまち
各々のフレームワークが提案する使い方に従ってコードを書けば、デ
ザパタについてはそんなに悩まなくても良い(※個人的見解です)
Knockout の紹介
Knockout の紹介

✤

特徴
✤

✤

宣言的データバインド

✤

動的なビュー書き換えの実装サポート

✤

✤

Model-View-ViewModel デザインパターン

拡張製が高い

抽象的なので、実際の利用例で説明します
Knockout の紹介
✤

宣言的データバインドの例:名前を表示するアプリ
HTML
<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>

JavaScript
function AppViewModel() {
this.firstName = "山田";
this.lastName = "太郎";
}
ko.applyBindings(new AppViewModel());

出力
Knockout の紹介
✤

いじくりたいタグに data-bind 属性を記述
HTML

strong タグをいじりたい

<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>

JavaScript
function AppViewModel() {
this.firstName = "山田";
this.lastName = "太郎";
}
ko.applyBindings(new AppViewModel());

出力
Knockout の紹介
✤

データバインドの種類を書く
HTML

テキストを挿入: text

<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>

JavaScript
function AppViewModel() {
this.firstName = "山田";
this.lastName = "太郎";
}
ko.applyBindings(new AppViewModel());

出力
Knockout の紹介
✤

適用したい変数名を適当に決める
HTML

firstName, lastName にする

<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>

JavaScript
function AppViewModel() {
this.firstName = "山田";
this.lastName = "太郎";
}
ko.applyBindings(new AppViewModel());

出力
Knockout の紹介
✤

ビューに適用する変数を持つコンストラクタを宣言
HTML
<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>

JavaScript

コンストラクタに
firstName, lastName 変数を用意
出力

function AppViewModel() {
this.firstName = "山田";
this.lastName = "太郎";
}
ko.applyBindings(new AppViewModel());
Knockout の紹介
✤

ko.applybinding メソッドを呼んだタイミングで有効化
HTML
<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>

JavaScript

バインドを起動

function AppViewModel() {
this.firstName = "山田";
this.lastName = "太郎";
}
ko.applyBindings(new AppViewModel());

出力
Knockout の紹介
✤

データバインドは、一般的にこんなかんじで記述
HTML
<開始タグ data-bind="データバインドの種類: 適用する変数名"></終了タグ>

JavaScript
function コンストラクタ() {
this.適用する変数 = 値;
}
ko.applyBindings(new コンストラクタ());
Knockout の紹介

✤

宣言的データバインドの良さ
✤

HTML を見ればどこの要素がいじられるのか明瞭

✤

デザイナーさんと分業しやすい
✤

✤

「ここは JS で制御する部分だからいじくらんでおこう…」

data-* 属性は正当な HTML 属性のため、実装した HTML が
validな HTML になり、気分がよい
Knockout の紹介
✤

組み込みデータバインドをいくつか紹介

click binding

クリックイベントをハンドリング

css binding

CSS を適用

visible binding 表示・非表示切り替え
if binding

if 文による分岐
Knockout の紹介
✤

動的なビュー操作の実装サポート
HTML
<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>
<p>First name: <input data-bind="value: firstName" /></p>
<p>Last name: <input data-bind="value: lastName" /></p>

JavaScript
function AppViewModel() {
this.firstName = ko.observable();
this.lastName = ko.observable();
}

出力
Knockout の紹介
✤

ユーザの名前入力に従って、表示内容を変更したい
HTML
<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>
<p>First name: <input data-bind="value: firstName" /></p>
<p>Last name: <input data-bind="value: lastName" /></p>

JavaScript
function AppViewModel() {
this.firstName = ko.observable();
this.lastName = ko.observable();
}

出力
Knockout の紹介
✤

コンストラクタに、ko.observable という変数を宣言
HTML
<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>
<p>First name: <input data-bind="value: firstName" /></p>
<p>Last name: <input data-bind="value: lastName" /></p>

JavaScript

observable な変数を宣言

function AppViewModel() {
this.firstName = ko.observable();
this.lastName = ko.observable();
}

出力
Knockout の紹介
✤

ユーザが苗字と名前を入力
HTML
<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>
<p>First name: <input data-bind="value: firstName" /></p>
ユーザが値を入力
<p>Last name: <input data-bind="value: lastName" /></p>

JavaScript
function AppViewModel() {
this.firstName = ko.observable();
this.lastName = ko.observable();
}

出力
Knockout の紹介
✤

書き換わったことが JS 側に通知され、変数が書き換わる
HTML
<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>
<p>First name: <input data-bind="value: firstName" /></p>
<p>Last name: <input 変数の値が書き換わる
data-bind="value: lastName" /></p>

JavaScript
function AppViewModel() {
this.firstName = ko.observable();
this.lastName = ko.observable();
}

出力
Knockout の紹介
✤

ビューが動的に書き換わる
HTML
<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>
<p>First name: <input data-bind="value: firstName" /></p>
ビューを動的に書き換えてくれる
<p>Last name: <input data-bind="value: lastName" /></p>

JavaScript
function AppViewModel() {
this.firstName = ko.observable();
this.lastName = ko.observable();
}

出力
Knockout の紹介

✤

その他の特徴
✤

MIT ライセンス

✤

組み込みバインディングで物足りなくなったら、自作できる

✤

割と高速 (Android 2.x 世代の端末でもそれなりに動く)

✤

テストが書きやすい
✤

Knockout 本体も Jasmine を使ってテストされている
Knockout の紹介

✤

お仕事での実例
✤

iPhone, Android 向けネイティブゲームアプリ

✤

UI はほぼ全て WebView で実装

✤

規模:HTML 200 画面、JS 数万行

✤

モデルの変更・ビューの書き換えが非常に多い
✤

Knockout を活用。自作 binding も数十個
Knockout を用いた
Firefox OS アプリの開発
Firefox OS アプリへの組み込み

✤

試作アプリ
✤

✤

OAuth 認証

✤

✤

簡易 Twitter クライアント

タイムライン表示

Github へのリンク
Firefox OS アプリへの組み込み
✤

UI は Firefox OS Building Blocks ライブラリ
Firefox OS アプリへの組み込み
✤

アプリケーションの全体像
FxOS クライアント

データバインド
・TL情報
・ファボ情報
・タップイベント発火

APIサーバ

メソッド呼び出し

ViewModel

・TL 取得メソッド
・ツイートメソッド

Model

API
通信

View
UI ロジック

VIew の状態を管理

ビジネスロジック

Twitter
API
Firefox OS アプリへの組み込み

✤

Knockout 使っている場所

✤

タイムラインをリスト表示するとこ
✤

foreach-binding
✤

ko.observableArray

✤

text-binding

✤

attr-binding
Firefox OS アプリへの組み込み

✤

感想
✤

非常に素直に導入できた

✤

「あ、これ Knockout を使って簡単に書けるやつだ」が多い
✤

✤

タイムラインへの新規ツイートの挿入が容易に実装できた

MVVM がアプリの要件にマッチ
✤

MVVM はそもそもが GUI アプリ向けのデザインパターン
まとめ
まとめ

✤

MV* フレームワーク
✤

✤

データバインドを中心に、プログラムの構造化を手助け

Knockout
✤

✤

✤

宣言的データバインド
動的なビュー書き換えの実装サポート

Firefox OS アプリケーションの開発にも適してそう

Más contenido relacionado

La actualidad más candente

仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016Takayuki Shimizukawa
 
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
SEOとJava Script。 〜文書構造とチームと、時々、闇〜SEOとJava Script。 〜文書構造とチームと、時々、闇〜
SEOとJava Script。 〜文書構造とチームと、時々、闇〜Yuki Minakawa
 
アプリコンテスト
アプリコンテストアプリコンテスト
アプリコンテストTomonori Yamada
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップYasuhito Yabe
 
.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説Cherry Pie Web
 
Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装Nakazawa Yuichi
 
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村Koichi Uchimura
 
20120327 phpstudy58-phake
20120327 phpstudy58-phake20120327 phpstudy58-phake
20120327 phpstudy58-phakeKatsuhiro Ogawa
 
20111204 WebBroser Control Tips for Windows Phone
20111204 WebBroser Control Tips for Windows Phone20111204 WebBroser Control Tips for Windows Phone
20111204 WebBroser Control Tips for Windows PhoneKenji Wada
 
RFC: "var" Deprecation
RFC: "var" DeprecationRFC: "var" Deprecation
RFC: "var" Deprecationy-uti
 
JS開発環境を晒す。
JS開発環境を晒す。JS開発環境を晒す。
JS開発環境を晒す。Eiji Kuroda
 
Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介Shinya Okano
 
DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話Nakazawa Yuichi
 
WebComponentsとPolymerを使ってみた
WebComponentsとPolymerを使ってみたWebComponentsとPolymerを使ってみた
WebComponentsとPolymerを使ってみたNakazawa Yuichi
 
HTML5-pronama-study
HTML5-pronama-studyHTML5-pronama-study
HTML5-pronama-studyNaoya Inada
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2Nishida Kansuke
 
第5回勉強会
第5回勉強会第5回勉強会
第5回勉強会Mugen Fujii
 
VSハッカソン TypeScript ハンズオン
VSハッカソン TypeScript ハンズオンVSハッカソン TypeScript ハンズオン
VSハッカソン TypeScript ハンズオンKazuhide Maruyama
 
20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminarSix Apart
 

La actualidad más candente (20)

仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
 
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
SEOとJava Script。 〜文書構造とチームと、時々、闇〜SEOとJava Script。 〜文書構造とチームと、時々、闇〜
SEOとJava Script。 〜文書構造とチームと、時々、闇〜
 
アプリコンテスト
アプリコンテストアプリコンテスト
アプリコンテスト
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
 
.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説.htaccessによるリダイレクト徹底解説
.htaccessによるリダイレクト徹底解説
 
Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装
 
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村
 
NanoStrand
NanoStrandNanoStrand
NanoStrand
 
20120327 phpstudy58-phake
20120327 phpstudy58-phake20120327 phpstudy58-phake
20120327 phpstudy58-phake
 
20111204 WebBroser Control Tips for Windows Phone
20111204 WebBroser Control Tips for Windows Phone20111204 WebBroser Control Tips for Windows Phone
20111204 WebBroser Control Tips for Windows Phone
 
RFC: "var" Deprecation
RFC: "var" DeprecationRFC: "var" Deprecation
RFC: "var" Deprecation
 
JS開発環境を晒す。
JS開発環境を晒す。JS開発環境を晒す。
JS開発環境を晒す。
 
Djangoフレームワークの紹介
Djangoフレームワークの紹介Djangoフレームワークの紹介
Djangoフレームワークの紹介
 
DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話
 
WebComponentsとPolymerを使ってみた
WebComponentsとPolymerを使ってみたWebComponentsとPolymerを使ってみた
WebComponentsとPolymerを使ってみた
 
HTML5-pronama-study
HTML5-pronama-studyHTML5-pronama-study
HTML5-pronama-study
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
 
第5回勉強会
第5回勉強会第5回勉強会
第5回勉強会
 
VSハッカソン TypeScript ハンズオン
VSハッカソン TypeScript ハンズオンVSハッカソン TypeScript ハンズオン
VSハッカソン TypeScript ハンズオン
 
20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar
 

Similar a Knockout を用いた Firefox OS アプリケーションの開発

Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframeworkSpring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframeworkToshiaki Maki
 
JavaScript.Next Returns
JavaScript.Next ReturnsJavaScript.Next Returns
JavaScript.Next Returnsdynamis
 
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発Yuta Matsumura
 
Real world android akka
Real world android akkaReal world android akka
Real world android akkaTaisuke Oe
 
JavaScript.Next
JavaScript.NextJavaScript.Next
JavaScript.Nextdynamis
 
Firefox5+HTML5×5
Firefox5+HTML5×5Firefox5+HTML5×5
Firefox5+HTML5×5dynamis
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについてtako pons
 
Develop Web Application with Node.js + Express
Develop Web Application with Node.js + ExpressDevelop Web Application with Node.js + Express
Develop Web Application with Node.js + ExpressAkinari Tsugo
 
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -Akio Katayama
 
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -Akio Katayama
 
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~normalian
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発Akira Inoue
 
Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)Akira Onishi
 
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpSeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpYahoo!デベロッパーネットワーク
 
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...Sadao Tokuyama
 
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI
for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI Osamu Monoe
 
How to django at first
How to django at firstHow to django at first
How to django at firstMaito Kuwahara
 

Similar a Knockout を用いた Firefox OS アプリケーションの開発 (20)

Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframeworkSpring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
Spring Frameworkの今 (2013年版) #jjug_ccc #ccc_r17 #springframework
 
JavaScript.Next Returns
JavaScript.Next ReturnsJavaScript.Next Returns
JavaScript.Next Returns
 
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
 
Real world android akka
Real world android akkaReal world android akka
Real world android akka
 
JavaScript.Next
JavaScript.NextJavaScript.Next
JavaScript.Next
 
Firefox5+HTML5×5
Firefox5+HTML5×5Firefox5+HTML5×5
Firefox5+HTML5×5
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについて
 
Develop Web Application with Node.js + Express
Develop Web Application with Node.js + ExpressDevelop Web Application with Node.js + Express
Develop Web Application with Node.js + Express
 
Haikara
HaikaraHaikara
Haikara
 
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -
 
FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -FxUG in Toyama - ASphalt2 container -
FxUG in Toyama - ASphalt2 container -
 
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
 
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
 ぼく(たち)のかんがえた最新のJS開発環境 #scripty04 ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
 
Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)
 
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpSeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
 
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...
 
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI
for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI
 
Driverについて
DriverについてDriverについて
Driverについて
 
How to django at first
How to django at firstHow to django at first
How to django at first
 

Último

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 

Último (7)

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 

Knockout を用いた Firefox OS アプリケーションの開発