Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Как писать UI без боли: React + ClojureScript
fwdays
April 29, 2014
Programming
0
2.9k
Как писать UI без боли: React + ClojureScript
Александр Соловьев
fwdays
April 29, 2014
Tweet
Share
More Decks by fwdays
See All by fwdays
Symfony best practices и не только Олег Зинченко
fwdays
0
1.7k
Beyond Testing Михаил Боднарчук
fwdays
0
550
Yii2 - на пути от Alpha до GA. Взгляд с практической стороны Александр Бордун
fwdays
0
1.5k
Laravel 4: простота во всем. Евгений Косинский
fwdays
0
750
Маленькая библиотека для большой компании. Антон Шевчук
fwdays
0
3.6k
Phalcon. Что нового? Александр Торош
fwdays
0
820
Выбираем поисковик умом головы. Андрей Аксенов
fwdays
0
1.1k
Past, Present, and Future: The Evolution of PHP Development. Nate Abele
fwdays
0
580
Функциональный тулчейн Nix
fwdays
1
310
Other Decks in Programming
See All in Programming
VisualProgramming_GoogleHome_LINE
nearmugi
1
240
Running Laravel/PHP on AWS (AWS Builders Day Taiwan 2022)
dwchiang
0
170
プロダクトのタイプ別 GraphQL クライアントの選び方
shozawa
0
5.7k
【Scrum Fest Osaka 2022】スクラムチームに放り込まれた若手エンジニアの皆さん、どのように技術のキャッチアップをしていくかイメージはついていますか?
miiiki
0
120
BASE BANKチームの技術選定と歴史 / how to decide technology selection for startup
budougumi0617
0
1.4k
Improving Developer Experience Through Tools and Techniques 2022
krzysztofzablocki
0
1.2k
#JJUG_CCC 「サポート」は製品開発? - JDBCライブラリ屋さんが実践する攻めのテクニカルサポートとJavaエンジニアのキャリアについて -
cdataj
0
430
A Philosophy of Software Design 後半
yosuke_furukawa
PRO
10
2.8k
[월간 데이터리안 세미나 6월] 스스로 성장하는 분석가 커리어 이야기
datarian
0
250
マルチプロダクト×非構造化データ×機械学習を支えるデータ信頼性
akino
0
160
Imperative is dead, long live Declarative! | Appdevcon
prof18
0
110
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
250
Featured
See All Featured
Building Applications with DynamoDB
mza
83
4.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
315
19k
Fireside Chat
paigeccino
12
1.3k
GraphQLとの向き合い方2022年版
quramy
16
8.3k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
100
5.9k
Teambox: Starting and Learning
jrom
123
7.7k
Pencils Down: Stop Designing & Start Developing
hursman
112
9.8k
Web development in the modern age
philhawksworth
197
9.3k
Build The Right Thing And Hit Your Dates
maggiecrowley
19
1.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
224
49k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
269
11k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.3k
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