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
780
Yii2 - на пути от Alpha до GA. Взгляд с практической стороны Александр Бордун
fwdays
0
1.9k
Laravel 4: простота во всем. Евгений Косинский
fwdays
0
980
Маленькая библиотека для большой компании. Антон Шевчук
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
780
Функциональный тулчейн Nix
fwdays
1
460
Other Decks in Programming
See All in Programming
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
280
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
400
1から理解するWeb Push
dora1998
7
1.9k
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
350
Navigation 2 を 3 に移行する(予定)ためにやったこと
yokomii
0
350
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
540
Rancher と Terraform
fufuhu
2
550
デザイナーが Androidエンジニアに 挑戦してみた
874wokiite
0
550
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
130
為你自己學 Python - 冷知識篇
eddie
1
350
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
170
🔨 小さなビルドシステムを作る
momeemt
4
690
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Why Our Code Smells
bkeepers
PRO
339
57k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Side Projects
sachag
455
43k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Statistics for Hackers
jakevdp
799
220k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
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