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
Mastodonのフロントエンド実装 / Frontend of Mastodon
Search
Yamagishi Kazutoshi
December 08, 2018
Technology
4
710
Mastodonのフロントエンド実装 / Frontend of Mastodon
Frontend Conference Fukuoka 2018 (
https://frontend-conf.fukuoka.jp/
) で話した内容になります。
Yamagishi Kazutoshi
December 08, 2018
Tweet
Share
More Decks by Yamagishi Kazutoshi
See All by Yamagishi Kazutoshi
MastodonとActivityPubとそこから繋がる世界 / Mastodon and ActivityPub
ykzts
0
800
Mastodonを支える技術 / Technology of Mastodon
ykzts
0
340
Other Decks in Technology
See All in Technology
EitherT_with_Future
aoiroaoino
1
900
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
2
170
技術ブログや登壇資料を秒で作るコツ伝授します
minorun365
PRO
22
5k
Eventual Detection Engineering
ken5scal
0
950
セキュリティ監視の内製化 効率とリスク
mixi_engineers
PRO
7
820
Building Static Websites with Sculpin
opdavies
0
1.5k
CRTO/CRTL/OSEPの比較・勉強法とAV/EDRの検知実験
chayakonanaika
1
950
「名前解決」から振り返るAmazon VPC
yuki_ink
0
320
四国のあのイベントの〇〇システムを45日間で構築した話 / cloudohenro2024_tachibana
biatunky
0
270
AI でアップデートする既存テクノロジーと、クラウドエンジニアの生きる道
soracom
PRO
1
330
中規模・ミドルTier開発組織におけるDevRelの戦略と実行と成果 - DevRel Guild Conference Mini -
leveragestech
2
280
四国クラウドお遍路 2024 in 高知 オープニング
yukataoka
0
150
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
46
48k
Building Flexible Design Systems
yeseniaperezcruz
324
37k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
663
120k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
225
22k
The Cost Of JavaScript in 2023
addyosmani
40
5.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
22
1.7k
Why Our Code Smells
bkeepers
PRO
334
56k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.6k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
41
6.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
401
65k
Transcript
Mastodonの フロントエンド実装 山岸和利 (ykzts)
Mastodonとは
Mastodonとは ActivityPubとOStatusに対応したウェブアプリと繋がるミニブログ実装です。 ミニブログはTwitter流行以降に雨後のタケノコのように沢山出てきましたが、大半のも のはそれほど流行することなく消えていきました。MastodonはActivityPubやOStatusの ような共通規格のプロトコルに対応しているため他の実装と連携することができます。 Mastodonと同じくActivityPubやOStatusに対応している実装にはGNU socialや Pleroma、Micro.blogといったものがあります。
使われている技術 • Ruby on Rails • webpack (Webpacker) • React
+ Redux • Immutable.js • Sass • etc...
使われている技術 • Ruby on Rails • webpack (Webpacker) • React
+ Redux • Immutable.js • Sass • etc...
Webpacker?
// config/webpack/production.js process.env.NODE_ENV = process.env.NODE_ENV || 'production' const environment =
require('./environment') module.exports = environment.toWebpackConfig()
// config/webpack/environment.js const { environment } = require('@rails/webpacker') module.exports =
environment
// config/webpack/environment.js (custom) const { environment } = require('@rails/webpacker') environment.config
.set('resolve.extensions', ['.ts', '.js']) environment.loaders .append('ts', { test: /\.ts$/, use: 'ts-loader' }) module.exports = environment
WebpackerのDSLはとにかく自由度がない • Rails Wayに乗ることで誰が書いても似たようなもの になる • 集団開発では役に立つかもしれない • Rubyぽさがどうしても出ているのでフロントエンド開 発者の人は違和感しか抱かない……と思う
$ rm config/webpack/*.js
Mastodonでは WebpackerのDSLを使っていません
MastodonとWebpacker • Mastodonの config/webpack/*.js ではWebpacker のDSLを一切使っていません • webpack.config.js をwebpackの作法にそのまま 沿って書いています
• WebpackerのRakeタスクやViewのHelperだけ使っ ています
$ rm config/webpack/*.js
使われている技術 • Ruby on Rails • webpack (Webpacker) • React
+ Redux • Immutable.js • Sass • etc...
説明できていない要素が まだまだあります!
気になったことがあれば 懇親会等で聴いていただければ
終