Your SlideShare is downloading. ×
JavaScriptで作るSilverlightアプリケーション
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

JavaScriptで作るSilverlightアプリケーション

2,462
views

Published on

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,462
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

  • 自分用ツールは主にRubyを使ってます!

    WindowsMobile7はちょっと欲しいなと思いました。
  • で、なんでなの?なんでなんで?
  • 動的言語大好きです><
    静的言語も好きですよ><;

    IDEの画面見てると頭痛くなるよね!
  • きっかけはそんな単純なものです!
  • で、どうやって作るのさ?そこんとこどうなのさ?
  • ふーん。それでそれで?
  • デバッグが困難だったり。
    ソースコードが公開されたり。
    ブラウザに依存する。
    というデメリットも><;
  • なんとなく凄そうな予感がしてきたぜ!

    全部動的言語を使わなくても、C#やVBから相互に呼び出しも出来るらしいよ!
    検証はしてません><;

    因みに、LispやScalaの開発も進められてるそうです!
  • です!
  • あんまり調べてないのでよく分かりません><;

    先月のMSDNマガジンに
    「Silverlight と IronRuby を使用して対話型の Bing Maps を作成する」
    (http://msdn.microsoft.com/ja-jp/magazine/ee291739.aspx)
    って記事もあったよ!
  • こんなデメリットも...
  • なんてこったい!時代はSilverlight 4RCだよ!

    因みに、SDLSDK(Silverlight Dynamic Launguage SDL?紛らわしい!)の
    0.4も0.5もランタイムのバージョンは一緒だったよ!

    自分でアセンブリをパッケージング!
    Xapの実体はただのZipです!

    SDLSDK 0.5(最新版)にはJScriptのランタイムライブラリが含まれておりません!
    (な、なんだってー!!!)
    なので、0.4を使う必要があります><;
    (IronRubyとIronPythonだけずるい!><)
  • さあ、気を取り直して!
  • 最新版(0.5)のリリースが2009年3月(1年前)
    0.4のリリースが2008年10月(1年半前!)

    今回はJScriptを使うので、0.4を使います。古いですね!
    バージョンアップ期待してます><;

    CodePlexというのは、Microsoftが支援するオープンソースコミュニティです!
  • です!
  • DSLはChiron.exeで開発を進めます!

    Webサーバ起動
    「Chiron.exe /w」
    Webサーバを起動してブラウザを開く
    「Chiron.exe /b」
    Xap作成
    「Chiron.exe /z:app.xap」
    アセンブリを含めたXapの作成
    「Chiron.exe /x:app.xap」
    などなど。

    テンプレート作成用のスクリプトやWebサーバーを起動するスクリプトもあるよ!

    テンプレート作成は
    「ruby sl 言語名 アプリケーション名」
    「ruby sl jscript HogeApplication」
    Windowsなら
    「sl.bat 言語名 アプリケーション名」
    Webサーバーの起動は
    「server.bat」...かな?
    Macは
    「ruby server」
    ...ってやっても動きませんでした><;

    でも、serverコマンドはChiron.exeをラップしてるだけなので
    直接Chiron.exeを使えば問題なし!

  • それでそれで?
  • ということは?
  • つまり!
  • 素晴らしい><!
    Monoはイメージファイルを落として、ポチポチ押してくだけでインストール出来ます!
    コマンドは「mono Chiron.exe 〜」といった感じ。


    あ、言い忘れましたが、VisualStudioでもDSLの開発が可能です><
    英語の記事ですが、こちら参照。

    Silverlight Dynamic Languages in Visual Studio(http://blogs.msdn.com/webnext/archive/2008/03/30/silverlight-dynamic-languages-in-visual-studio.aspx)
  • HelloWorldはすっ飛ばします!
  • だよね?ですよね?



  • 実演デモします!
    ソースコードはGithubにあります!
    (http://github.com/mitukiii/TwitterSearch)
    (git@github.com:mitukiii/TwitterSearch.git)
  • デモです!

  • 配列、文字列を自分の慣れた形で処理出来ます。
    素晴らしいというか、JavaScriptに慣れてる人としては嬉しいです><

  • ピュアJavaScriptはまだまだブラウザ間の実装が追いついてない感じですね><;
  • responseJson(サーバーから返ってきたJSON)の
    tweetの配列が入ってるresultsプロパティに大して
    collect(配列の要素ひとつずつに関数を適用した結果の配列を返す)を適用して
    それを元に配列にconcat(配列と配列をくっつける)して
    uniqでtweetのidを元に重複を削除して
    sortByでtweetのidを元に昇順にソートして
    最後にreverseして降順にしたものを
    tweetの配列tweetsに再代入!

    最後にListBoxの中身をまるまるっと更新!
  • JScriptはUTC時間をちゃんと認識してくれない!><;
    ので、toDateにちょっとした仕掛けを施します!
  • じゃじゃーん!

  • 文字列や配列はJavaScript流に処理出来るけど、
    その他の部分はしょうがない><;

    どんなライブラリやコントロールがあるのか分からないので、
    ひたすらMSDNのドキュメントとにらめっこしてました

  • HTML側で隠しボタンを作って、30秒毎にクリックするイベント
    マネージコード側で隠しボタンにイベント付加

    あまりエレガントではないですね
  • JavaScriptだと、
    「button.addEventListener(click, function() {〜}, false)」
    「button.onclick = function() {〜}」
    って書くところを
    「button.Click += function() {〜}」
    って書きます

    HTML中のエレメントにイベント付加する時は
    「$(‘button_id’).AttachEvent(‘click’, new EventHandler(function() {〜}))」
    ($はJavaScript風のHtmlPage.Document.GetElementByIdへのショートカット)

    ひたすらトライ&エラー
    原始的な方法です!

  • 楽しい!
  • でも?
  • だって、DSL全然アップデートされないんだもん!

    Windows/Microsoftの公式言語を覚えておいても損はないよね!
    ってことで、C#勉強します><

  • Transcript

    • 1. JavaScript Silverlight @mitukiii / Hokuriku.NET Vol.2
    • 2. ● ● ● ● PHP / JavaScript ● ● Twitter @mitukiii
    • 3. JavaScript
    • 4. JavaScript ● JavaScript ●
    • 5. JavaScript C#
    • 6. JavaScript
    • 7. JavaScript ● JavaScript Silverlight JavaScript API ● DSL Dynamic Silverlight JavaScript Manage JScript
    • 8. JavaScript ● Silverlight JavaScriptAPI JavaScript JavaScript Silvelight 1.0 JavaScript
    • 9. JavaScript ● DSL Manage JScript DSL CLR IronRuby / IronPython / Manage JScript C# VB
    • 10. JavaScript Manage JScript
    • 11. JavaScript ● Silverlight Web Ruby / Python / Xaml Gestalt
    • 12. DSL ...
    • 13. DSL ● Silverlight 2.0 2.0 RumtimeVersion 2.0.31005.00 ● AppManifest.xaml Xap ● JScript
    • 14. ● SDLSDK Silverlight Dynamic Language SDK CodePlex http://sdlsdk.codeplex.com/
    • 15. ● SDK DSL Web Xap Chiron.exe
    • 16. Chiron.exe Mono
    • 17. Mono Mac
    • 18. Mac DSL
    • 19. Twitter
    • 20. HelloWorld
    • 21. JavaScript
    • 22. JavaScript ● ●
    • 23. JavaScript ● Array JScript Array.forEach / Array.map each / collect / inject / include / etc prototype.js JavaScript
    • 24. JavaScript ●
    • 25. JavaScript ● String Date
    • 26. JavaScript ●
    • 27. ● C# DSL
    • 28. ● JavaScript Manage JScript C# DSL
    • 29. ● JavaScript Manage JScript
    • 30. ● Grid →Xaml → &
    • 31. JavaScript
    • 32. C# ...