zamyakin

56

Upload: kuchinskaya

Post on 22-Jun-2015

278 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Zamyakin
Page 2: Zamyakin
Page 3: Zamyakin
Page 4: Zamyakin

Вёрстка

Page 5: Zamyakin
Page 6: Zamyakin

<div class="event event_past"></div>

<div class="sidebar sidebar_left"></div>

<div class="wrapper has-sidebar_left"></div>

Page 7: Zamyakin
Page 8: Zamyakin

var nodes = this.node.find(“.todo”);

for (var i = 0, l = nodes.length; i < l; i++) {

nodes.eq(i).addClass(“todo_hidden”);

}

Page 9: Zamyakin

var nodes = this.node.find(“.todo”);

nodes

.closest(“.container”)

.addClass(“without-todo”)

Page 10: Zamyakin

.container .todo {

display: block;

}

.container_without-todo .todo {

display: none;

}

Page 11: Zamyakin

https://github.com/mailru/fest http://habrahabr.ru/company/mailru/blog/141361/

Page 12: Zamyakin

— IDE

— Валидация из коробки

— SAX, XSLT, XSD, DTD ...

— XML to XML

Page 13: Zamyakin
Page 14: Zamyakin

3ms

Page 15: Zamyakin

<div>

<fest:attributes>

<fest:attribute name="class">

<fest:text>event</fest:text>

<fest:if test="end > now">

<fest:text>event_past</fest:text>

</fest:if>

<fest:if test="!event.is_writeable">

<fest:text>event_readonly</fest:text>

</fest:if>

<fest:if test="event.is_temporary">

<fest:text>event_temporary</fest:text>

</fest:if>

</fest:attribute>

</fest:attributes>

</div>

Page 16: Zamyakin

<div>

<fest:attributes>

<fest:attribute name="class">

<fest:text>event</fest:text>

<fest:if test="end > now">

<fest:text>event_past</fest:text>

</fest:if>

<fest:if test="!event.is_writeable">

<fest:text>event_readonly</fest:text>

</fest:if>

<fest:if test="event.is_temporary">

<fest:text>event_temporary</fest:text>

</fest:if>

</fest:attribute>

</fest:attributes>

</div>

Page 17: Zamyakin

<div>

<fest:attributes>

<fest:attribute name="class">

event

<fest:if test="end > now">

event_past</fest:text>

</fest:if>

<fest:if test="!event.is_writeable">

<fest:text>event_readonly</fest:text>

</fest:if>

<fest:if test="event.is_temporary">

<fest:text>event_temporary</fest:text>

</fest:if>

</fest:attribute>

</fest:attributes>

</div>

Page 18: Zamyakin

<div>

<fest:attributes>

<fest:attribute name="class">

<fest:text>event</fest:text>

<fest:if test="end > now">

<fest:text>event_past</fest:text>

</fest:if>

<fest:if test="!event.is_writeable">

<fest:text>event_readonly</fest:text>

</fest:if>

<fest:if test="event.is_temporary">

<fest:text>event_temporary</fest:text>

</fest:if>

</fest:attribute>

</fest:attributes>

</div>

Page 19: Zamyakin

<div class="event event_past event_temporary"></div>

Page 20: Zamyakin

<div class="event event_past event_temporary"></div>

Page 21: Zamyakin

<div class="event event_past event_temporary"></div>

Page 22: Zamyakin

Javascript

Page 23: Zamyakin
Page 24: Zamyakin
Page 25: Zamyakin

jQueryMX http://javascriptmvc.com/docs.html#!jQuery.Class

Page 26: Zamyakin

var that = this;

this.node

.find(".g-button")

.on("click", function() {

that.addCalendar();

})

Page 27: Zamyakin

var that = this;

window.setTimeout(function() {

that.update();

}, 30)

Page 28: Zamyakin

this.node

.find(".g-button")

.on("click", this.addCalendar.bind(this))

window.setTimeout(this.update.bind(this), 30)

Page 29: Zamyakin

this.node

.find(".g-button")

.on("click", this.addCalendar)

window.setTimeout(this.update, 30)

Page 30: Zamyakin

someMethod: function() {

methodBody

}

Page 31: Zamyakin

someMethod: function() {

try {

methodBody.apply(this, arg)

} catch (e) {

// processError

}

}

Page 32: Zamyakin
Page 33: Zamyakin
Page 34: Zamyakin
Page 35: Zamyakin
Page 36: Zamyakin
Page 37: Zamyakin

window.onerror = function(errorMsg, url, lineNumber) { … }

Page 39: Zamyakin
Page 40: Zamyakin
Page 42: Zamyakin

<script src="//static.calendar.mail.ru" />

Page 43: Zamyakin

<script src="//static.calendar.mail.ru" />

Page 44: Zamyakin

Идеи

Page 45: Zamyakin
Page 46: Zamyakin
Page 47: Zamyakin
Page 48: Zamyakin
Page 49: Zamyakin
Page 50: Zamyakin
Page 51: Zamyakin

API

Page 52: Zamyakin

О чём надеемся рассказать в следующий

раз

Page 53: Zamyakin

- Векторные иконки

- Оффлайн-режим

- Аналог tzdata в браузере

- Интернационализация

- Вебсокеты

Page 54: Zamyakin
Page 55: Zamyakin
Page 56: Zamyakin

Константин Замякин

п р о г р а м м и с т, К а л е н д а р ь @ M a i l . r u

k . z a m y a k i n @ c o r p . m a i l . r u