SlideShare a Scribd company logo
1 of 18
Download to read offline
講師.NETラボ岡田将
アジェンダ  HTMLの歴史  WebMatrixの紹介  Razorとは  Razor構文の説明  他言語との比較  Helperを使ってみる  まとめ
HTMLの歴史  シンプルな静的表示時代 通常のHTMLタグしか使わない表示 JavascriptやCSSなどは使わずに表示しているためブラウザ依存せ表示できた  動きのある静的表示時代 DynamicHTML時代(DHTML、IE4.0以降) 対応ブラウザ側でスタイルやJavascriptを動かすため非対応ブラウザでは うまく再現されず変な動きにることがよあった (ブラウザごとでJavascriptを記述して対応する必要があった)  シンプルな動的表示時代 CGIやクラッシASP、PHPなどのスクリプト言語を使用してHTML表示を サーバ側で制御きるようになった これにより、サーバデタを保持できるうなっためショップイトど 運用できるようになった
HTMLの歴史  プログラムと連携した拡張表示時代 クライアントに事前コポーネ(ドオ)をスルすることで ブラウザ側でActiveXオブジェクトとして連携表示する Flashなど特にアニメーションで利用された (アドイン配布方法やセキュリティ面の課題があった)  ちかしないWeb2.0時代 非同期通信とJavascript(Ajax)を連携することにより、 単一画面でデータ連携したHTML表示を切り替えることが可能なった  HTMLの進化 やっと各ブラウザでW3C準拠表示に切り替えることよ、デザイン崩れのない 表示が可能となってきた また、新時代のHTMLとして新機能がHTML5で追加提言されたことアドオンを利用せず動的な表示が可能とる
WebMatrixの紹介  Microsoftより無償で提供されている動的Webサイトを作成可能 なツール http://www.microsoft.com/web/webmatrix/ IIS7.5エクスプレと連携するこで、ASP.NETはもちろん オープンソスのPHPなどのWeb開発を行うことができる (HTML、XML、CSS、C#、VB、Javascript、PHP、クラッシASP、SQLに対応) さらにはWebPlatformInstaller 3.0でさまざなオープンソスCMSを 簡単に導入することが可能 CMS:コンテツマネージメトシスム ベースとなる機能がパッケジ化されていため、コンテツモュルを 追加するだけでプログラムなしも簡単に複雑サイトを構築きWordPress、Xoops、Drupal、DotNetNukeなど
Razorとは  WebMatrixとASP.NET(MVC)で利用きるシンプルなビューエジScott Guthrie氏のブログより http://www.atmarkit.co.jp/fdotnet/scottgublog/20100714razor/razor.html 設計目標: いくつかの設計目標があったで、“Razor”をプロトタイ化し評価また。 コンパクトさ、表現的流動: Razorはファイルに必要な文字やキーストロクの数を最小化し、高速で流動的コーディング・ワクフロを可能にします。 多くのテンプレート文法とは違い、HTML内で明示的にサーバ・ブロックをすための コーディングが必要ありません。パサはこれをドから推測できるようになっていすこのために、非常コンパクトで表現的な文法が可能りリー素早く楽しタイプできます。 簡単に習得: Razorは簡単に習得できるの、最小限概念素早く実用的なります。 使用するのはべて既存言語やHTMLのスキルです。
Razorとは 新しい言語ではありません: Razorでは意識的に新しい命令言語を作成なようまた。 その代わり、開発者が既存C#/VB(またはそのほか)言語スキルをRazorで使用 できるようにし、選択た言語素晴らいHTML構築のワークフロを可能にする テンプレート・タグの文法を提供するようにしまた。 テキスト・エディタでの作業: Razorでは特別なツール必要く、プレン昔がらのテキスト・エディタも生産的に 使えます(メモ帳アプリでもしっかりと動き)。 優れたIntelliSenseを完備: Razorは特別なツールやコド・エディタを必要としい設計にってますが、 Visual Studioでは素晴らしいステートメン補完のサポがあります。Visual Studio 2010や Visual Web Developer 2010を更新して、完全なIntelliSenseが装備されるようにす予定で。
Razorとは 単体テストが可能: 新しいビュー・エンジの実装により、単体テストが可能なます (コントローラやWebサーバを必要とせず、すべての単体テスト・プロジェクでホ可能。 特別なアプリケーション・ドメイも不要です)。 ・らしいです。 ちなみにASP.NET MVCに対応したビュー・エンジとては、 NVelocity、NDjango、NHaml、Spark、Brailがあります。
Razor構文の説明 Razor構文は「@」シンボルを利用したプなコード記述です そのため、通常HTMLデザインコードを崩さない形でのィグが可能す また、新しい言語ではなの制御構文もVBやC#のそまコードが 利用できます 基本的にメイン処理コードを @{}の中で処理して、された変数や関をコードナゲット方式HTMLタグの中に組み込む形をとります
Razor構文の説明 Razor: @{ Page.Title= "Welcome to my Web Site!"; varpasswordErrorMessage= “Password Error”; } <html> <head></head> <body> <div> @if (!passwordErrorMessage.IsEmpty()) { <label for="password" class="validation-error"> @passwordErrorMessage</label> } </div> </body> </html> メインコードを記述 HTML部分に組み込(シンプルに記述できる)
他言語との比較 他のコードと比べてみます 余計なタグどがいため、HTMLとしてもかなり可読性が高くっいます Razor: @{//データベスとの接続処理コドを記入(省略)} <table> @for (int i = 0; =10; i++) { <tr> <td>@i</td> <td>@rs[“name”]</td> <td><input type=“text” value=“@rs[“phone”]”/></td> </tr> } </table>
他言語との比較 クラッシASP and ASP.NETコードナゲット: <%‘データベスとの接続処理コドを記入(省略)%> <table> <% Fori=0 to 10%> <tr> <td><%= i%></td> <td><%= rs(“name”) %></td> <td><input type=“text” value=‘<% = rs(“phone”) %>’ /></td> </tr> <% Next%> </table>
他言語との比較 PHP: <?php#データベスとの接続処理コドを記入(省略)?> <table> <?phpfor($i=1;$i<=10;$i++){ ?> <tr> <td><?phpecho $i; ?></td> <td><?phpecho $rs[“name”]; ?></td> <td><input type=“text” value=‘<?phpecho $rs[“phone”]; ?>’ /></td> </tr> <?php} ?> </table>
Helperを使ってみる Twitter Helper for WebMatrix:http://twitterhelper.codeplex.com/ TwitterのHelperがあるのでこちらを使ってみます サイトからHelperのソースファイルをダウンロドして標準テプレトジェクに 追加します
Helperを使ってみる Twitter Helper for WebMatrix: Default.cshtmlにHelperのコードを追加(ハッシュタグ「#razor」で検索させる) @{ Layout = "~/_SiteLayout.cshtml"; Page.Title= "Welcome to my Web Site!"; } <p> @Twitter.Search(“#razor") </p>
Helperを使ってみる Twitter Helper for WebMatrix: 実行するとたっ1追加だけで、こんな感じにHelperの機能が便利に使えます
まとめ  かなりコードが短く表現できる 一度覚えてしまば、めんどくさがりには強力つかえる。  シンプルでわかりやすい 初心者でも見た目わかりやすいの、デザインし。  ヘルパーが強力 簡単に使えて面白いヘルパーが今後出くる可能性あり。期待大 知っている人ならけど・表示制御だけなら初心者でも問題いが、細かをするためには やっぱりC#orVB.NETを覚える必要あり。
参考資料  @IT“Razor”の紹介- ASP.NET向け新ビュー・エンジhttp://www.atmarkit.co.jp/fdotnet/scottgublog/20100714razor/razor.html  MicrosoftWebMatrixhttp://www.microsoft.com/web/webmatrix/ ご清聴ありがとうざいました。

More Related Content

Viewers also liked

Overused words
Overused wordsOverused words
Overused wordsHipCV
 
Otimização Básica
Otimização BásicaOtimização Básica
Otimização BásicaSEO Empresas
 
素材写真利用における著作権法上の留意点
素材写真利用における著作権法上の留意点素材写真利用における著作権法上の留意点
素材写真利用における著作権法上の留意点Kiyoshi Kurihara
 
コンテンツと著作権の基礎の基礎
コンテンツと著作権の基礎の基礎コンテンツと著作権の基礎の基礎
コンテンツと著作権の基礎の基礎hiroko_tb
 
デジタルアーカイブと著作権に関する実務上の課題 ー映像の取扱いとパブリックドメインの問題を中心に
デジタルアーカイブと著作権に関する実務上の課題 ー映像の取扱いとパブリックドメインの問題を中心にデジタルアーカイブと著作権に関する実務上の課題 ー映像の取扱いとパブリックドメインの問題を中心に
デジタルアーカイブと著作権に関する実務上の課題 ー映像の取扱いとパブリックドメインの問題を中心にRyutaro Nakagawa
 
ガイドラインからみたアプリUI〜iPhone用とAndroid用〜
ガイドラインからみたアプリUI〜iPhone用とAndroid用〜ガイドラインからみたアプリUI〜iPhone用とAndroid用〜
ガイドラインからみたアプリUI〜iPhone用とAndroid用〜Chihiro Tomita
 
0528 kanntigai ui_ux
0528 kanntigai ui_ux0528 kanntigai ui_ux
0528 kanntigai ui_uxSaori Matsui
 
女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -Shoko Tanaka
 
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShellAmazon Web Services Japan
 

Viewers also liked (10)

Overused words
Overused wordsOverused words
Overused words
 
Otimização Básica
Otimização BásicaOtimização Básica
Otimização Básica
 
素材写真利用における著作権法上の留意点
素材写真利用における著作権法上の留意点素材写真利用における著作権法上の留意点
素材写真利用における著作権法上の留意点
 
コンテンツと著作権の基礎の基礎
コンテンツと著作権の基礎の基礎コンテンツと著作権の基礎の基礎
コンテンツと著作権の基礎の基礎
 
デジタルアーカイブと著作権に関する実務上の課題 ー映像の取扱いとパブリックドメインの問題を中心に
デジタルアーカイブと著作権に関する実務上の課題 ー映像の取扱いとパブリックドメインの問題を中心にデジタルアーカイブと著作権に関する実務上の課題 ー映像の取扱いとパブリックドメインの問題を中心に
デジタルアーカイブと著作権に関する実務上の課題 ー映像の取扱いとパブリックドメインの問題を中心に
 
クリエイティブ・コモンズと著作権の新しい潮流
クリエイティブ・コモンズと著作権の新しい潮流クリエイティブ・コモンズと著作権の新しい潮流
クリエイティブ・コモンズと著作権の新しい潮流
 
ガイドラインからみたアプリUI〜iPhone用とAndroid用〜
ガイドラインからみたアプリUI〜iPhone用とAndroid用〜ガイドラインからみたアプリUI〜iPhone用とAndroid用〜
ガイドラインからみたアプリUI〜iPhone用とAndroid用〜
 
0528 kanntigai ui_ux
0528 kanntigai ui_ux0528 kanntigai ui_ux
0528 kanntigai ui_ux
 
女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -
 
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
 

Similar to WebMatrixに対応した、新しいけど新しくないRazor

Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Sho Ito
 
D3js入門 - Code for Kobe 可視化勉強会資料
D3js入門 - Code for Kobe 可視化勉強会資料D3js入門 - Code for Kobe 可視化勉強会資料
D3js入門 - Code for Kobe 可視化勉強会資料充彦 保田
 
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法decode2016
 
Html5 Web Applications
Html5  Web ApplicationsHtml5  Web Applications
Html5 Web Applicationstotty jp
 
141115 making web site
141115 making web site141115 making web site
141115 making web siteHimi Sato
 
Tech.G HTML5 プレ講座
Tech.G HTML5 プレ講座Tech.G HTML5 プレ講座
Tech.G HTML5 プレ講座Atsushi Miura
 
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介Tadahiro Higuchi
 
Hello ".NET" World
Hello ".NET" WorldHello ".NET" World
Hello ".NET" World将 高野
 
Attractive HTML5
Attractive HTML5Attractive HTML5
Attractive HTML5Sho Ito
 
HTML5など社内勉強会 Vol.1 - HTML, CSS, HTML5
HTML5など社内勉強会 Vol.1 - HTML, CSS, HTML5HTML5など社内勉強会 Vol.1 - HTML, CSS, HTML5
HTML5など社内勉強会 Vol.1 - HTML, CSS, HTML5George Harada
 
Erlang Web
Erlang WebErlang Web
Erlang WebNgoc Dao
 
HTML5コーディング環境を Dreamweaverで構築する
HTML5コーディング環境を Dreamweaverで構築するHTML5コーディング環境を Dreamweaverで構築する
HTML5コーディング環境を Dreamweaverで構築するAkira Maruyama
 
Web programming introduction
Web programming introductionWeb programming introduction
Web programming introductioncolun
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップYasuhito Yabe
 
Mvc conf session_2_shibamura
Mvc conf session_2_shibamuraMvc conf session_2_shibamura
Mvc conf session_2_shibamuraHiroshi Okunushi
 

Similar to WebMatrixに対応した、新しいけど新しくないRazor (20)

Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5
 
D3js入門 - Code for Kobe 可視化勉強会資料
D3js入門 - Code for Kobe 可視化勉強会資料D3js入門 - Code for Kobe 可視化勉強会資料
D3js入門 - Code for Kobe 可視化勉強会資料
 
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
 
Html5 Web Applications
Html5  Web ApplicationsHtml5  Web Applications
Html5 Web Applications
 
141115 making web site
141115 making web site141115 making web site
141115 making web site
 
Tech.G HTML5 プレ講座
Tech.G HTML5 プレ講座Tech.G HTML5 プレ講座
Tech.G HTML5 プレ講座
 
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介
 
HTML5
HTML5HTML5
HTML5
 
Sendai.html5#2
Sendai.html5#2Sendai.html5#2
Sendai.html5#2
 
Hello ".NET" World
Hello ".NET" WorldHello ".NET" World
Hello ".NET" World
 
Attractive HTML5
Attractive HTML5Attractive HTML5
Attractive HTML5
 
HTML入門
HTML入門HTML入門
HTML入門
 
HTML5など社内勉強会 Vol.1 - HTML, CSS, HTML5
HTML5など社内勉強会 Vol.1 - HTML, CSS, HTML5HTML5など社内勉強会 Vol.1 - HTML, CSS, HTML5
HTML5など社内勉強会 Vol.1 - HTML, CSS, HTML5
 
Erlang Web
Erlang WebErlang Web
Erlang Web
 
Rest ful api設計入門
Rest ful api設計入門Rest ful api設計入門
Rest ful api設計入門
 
HTML5コーディング環境を Dreamweaverで構築する
HTML5コーディング環境を Dreamweaverで構築するHTML5コーディング環境を Dreamweaverで構築する
HTML5コーディング環境を Dreamweaverで構築する
 
Web programming introduction
Web programming introductionWeb programming introduction
Web programming introduction
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
 
勉強会資料①
勉強会資料①勉強会資料①
勉強会資料①
 
Mvc conf session_2_shibamura
Mvc conf session_2_shibamuraMvc conf session_2_shibamura
Mvc conf session_2_shibamura
 

More from Sho Okada

AppleシリコンのMacで Windows11を動かす
AppleシリコンのMacで Windows11を動かすAppleシリコンのMacで Windows11を動かす
AppleシリコンのMacで Windows11を動かすSho Okada
 
ChatAIの未来予想図
ChatAIの未来予想図ChatAIの未来予想図
ChatAIの未来予想図Sho Okada
 
勉強会参加のすゝめ
勉強会参加のすゝめ勉強会参加のすゝめ
勉強会参加のすゝめSho Okada
 
ASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さSho Okada
 
WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術Sho Okada
 
いままで聴いてきたLTのおはなし
いままで聴いてきたLTのおはなしいままで聴いてきたLTのおはなし
いままで聴いてきたLTのおはなしSho Okada
 
Excel取込みで失敗した先生
Excel取込みで失敗した先生Excel取込みで失敗した先生
Excel取込みで失敗した先生Sho Okada
 
今のWeb開発者に伝えたいWebブラウザの病みの歴史
今のWeb開発者に伝えたいWebブラウザの病みの歴史今のWeb開発者に伝えたいWebブラウザの病みの歴史
今のWeb開発者に伝えたいWebブラウザの病みの歴史Sho Okada
 
SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集Sho Okada
 
オープンソースでExcelレポートプログラミング
オープンソースでExcelレポートプログラミングオープンソースでExcelレポートプログラミング
オープンソースでExcelレポートプログラミングSho Okada
 
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話Sho Okada
 
メガネ型デバイスの未来について考える
メガネ型デバイスの未来について考えるメガネ型デバイスの未来について考える
メガネ型デバイスの未来について考えるSho Okada
 
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠WPF開発での陥りやすい罠
WPF開発での陥りやすい罠Sho Okada
 
止めないためのWEBインフラ入門
止めないためのWEBインフラ入門止めないためのWEBインフラ入門
止めないためのWEBインフラ入門Sho Okada
 
ASP.NETを利用したAJAX開発の応用
ASP.NETを利用したAJAX開発の応用ASP.NETを利用したAJAX開発の応用
ASP.NETを利用したAJAX開発の応用Sho Okada
 
初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本Sho Okada
 

More from Sho Okada (16)

AppleシリコンのMacで Windows11を動かす
AppleシリコンのMacで Windows11を動かすAppleシリコンのMacで Windows11を動かす
AppleシリコンのMacで Windows11を動かす
 
ChatAIの未来予想図
ChatAIの未来予想図ChatAIの未来予想図
ChatAIの未来予想図
 
勉強会参加のすゝめ
勉強会参加のすゝめ勉強会参加のすゝめ
勉強会参加のすゝめ
 
ASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さ
 
WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術
 
いままで聴いてきたLTのおはなし
いままで聴いてきたLTのおはなしいままで聴いてきたLTのおはなし
いままで聴いてきたLTのおはなし
 
Excel取込みで失敗した先生
Excel取込みで失敗した先生Excel取込みで失敗した先生
Excel取込みで失敗した先生
 
今のWeb開発者に伝えたいWebブラウザの病みの歴史
今のWeb開発者に伝えたいWebブラウザの病みの歴史今のWeb開発者に伝えたいWebブラウザの病みの歴史
今のWeb開発者に伝えたいWebブラウザの病みの歴史
 
SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集
 
オープンソースでExcelレポートプログラミング
オープンソースでExcelレポートプログラミングオープンソースでExcelレポートプログラミング
オープンソースでExcelレポートプログラミング
 
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話
 
メガネ型デバイスの未来について考える
メガネ型デバイスの未来について考えるメガネ型デバイスの未来について考える
メガネ型デバイスの未来について考える
 
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
 
止めないためのWEBインフラ入門
止めないためのWEBインフラ入門止めないためのWEBインフラ入門
止めないためのWEBインフラ入門
 
ASP.NETを利用したAJAX開発の応用
ASP.NETを利用したAJAX開発の応用ASP.NETを利用したAJAX開発の応用
ASP.NETを利用したAJAX開発の応用
 
初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本
 

Recently uploaded

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
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
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
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
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (9)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
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の勉強会で発表されたものです。
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
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
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 

WebMatrixに対応した、新しいけど新しくないRazor

  • 2. アジェンダ  HTMLの歴史  WebMatrixの紹介  Razorとは  Razor構文の説明  他言語との比較  Helperを使ってみる  まとめ
  • 3. HTMLの歴史  シンプルな静的表示時代 通常のHTMLタグしか使わない表示 JavascriptやCSSなどは使わずに表示しているためブラウザ依存せ表示できた  動きのある静的表示時代 DynamicHTML時代(DHTML、IE4.0以降) 対応ブラウザ側でスタイルやJavascriptを動かすため非対応ブラウザでは うまく再現されず変な動きにることがよあった (ブラウザごとでJavascriptを記述して対応する必要があった)  シンプルな動的表示時代 CGIやクラッシASP、PHPなどのスクリプト言語を使用してHTML表示を サーバ側で制御きるようになった これにより、サーバデタを保持できるうなっためショップイトど 運用できるようになった
  • 4. HTMLの歴史  プログラムと連携した拡張表示時代 クライアントに事前コポーネ(ドオ)をスルすることで ブラウザ側でActiveXオブジェクトとして連携表示する Flashなど特にアニメーションで利用された (アドイン配布方法やセキュリティ面の課題があった)  ちかしないWeb2.0時代 非同期通信とJavascript(Ajax)を連携することにより、 単一画面でデータ連携したHTML表示を切り替えることが可能なった  HTMLの進化 やっと各ブラウザでW3C準拠表示に切り替えることよ、デザイン崩れのない 表示が可能となってきた また、新時代のHTMLとして新機能がHTML5で追加提言されたことアドオンを利用せず動的な表示が可能とる
  • 5. WebMatrixの紹介  Microsoftより無償で提供されている動的Webサイトを作成可能 なツール http://www.microsoft.com/web/webmatrix/ IIS7.5エクスプレと連携するこで、ASP.NETはもちろん オープンソスのPHPなどのWeb開発を行うことができる (HTML、XML、CSS、C#、VB、Javascript、PHP、クラッシASP、SQLに対応) さらにはWebPlatformInstaller 3.0でさまざなオープンソスCMSを 簡単に導入することが可能 CMS:コンテツマネージメトシスム ベースとなる機能がパッケジ化されていため、コンテツモュルを 追加するだけでプログラムなしも簡単に複雑サイトを構築きWordPress、Xoops、Drupal、DotNetNukeなど
  • 6. Razorとは  WebMatrixとASP.NET(MVC)で利用きるシンプルなビューエジScott Guthrie氏のブログより http://www.atmarkit.co.jp/fdotnet/scottgublog/20100714razor/razor.html 設計目標: いくつかの設計目標があったで、“Razor”をプロトタイ化し評価また。 コンパクトさ、表現的流動: Razorはファイルに必要な文字やキーストロクの数を最小化し、高速で流動的コーディング・ワクフロを可能にします。 多くのテンプレート文法とは違い、HTML内で明示的にサーバ・ブロックをすための コーディングが必要ありません。パサはこれをドから推測できるようになっていすこのために、非常コンパクトで表現的な文法が可能りリー素早く楽しタイプできます。 簡単に習得: Razorは簡単に習得できるの、最小限概念素早く実用的なります。 使用するのはべて既存言語やHTMLのスキルです。
  • 7. Razorとは 新しい言語ではありません: Razorでは意識的に新しい命令言語を作成なようまた。 その代わり、開発者が既存C#/VB(またはそのほか)言語スキルをRazorで使用 できるようにし、選択た言語素晴らいHTML構築のワークフロを可能にする テンプレート・タグの文法を提供するようにしまた。 テキスト・エディタでの作業: Razorでは特別なツール必要く、プレン昔がらのテキスト・エディタも生産的に 使えます(メモ帳アプリでもしっかりと動き)。 優れたIntelliSenseを完備: Razorは特別なツールやコド・エディタを必要としい設計にってますが、 Visual Studioでは素晴らしいステートメン補完のサポがあります。Visual Studio 2010や Visual Web Developer 2010を更新して、完全なIntelliSenseが装備されるようにす予定で。
  • 8. Razorとは 単体テストが可能: 新しいビュー・エンジの実装により、単体テストが可能なます (コントローラやWebサーバを必要とせず、すべての単体テスト・プロジェクでホ可能。 特別なアプリケーション・ドメイも不要です)。 ・らしいです。 ちなみにASP.NET MVCに対応したビュー・エンジとては、 NVelocity、NDjango、NHaml、Spark、Brailがあります。
  • 9. Razor構文の説明 Razor構文は「@」シンボルを利用したプなコード記述です そのため、通常HTMLデザインコードを崩さない形でのィグが可能す また、新しい言語ではなの制御構文もVBやC#のそまコードが 利用できます 基本的にメイン処理コードを @{}の中で処理して、された変数や関をコードナゲット方式HTMLタグの中に組み込む形をとります
  • 10. Razor構文の説明 Razor: @{ Page.Title= "Welcome to my Web Site!"; varpasswordErrorMessage= “Password Error”; } <html> <head></head> <body> <div> @if (!passwordErrorMessage.IsEmpty()) { <label for="password" class="validation-error"> @passwordErrorMessage</label> } </div> </body> </html> メインコードを記述 HTML部分に組み込(シンプルに記述できる)
  • 11. 他言語との比較 他のコードと比べてみます 余計なタグどがいため、HTMLとしてもかなり可読性が高くっいます Razor: @{//データベスとの接続処理コドを記入(省略)} <table> @for (int i = 0; =10; i++) { <tr> <td>@i</td> <td>@rs[“name”]</td> <td><input type=“text” value=“@rs[“phone”]”/></td> </tr> } </table>
  • 12. 他言語との比較 クラッシASP and ASP.NETコードナゲット: <%‘データベスとの接続処理コドを記入(省略)%> <table> <% Fori=0 to 10%> <tr> <td><%= i%></td> <td><%= rs(“name”) %></td> <td><input type=“text” value=‘<% = rs(“phone”) %>’ /></td> </tr> <% Next%> </table>
  • 13. 他言語との比較 PHP: <?php#データベスとの接続処理コドを記入(省略)?> <table> <?phpfor($i=1;$i<=10;$i++){ ?> <tr> <td><?phpecho $i; ?></td> <td><?phpecho $rs[“name”]; ?></td> <td><input type=“text” value=‘<?phpecho $rs[“phone”]; ?>’ /></td> </tr> <?php} ?> </table>
  • 14. Helperを使ってみる Twitter Helper for WebMatrix:http://twitterhelper.codeplex.com/ TwitterのHelperがあるのでこちらを使ってみます サイトからHelperのソースファイルをダウンロドして標準テプレトジェクに 追加します
  • 15. Helperを使ってみる Twitter Helper for WebMatrix: Default.cshtmlにHelperのコードを追加(ハッシュタグ「#razor」で検索させる) @{ Layout = "~/_SiteLayout.cshtml"; Page.Title= "Welcome to my Web Site!"; } <p> @Twitter.Search(“#razor") </p>
  • 16. Helperを使ってみる Twitter Helper for WebMatrix: 実行するとたっ1追加だけで、こんな感じにHelperの機能が便利に使えます
  • 17. まとめ  かなりコードが短く表現できる 一度覚えてしまば、めんどくさがりには強力つかえる。  シンプルでわかりやすい 初心者でも見た目わかりやすいの、デザインし。  ヘルパーが強力 簡単に使えて面白いヘルパーが今後出くる可能性あり。期待大 知っている人ならけど・表示制御だけなら初心者でも問題いが、細かをするためには やっぱりC#orVB.NETを覚える必要あり。
  • 18. 参考資料  @IT“Razor”の紹介- ASP.NET向け新ビュー・エンジhttp://www.atmarkit.co.jp/fdotnet/scottgublog/20100714razor/razor.html  MicrosoftWebMatrixhttp://www.microsoft.com/web/webmatrix/ ご清聴ありがとうざいました。