Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Как писать UI без боли: React + ClojureScript
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
fwdays
April 29, 2014
Programming
3.2k
0
Share
Как писать UI без боли: React + ClojureScript
Александр Соловьев
fwdays
April 29, 2014
More Decks by fwdays
See All by fwdays
Symfony best practices и не только Олег Зинченко
fwdays
0
2.1k
Beyond Testing Михаил Боднарчук
fwdays
0
840
Yii2 - на пути от Alpha до GA. Взгляд с практической стороны Александр Бордун
fwdays
0
1.9k
Laravel 4: простота во всем. Евгений Косинский
fwdays
0
1k
Маленькая библиотека для большой компании. Антон Шевчук
fwdays
0
3.9k
Phalcon. Что нового? Александр Торош
fwdays
0
1.2k
Выбираем поисковик умом головы. Андрей Аксенов
fwdays
0
1.5k
Past, Present, and Future: The Evolution of PHP Development. Nate Abele
fwdays
0
830
Функциональный тулчейн Nix
fwdays
1
500
Other Decks in Programming
See All in Programming
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
260
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
920
tRPCの概要と少しだけパフォーマンス
misoton665
2
180
Alternatives to JPA 2026
debop
0
110
JOAI2026 1st solution - heron0519 -
heron0519
0
130
Don't Prompt Harder, Structure Better
kitasuke
0
750
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
130
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
240
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
550
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
330
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
170
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
380
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
120
Marketing to machines
jonoalderson
1
5.2k
Building Adaptive Systems
keathley
44
3k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
210
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
330
Into the Great Unknown - MozCon
thekraken
40
2.4k
AI: The stuff that nobody shows you
jnunemaker
PRO
6
570
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
27
3.4k
Amusing Abliteration
ianozsvald
1
150
Crafting Experiences
bethany
1
110
Transcript
Alexander Solovyov, How Far Games Как писать UI без боли
НИКАК А чего вы ожидали? 2 / 16
За увеличение связности За уменьшение связанности За простоту кода За
гибкость мозга За светлое будущее Надо бороться 3 / 16
React за связность и против связанности ClojureScript за простоту кода
и тренировку мозга Человек за светлое будущее И модель данных тоже хочет о себе заявить Кто будет бороться Тëмное пиво 4 / 16
Полный перерендер, компоненты, етц FRP для бедных Спасает от событий
И от случайной сложности И от тормозов Не без вопросов React 5 / 16
Темплейты вместе с кодом Проблемы React'a 6 / 16
Захватывает свой DOM-элемент полностью Нас это не беспокоит Top-to-bottom часто
не хватает А это беспокоит! Проблемы React'a Темплейты вместе с кодом 7 / 16
POJO Backbone.Model Om, Cortex Полноценная БД? Модель данных 8 /
16
Скорость Соединения данных (joins) Язык запросов Ну и всякое прочее
Требования к БД 9 / 16
DatomicScript {:find [?name ?tour-name] :in [$ ?id] :where [[?id :name
?name] [?id :tournament-id ?tour-id] [?tour-id :name ?tour-name]]} 10 / 16
Представление - React БД - выдумали Человек - есть Интерфейс
между ними? Итак 11 / 16
Простой Продуманный Семантически стройный ClojureScript 12 / 16
Я не писал на этом за деньги :( Но использовал
в команде :) Будет ли это всë работать вместе? 13 / 16
4 человека CLJS 877 loc, Clojure 515 loc, общего 111
loc React 430kb, WarMagnet 1.2mb Min: React 57kb (21kb gzip), WarMagnet 300kb (68kb gzip) Для сравнения, jQuery - 33kb gzip WarMagnet 14 / 16
Очень плотный код paredit сильно помогает К неизменяемость данных надо
привыкать Обратно на JS - больно и обидно :( Ну и что, можно? 15 / 16
http://facebook.github.io/react/ https://github.com/swannodette/om/ https://github.com/levand/quiescent/ https://github.com/mquan/cortex/ http://www.emacswiki.org/emacs/ParEdit Ссылки 16 / 16