SlideShare a Scribd company logo
1 of 39
Download to read offline
     東北デベロッパーズコミュニティ
                  Sendai.html5 #2




スマートフォンサイト製作とHTML5+CSS3



               有限会社ノヴァトレード
                     若林 怜帆人
                   2012年6月30日
有限会社ノヴァトレード

若林 怜帆人(わかばやし れおと)
東京出身
亘理で5年間ウェブシステム開発
HTML+CSS約12年
LAMP 6年

@rw_nue
FB : reoto.wakabayashi
アジェンダ

・概要
・スマートフォンサイト基礎
・HTML5とスマートフォンサイト
・CSS3とスマートフォンサイト
・CSS3ジェネレータの使い方
・まとめ
本編の前に・・
トルコ語講座
トルコ共和国



    トルコ共和国(トルコきょうわこく、トルコ語: Türkiye
Cumhuriyeti)、通称トルコは、西アジアのアナトリア半島(小ア
ジア)と東ヨーロッパのバルカン半島東端の東トラキア地方を領
有する、アジアとヨーロッパの2つの大州にまたがる共和国。首都
             はアナトリア中央部のアンカラ。

    http://ja.wikipedia.org/wiki/%E3%83%88%E3%83%AB%E3%82%B3
世界三大料理
ドンドゥルマ
ドネルケバブ
 ヨーグルト
トロイの木馬
トルコ語・・・アルタイ諸語

 定説には至っていないが
 日本語もアルタイ諸語に
   含めることがある
   (wikipedia アルタイ諸語)
発音練習
日本語にない母音

Ö      
Ü      
İ      
日本語にない母音

Ö おの口でえ
Ü うの口でい
İ いの口でう
スマートフォンサイト基礎
スマートフォンサイトの特徴

     画面が小さい
      タッチ操作
     縦横比が可変
      回線が遅い
製作においてHTML5+CSS3前提
対応状況を調べる



http://www.findmebyip.com/litmus/

       http://caniuse.com/
スマートフォンならではの
     コンテンツ


SPからの利用を想定したコンテンツ
    PCと利用機会が異なる
       SNSとの連携
PCサイトのスマートフォン閲覧対応



  元々PC向けだったコンテンツを
 スマートフォンからの閲覧も考慮して
       最適化を行う
PCサイトのスマートフォン閲覧対応



1.専用コンテンツに振り分ける
2.@mediaルール(CSS3 Media Queries)
3.そのまま
専用コンテンツに振り分ける



  .htaccessでディレクトリを
アプリケーションでテンプレートを
          振り分ける
.htaccess
というよりは
mod_rewrite
UAにSPぽいものが含まれていたら
/sp/アクセスしたファイル名に転送

 RewriteEngine On
 RewriteCond %{HTTP_USER_AGENT} (iPhone|
iPod|iPad|Android|BlackBerry)
 RewriteRule ^sp - [L]
 RewriteCond %{HTTP_USER_AGENT} (iPhone|
iPod|iPad|Android|BlackBerry)
 RewriteRule ^(.*)$ /sp/$1 [R]
アプリケーションで
          テンプレート切り替え

例) CakePHP
AppController.phpのbeforeFilter
(必ず通る処理)
if(preg_match('!iPhone|iPod|Android|BlackBerry!' , $ua))
{
  $this->layout = 'smartphone';
}
@mediaルール(Media Queries)


    @media ルールで
  適用させるcssファイルを
      振り分ける

    http://m.yahoo.co.jp/
そのまま



タッチ操作やズームを考慮して
 SPからも使いやすいように
   一部要素を最適化する
スマートフォンサイトの特徴に沿った施策



 画面が小さい・・UI、表示コンテンツ
 タッチ操作・・UI、リンク、メニュー
 縦横比が可変・・リキッドデザイン
 回線が遅い・・リクエストやファイル
 サイズを減らす
題材の紹介
HTML5とスマートフォンサイト
DOCTYPE宣言

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">


                           ↓


                    <!DOCTYPE html>
文字コード指定

<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">


                           ↓


                <meta charset="UTF-8">
section要素
<div id=”header”></div>
<div id=”main_article”></div>
<div id=”footer></div>
↓
<header></header>
<article></article>
<footer></footer>


