ONLYメール Gmail アプリにメールアカウントを追 …...ONLYメール 設定方法①~⑯ Gmail アプリにメールアカウントを追加する 【Android 版 Gmail
まだ間に合うHTML5 - Yeomanで追いつけ!高速webアプリ開発
-
Upload
kohei-kadowaki -
Category
Technology
-
view
6.999 -
download
4
Transcript of まだ間に合うHTML5 - Yeomanで追いつけ!高速webアプリ開発
本日のスライド
● SlideShare● http://www.slideshare.net/kadoppe
● Speaker Deck● https://speakerdeck.com/kadoppe
出会い● 2010/05
● 京都GTUG HTML5 ハッカソンに参加
● JavaScript & HTML5 初心者でした
●その後● HTML5読書会やハッカソンにしつこく参加
● コアメンバーとしてお誘いをうける
いつから使える “HTML5”● A. もう使える●各ブラウザが段階的に対応
● Internet Explorer 9移行
● Mozilla Firefox 3.5移行
● Google Chrome 3.0移行
● Safari 3.1移行
<!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">
<style type=”text/css”>...</style><script type=”text/javascript”>...</script>
! ! !
<style>...</style><script>...</script>
セマンティックなマークアップ● <div> 要素
● コンピュータが意味を解釈するのが難しい
● <article>, <section> 要素などを使うことで● コンピュータが意味を解釈できるように
● スクリーンリーダや検索エンジンが高機能に
<article> <h1>無鉄砲でラーメンを食べてきた</h1>
<p>無性にラーメンが食べたいと思い・・・</p> <p>大行列ができてたけどめげずに並んで・・・</p>
...</article>
参考:ズルいデザイン
ズルいデザイン(3):box-shadowで表現する、「セミフラット」なズルいデザインテクニック (1/2) - @IT http://www.atmarkit.co.jp/ait/articles/1308/21/news008.html
.box { background-color: red; transition: background-color 1s;}
.box:hover { background-color: blue;}
.box { animation: an-animation 2s infinite;}
@keyframes an-animation { 0%, 100% { left: 0px; } 50% { left: 100px; }}
参考:5分でわかるCSS3のグラフィックス機能
「5分でわかるCSS3のグラフィックス機能」サンプルhttp://www.atmarkit.co.jp/fwcr/design/benkyo/webgraphics01/sample.html
便利:Google Fonts
Google Fonts http://www.google.com/fonts
便利:FONTPLUS
FONTPLUS|フォントプラス http://webfont.fontplus.jp/
<canvas id="canvas" width="150" height="150"></canvas>
<script>! var canvas, ctx; canvas = document.getElementById('canvas');! ctx = canvas.getContext('2d');! ! ctx.strokeStyle = "#FF0000";! ctx.strokeRect(25, 25, 100, 100);! ! ctx.fillStyle = "#FFCC00";! ctx.fillRect(25, 25, 100, 100);</script>
事例: Hello Racer
HelloRacer™ WebGL http://helloracer.com/webgl/
navigator.geolocation.getCurrentPosition(function(position) { console.log(position.coords.latitude); // 緯度 console.log(position.coords.longitude); // 経度});
File API●コンピュータ上のファイルを読み込むためのAPI
●使用例:ここにファイルをドロップ
JavaScript でのローカル ファイルの読み込み - HTML5 Rockshttp://www.html5rocks.com/ja/tutorials/file/dndfiles/
事例: Angry Birds
Angry Birds Chrome http://chrome.angrybirds.com/
PhoneGap● スマートフォン用ネイティブアプリ開発フレームワーク● iOS, Android, Windows Phone
● “HTML5”関連技術をつかって開発● HTML5
● CSS
● JavaScript
事例:My Heart Camer
PhoneGap | My Heart Camera http://phonegap.com/app/my-heart-camera/
Firefox OS
ZTE Open Powered by Firefox OS 3G Unlocked Smartphone Orange eBay Exclusive | eBay http://www.ebay.com/itm/331031989534
Tizen
Urban Airship Takes the Stage at the Tizen Developer Conference http://urbanairship.com/blog/2012/05/08/urban-airship-takes-the-stage-at-the-tizen-developer-conference/
ついていく上での問題点
●技術が広すぎる・多すぎる●新技術がどんどん登場する
● API
●大量のJavaScriptライブラリ● Backbone.js, D3.js, Three.js, ◯◯.js, ...
Yo
● Yeomanのプロジェクトを生成●様々なひな形が公開されている
● webapp: 一般的なウェブアプリ用
● backbone: Backbone.js用
● chromeapp: Chrome Web Store用
node.js
●サーバサイドJavaScript実行環境● 詳しいことは知らなくてもOK
●インストール● pkg ファイルをダウンロードするのが簡単http://nodejs.jp/nodejs.org_ja/docs/v0.10/
app ディレクトリの中身● 404.html● bower_components/● images/ : 画像ファイルを配置● index.html● robots.txt● scripts/ : JavaScriptファイルを配置● styles/ : CSSファイル
HTML5 Boilerplate● HTML5でWeb制作を行うときのベストプラクティスを集めたテンプレ● Normalize.css
● Google Analytics導入用タグ
● IE対応
●詳しくは公式を見てくださいhttp://html5boilerplate.com/
HTML5 Boilerplate
● HTML5でWeb制作を行うときのベストプラクティスを集めたテンプレ● Normalize.css
● Google Analytics導入用タグ
● IE対応
Modernizr●ブラウザがサポートしているHTML5・CSS3の機能を自動検出
● <html> 要素の class 属性にサポート状況を出力してくれる
● CSSやJavaScriptで処理を分岐するのに便利
<html class=“js canvas canvastext no-geolocation rgba hsla multiplebgs borderimage borderradius boxshadow opacity cssanimations csscolumns cssgradients cssreflections csstransforms csstransforms3d csstransitions video audio localstorage sessionstorage webworkers applicationcache fontface”>
コードを書く●テキストエディタで自由にコードを編集
● HTML: index.html
● JavaScript
● main.js: 設定関係のコード
● app.js: アプリケーションのコード
● CSS: main.scss
require.config({ paths: { d3: '../bower_components/d3/d3' }, shim: { d3: { exports: 'd3' } }});
main.js におまじない追加
※ RequireJSのD3.js読み込み設定
さらに開発を高速化● CoffeeScript を使う
● コンパイルするとJavaScriptになる言語
● 同じことをよりシンプルに実現できる
● Sass(SCSS)を使う● コンパイルするとCSSになる言語
● 変数やmixin(関数)、入れ子構造が可能
.wrapper .inner a { text-decoration: none;}.wrapper .inner a:hover { text-decoration: underline;}
! ! !
.wrapper { .inner { a { text-decoration: none; &:hover { text-decoration: underline; } } }}