Más contenido relacionado スマートフォン時代のWeb制作術 Vol.218. 原 一成 Hara Kazunari
Web Developer
CyberAgent, Inc.
22. PV数 (億PV)
150
133
120
109
104103
99
100
91
85
76
67
61
50 45 47
35
28 30
20 21
17
13
7 9 9 11
3 3 5
2
0
10.1011 12 11.1 2 3 4 5 6 7 8 9 10 11 12 12.1 2 3 4 5 6 7 8 9 10 11 12 13.1
23. PV数 (億PV)
150
133
120
109
104103
99
100
91
85
76
67
61
50 45 47
35
28 30
20 21
17
13
7 9 9 11
3 3 5
2
0
10.1011 12 11.1 2 3 4 5 6 7 8 9 10 11 12 12.1 2 3 4 5 6 7 8 9 10 11 12 13.1
24. 役割の変化
Front Server
Designer
Engineer Engineer
25. 役割の変化
Front Server
Designer
Engineer Engineer
27. 役割の変化
Front Server
Designer
Engineer Engineer
29. 役割の変化
Front Server
Designer
Engineer Engineer
33. スマートフォン
HTML5/CSS3
JavaScript
パフォーマンス
34. スマートフォン
HTML5/CSS3
JavaScript
パフォーマンス
37. 役割の変化
Front Server
Designer
Engineer Engineer
46. jade
base.jade index.jade
!!! 5 extends ./base
html
head block contents
block title div#contents
title Event 20130212
body block append scripts
block header script(src=‘js/core.js’)
block contents
//- load scripts
block scripts
script(src='/js/main.js')
48. express
// create web server
var express = require('express');
var app = express();
app.configure(function() {
// jade setting
app.set('view engine','jade');
app.set('views', path.join(basedir, '/template/
jade'));
// static server setting
app.use(express['static'](path.join(basedir, '/
public')));
});
52. Heroku
・gitと連携
heroku login ・デフォルトは無料
heroku create
git push heroku master ・Add-onで課金
・多くの言語に対応
Ruby/Node/Python/Scalaなど
56. JS独自ライブラリ
chikuwa.js
chikuwa-view.js
chikuwa-dispatcher.js
https://github.com/ameba-proteus/chikuwa.js
58. テンプレートエンジン
Chikuwa HTML
var notiCount = getNotiCount(); <header>
tag( header ) <button class= menu ></button>
.tag( button.menu ).gat() <h1>Ameba</h1>
.tag( h1 ).text( Ameba ).gat() <button class= noti >
.tag( button.noti ) <span class= counter >1</span>
.tag( span.counter ) </button>
.text(notiCount).gat() </header>
.gat();
59. View & Routing
View Routing
$.views({ $.routes( group , {
group.top : { /: {name: top , action: top },
init: function(data) { /:groupId/info : {name: info , action: info }
this.data = data ¦¦ {}; });
},
render: function() { Action
return tag( div ); function top(vars) {
} var view = $.view( group.top );
} page.replace(view);
}); }
60. モジュール別開発
メッセージ サークル
message.js circle.js
message.css circle.css
プロフィール 掲示板
profile.js board.js
profile.css board.css
61. スマートフォン
HTML5/CSS3
JavaScript
パフォーマンス
63. CSS: transform
<div data-parts=”f_body” style=”-webkit-
transform: matrix(0.1, 0, 0, 0.1, 1.8,
-43.7);”>
<img src=”data:~~”>
</div>
<div data-parts=”f_body” style=”-webkit-
transform: matrix(0.99, 0, 0, 0.99, 0.75,
-40.5);”>
<img src=”data:~~”>
</div>