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
JSXをモダンな感じで開発してみた
Search
cancer
January 21, 2015
Technology
500
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JSXをモダンな感じで開発してみた
2015/1/21 koba04 さんとワイワイJavaScript勉強会 #ajiting で発表した資料
cancer
January 21, 2015
More Decks by cancer
See All by cancer
AngularJSで作ったアプリをReactで置き換えてみた
cancer
0
240
CSSスプライトを動的生成して快適ソシャゲ開発
cancer
1
270
JavaScriptでKeyframeAnimationを作ってみた
cancer
1
90
第2回 Sass勉強会 in 社内
cancer
1
82
Other Decks in Technology
See All in Technology
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
130
こんなアーキテクチャ図は嫌だ BEYOND THE TIME: 半年後の自分へ贈る15のメッセージ / 15 of Anti-pattern in AWS Architecture Diagrams
naospon
3
270
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
1
220
Snowflakeのコスト最適化を支えるアーキテクチャ設計
ktatsuya
0
880
生成AIのテナント制御とシャドーMCP対策 | AIを"止めずに"、情報を守る
yukun
0
130
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
260
AI時代に、プロダクトの数だけ積み上がる所有コストをどうエンジニアリングするか / Engineering the Cost of Ownership
kzkmaeda
1
1.1k
ブラウザアプリの継続的パフォーマンスモニタリング (序) / Continuous Browser Application Performance Monitoring; Act 1
moznion
0
120
enechainの内製セルフサービスプラットフォーム
hiyosi
0
140
V8コントリビュート超入門
riyaamemiya
0
150
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
130
Code4Lib JAPANカンファレンス2026 開会挨拶 / Code4Lib JAPAN Conference 2026: Opening Remarks
ykiyota
0
230
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Code Review Best Practice
trishagee
74
20k
Mobile First: as difficult as doing things right
swwweet
225
10k
Building Adaptive Systems
keathley
44
3.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
230
How to build a perfect <img>
jonoalderson
1
6k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
690
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
370
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
Navigating Team Friction
lara
192
16k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
Transcript
JSX をモダンな感じで開発 してみた
自己紹介 宇野 陽太( ) @cancer6 株式会社ピクセルグリッド(2015/1~) AngularJS / Backbone /
React あたりを触ったり CSS の設計したりなど
JSX
... ではなく
None
... でもなく
Adobe JSX
What is Adobe JSX http://en.wikipedia.org/wiki/ExtendScript 正式名称はExtendScript( たぶん) レイヤー 編集やファイル作成などの操作ができる Photoshop
用のスクリプト(JS) Photoshop CS の頃からある Photoshop の内部にあるJS エンジンで実行 ES3 相当 / JSON とかsetTimeout とか使えない Photoshop Script とかAdobe JSX とかとも呼ばれてる ExtendScript Toolkit というIDE がある
Architecture
Architecture 3,4 年ぐらい前に作ったものをリファクタリングする CoffeeScript gulp gulp-coffee gulp-concat(include 用) gulp-rename( 拡張子.js
を.jsx に直す) (and more) Underscore
#include ExtendScript では外部ファイルを\#include で読み込むこと ができる #include "lib/underscore.js"; #include "actions/action.js"; #include
"module/a.js"; #include "module/b.js"; 開発中はinclude.jsx とapp.jsx だけconcat し、 ビルド時に全部結合していました ( 理由は覚えてない...)
Test
テストフレー ムワー ク 実行環境がPhotoshop or ExtendScript Toolkit レイヤー オブジェクトや独自のファイルオブジェクトなど がある
ブラウザやター ミナル上で実行するのが難しい
テストダブル Photoshop のエンジンがいつものJS と違う sinon.js 使おうとするもsetTimeout が無くてエラー が出る
なので自分で作る ocha.js mocha / jasmine ライクに書けるフレー ムワー ク sinobi.js sinon.js
ライクに書けるテストダブル それぞれ最低限のテストが書ける程度に作って ExtendScript Toolkit から実行する
今回はやらなかったけど... https://github.com/adobe-photoshop/generator-core Generator プラグインにするとよりモダンに Photoshop CC から利用可能 Photoshop の中にNode.js サー
バー が組み込まれてる terminal などからGeneratorCore を起動することで接続で きる
ご清聴ありがとうございました