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
0
3.2k
Как писать UI без боли: React + ClojureScript
Александр Соловьев
fwdays
April 29, 2014
Tweet
Share
More Decks by fwdays
See All by fwdays
Symfony best practices и не только Олег Зинченко
fwdays
0
2.1k
Beyond Testing Михаил Боднарчук
fwdays
0
810
Yii2 - на пути от Alpha до GA. Взгляд с практической стороны Александр Бордун
fwdays
0
1.9k
Laravel 4: простота во всем. Евгений Косинский
fwdays
0
1k
Маленькая библиотека для большой компании. Антон Шевчук
fwdays
0
3.8k
Phalcon. Что нового? Александр Торош
fwdays
0
1.2k
Выбираем поисковик умом головы. Андрей Аксенов
fwdays
0
1.4k
Past, Present, and Future: The Evolution of PHP Development. Nate Abele
fwdays
0
810
Функциональный тулчейн Nix
fwdays
1
480
Other Decks in Programming
See All in Programming
CSC307 Lecture 07
javiergs
PRO
0
540
.NET Conf 2025 の興味のあるセッ ションを復習した / dotnet conf 2025 quick recap for backend engineer
tomohisa
0
130
Grafana:建立系統全知視角的捷徑
blueswen
0
320
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
220
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
130
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
970
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
290
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
260
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
17
5.6k
Data-Centric Kaggle
isax1015
2
750
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Code Reviewing Like a Champion
maltzj
527
40k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Code Review Best Practice
trishagee
74
20k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
Test your architecture with Archunit
thirion
1
2.1k
Abbi's Birthday
coloredviolet
1
4.6k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
160
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