http://www.w3.org/TR/2011/WD-html5-20110525/sections.html

http://www.w3.org/WAI/GL/wiki/Using_HTML5_section_elements
ソースコードの確認
Web Storage


  ブラウザにデータを蓄積する
  欲しいデータが保存済みなら
   リクエストが発生しない
そのセッションのみのSession Storage
    永続的なLocalStorage
CSS3とスマートフォンサイト
level3セレクタ

         属性セレクタ
          擬似クラス
           擬似要素



http://www.w3.org/TR/selectors/
CSS3プロパティ

           CSS Gradients
           Text Shadow
           Border Radius
            など・・・
http://meiert.com/en/indices/css-properties/
CSS3ジェネレータの使い方
表示速度の違い
おまけですが
    Data URI scheme
WebStorage使ってみました
まとめ

  HTML5+CSS3を使うと
簡潔な記述でリクエストの少ない
 スマートフォンサイト向けの
  コーディングができる
     東北デベロッパーズコミュニティ
              Sendai.html5 #2




ご清聴ありがとうございました



           有限会社ノヴァトレード
                 若林 怜帆人
               2012年6月30日

More Related Content

Similar to Sendai.html5#2

Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようTasuku Otani
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップYasuhito Yabe
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!Shinpei Ohtani
 
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like databaseオフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like databaseyoshikawa_t
 
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
ochacafe#6 人にもマシンにもやさしいAPIのエコシステムochacafe#6 人にもマシンにもやさしいAPIのエコシステム
ochacafe#6 人にもマシンにもやさしいAPIのエコシステムオラクルエンジニア通信
 
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & TipsjQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tipsyoshikawa_t
 
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略takezoe
 
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~Yoshitaka Seo
 
2012年8月10日 勉強会
2012年8月10日 勉強会2012年8月10日 勉強会
2012年8月10日 勉強会Rin Yano
 
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介Tadahiro Higuchi
 
Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)Akira Onishi
 
Apiドキュメンテーションツールを使いこなす【api blueprint編】
Apiドキュメンテーションツールを使いこなす【api blueprint編】Apiドキュメンテーションツールを使いこなす【api blueprint編】
Apiドキュメンテーションツールを使いこなす【api blueprint編】dcubeio
 
インフォグラフィックス時代のD3.js入門
インフォグラフィックス時代のD3.js入門インフォグラフィックス時代のD3.js入門
インフォグラフィックス時代のD3.js入門貴寛 益子
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Akira Inoue
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発Akira Inoue
 
Oktopartial Introduction
Oktopartial IntroductionOktopartial Introduction
Oktopartial IntroductionTakeshi AKIMA
 

Similar to Sendai.html5#2 (20)

Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
 
Mvc conf session_5_isami
Mvc conf session_5_isamiMvc conf session_5_isami
Mvc conf session_5_isami
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!
 
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like databaseオフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database
 
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
ochacafe#6 人にもマシンにもやさしいAPIのエコシステムochacafe#6 人にもマシンにもやさしいAPIのエコシステム
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
 
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & TipsjQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
 
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
 
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~
 
2012年8月10日 勉強会
2012年8月10日 勉強会2012年8月10日 勉強会
2012年8月10日 勉強会
 
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介
 
Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)Web リソースを活用した簡単アプリケーション開発(Windows Phone)
Web リソースを活用した簡単アプリケーション開発(Windows Phone)
 
Apiドキュメンテーションツールを使いこなす【api blueprint編】
Apiドキュメンテーションツールを使いこなす【api blueprint編】Apiドキュメンテーションツールを使いこなす【api blueprint編】
Apiドキュメンテーションツールを使いこなす【api blueprint編】
 
Devtools.next
Devtools.nextDevtools.next
Devtools.next
 
Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発
 
Vue入門
Vue入門Vue入門
Vue入門
 
インフォグラフィックス時代のD3.js入門
インフォグラフィックス時代のD3.js入門インフォグラフィックス時代のD3.js入門
インフォグラフィックス時代のD3.js入門
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
 
Oktopartial Introduction
Oktopartial IntroductionOktopartial Introduction
Oktopartial Introduction
 

Sendai.html5#2