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
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
770
Yii2 - на пути от Alpha до GA. Взгляд с практической стороны Александр Бордун
fwdays
0
1.8k
Laravel 4: простота во всем. Евгений Косинский
fwdays
0
950
Маленькая библиотека для большой компании. Антон Шевчук
fwdays
0
3.8k
Phalcon. Что нового? Александр Торош
fwdays
0
1.1k
Выбираем поисковик умом головы. Андрей Аксенов
fwdays
0
1.4k
Past, Present, and Future: The Evolution of PHP Development. Nate Abele
fwdays
0
760
Функциональный тулчейн Nix
fwdays
1
450
Other Decks in Programming
See All in Programming
A comprehensive view of refactoring
marabesi
0
970
データベースコネクションプール(DBCP)の変遷と理解
fujikawa8
1
270
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
280
複数アプリケーションを育てていくための共通化戦略
irof
10
4k
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
100
Benchmark
sysong
0
230
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
330
エンジニア向け採用ピッチ資料
inusan
0
140
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
150
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
130
Bytecode Manipulation 으로 생산성 높이기
bigstark
2
360
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
310
Featured
See All Featured
The Invisible Side of Design
smashingmag
299
51k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Being A Developer After 40
akosma
90
590k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Agile that works and the tools we love
rasmusluckow
329
21k
GraphQLとの向き合い方2022年版
quramy
46
14k
Rails Girls Zürich Keynote
gr2m
94
14k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Building Adaptive Systems
keathley
43
2.6k
GitHub's CSS Performance
jonrohan
1031
460k
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