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
Web技術の現状と感情
Search
rxon
July 16, 2017
Programming
2
1.1k
Web技術の現状と感情
原稿付き記事:
https://rxon.now.sh/webKanjyo.md
rxon
July 16, 2017
Tweet
Share
Other Decks in Programming
See All in Programming
Blazing Fast UI Development with Compose Hot Reload (droidcon London 2025)
zsmb
0
440
CSC509 Lecture 08
javiergs
PRO
0
270
CSC509 Lecture 10
javiergs
PRO
0
160
CSC305 Lecture 12
javiergs
PRO
0
250
Temporal Knowledge Graphで作る! 時間変化するナレッジを扱うAI Agentの世界
po3rin
5
1.2k
Swift Concurrency 年表クイズ
omochi
3
220
Introducing RemoteCompose: break your UI out of the app sandbox.
camaelon
2
390
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
860
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
730
品質ワークショップをやってみた
nealle
0
880
Amazon ECS Managed Instances が リリースされた!キャッチアップしよう!! / Let's catch up Amazon ECS Managed Instances
cocoeyes02
0
120
Node-REDのノードの開発・活用事例とコミュニティとの関わり(Node-RED Con Nagoya 2025)
404background
0
110
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
4 Signs Your Business is Dying
shpigford
186
22k
Six Lessons from altMBA
skipperchong
29
4k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Fireside Chat
paigeccino
41
3.7k
Designing for humans not robots
tammielis
254
26k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Transcript
Webٕज़ͷ ݱঢ়ͱײ by rxon
rxon ݝཱ͓͖ͩΕ͍͖Ε͍େֶηΫγʔϓϩάϥϛϯάֶՊҰճੜ ϑϩϯτΤϯυμΠλΠϫΧϧ όοΫΤϯυϋφϯτφΫ
Webٕज़ Web ϞόΠϧ σεΫτοϓ etc… React Native, Ionic Electron(Chromium and
Node.js) ↘︎ addon→C++
Web WebαΠτ ී௨ͷwebϖʔδ WebΞϓϦέʔγϣϯ WebϓϥοτϑΥʔϜ্ͷΫϥΠΞϯταΠυ ΞϓϦέʔγϣϯ
WebΞϓϦέʔγϣϯ ϑϩϯτΤϯυ ΫϥΠΞϯταΠυ όοΫΤϯυ αʔόʔαΠυ Node.js(V8+͍Ζ͍Ζ) WAF: express, koa
ݱঢ়
Single Page Application 1ϖʔδ্ʹؾ߹ͰΫϥΠΞϯταΠυΞϓϦ έʔγϣϯΛߏங͢Δ ঢ়ଶભҠͷཧ JSONͷऔಘ ͦͷଞϒϥβͷॾػೳΛ࠶࣮
SPAͷ࡞Γํ React.jsͰcomponentsΛͱΓ͍͋͑ͣͬͺ͍࡞Γɺ ReduxͰঢ়ଶΛཧɺΠϕϯτʹdispatchΛ༩͢ ΔɻσʔλऔಘʹaxiosΛ͍ɺϧʔςΟϯάʹ react-routerɻॾʑͰ͖ͨΒbabelͰJSͷτϥϯεύ ΠϧPostCSSΛ͠ͳ͕ΒWebpackͰґଘղܾͯ͠ bundle.jsΛग़ྗɻόοΫΤϯυʹREST JSON API Λ༻ҙ͠ɺServer-Side
Renderingߦ͏ɻ
ײ
None
None
None
minimalist
ϛχϚϜͳߏͰ ͳΜ͔࡞Γ͍ͨ
ͦ͏͍ٕज़ϒϩά WordPressɹϑΝΠϧଟ͗͌͢ TumblrɹCLI͔Β͑ͳ͍ ੩తαΠτδΣωϨʔλʔɹຖճbuild͕ඞཁ
ཁ݅ ฤूlocal md(textlint͏ͨΊ deployͷone commendͰߋ৽ ͱʹ͔͘ϛχϚϜʹ
files = await fs.readdir(dir) github.com/zeit/serve
rxon/note-2017 ಡΉਓͱॻ͘ਓʹ࠷ߴͷUXΛ༩͑ΔͨΊͷ front-end͚ͩͰͳ͘back-endɺ։ൃڥͱʹ ઈϛχϚϜͳٕज़ϒϩά ϑϩϯτΤϯυɹmustache:163ߦ(CSS:68ߦ) όοΫΤϯυɹNode.js:133ߦ typobrowserʹґଘ
Έ [ 'crossPlatformYu.md', 'minCMS.md', 'semicolon.md', 'webpackSmallArt.md' ] fs.readdir(); [{ title:
'ੈք࠷খͷCMS', description: 'ϛχϚϜ date: '2017-03-09', url: 'minCMS.md', html: null }, { title: 'ᕟΰγοΫΛҰॠ description: '͜Εε md͔Βਖ਼نදݱͰ ϝλσʔλΛऔΓग़͢ هࣄϖʔδ͜ΕʹhtmlΛ͚ͭΔ
None
None
৽نੑ ଟ
ੈք࠷খͷ CMS(ଟ)(ٛ) ଟ
None
ͦ͏ݴͬͯ
“ΞϓϦέʔγϣϯ”Λ ࡞Δͱ͖SPAʹ͍ͨ͠
ଥڠɺબఆɺɻ mithrilɹAPI13ݸ(< 8kb gzip) ɺҰ௨ΓೖͬͯΔ koaɹsubstack wayɺࣗ༝ͳදݱɺtjͷਪ͠ + JWT auth
without password
JSON Web Token auth without password 1. email form 2.
/auth?email=${email}&token=${token} Λฦ৴ 3. tokenΛcookieʹೖΕɺ͜ΕΛجʹೝূͯ͠ϦΫ Τετ ख͕ΊͬͪΌগͳ͍
࠷ޙʹ
ϑϩϯτΤϯυͷָ͠Έํ
Web։ൃͷָ͠Έํ ंྠ͍͍ײ͡ͷlibraryͰαΫοͱย͚ɺ ѹతൃྗͰ৽نੑΛੜΈग़͠ɺͦ͜ʹूத͢Δɻ
ऴ