Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
フロントエンドがTypeScriptなら、バックエンドはPHPでもいいじゃない/php-is-...
Search
Ryo Tomidokoro
May 24, 2025
Technology
14k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
フロントエンドがTypeScriptなら、バックエンドはPHPでもいいじゃない/php-is-not-bad
TSKaigi2025の登壇資料です
Ryo Tomidokoro
May 24, 2025
More Decks by Ryo Tomidokoro
See All by Ryo Tomidokoro
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
2.4k
あるアーキテクチャ決定と その結果/architecture-decision-and-its-result
hanhan1978
2
1.8k
開発者が知っておきたい複雑さの正体/where-the-complexity-comes-from
hanhan1978
8
3.8k
Spec Driven Development入門/spec_driven_development_for_learners
hanhan1978
2
1.9k
どうすると生き残れないのか/how-not-to-survive
hanhan1978
17
15k
100分で本番デプロイ!Laravelで作るWebアプリケーション作成/100min_web_app_cicd
hanhan1978
1
300
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
8
3.9k
集中して作業する技術/how_to_work_deeply
hanhan1978
69
61k
PHPでデータベースを作ってみた/create-data-with-php
hanhan1978
11
12k
Other Decks in Technology
See All in Technology
データ_AIの事業の勝敗をわけるもの
nek0128
0
360
Minecraft JavaのMODをSwiftで作る
1mash0
0
160
SREは、MCPとAutopilotをこう使え!
kazumax55
2
800
絵ではじめるKubernetesセキュリティ
aoi1
3
570
[2026-09-11]SREは誰のもの?運用エンジニアが始める 「SRE領域への越境」とチームの進化の軌跡 〜Road to NEXT CRE
tosite
0
250
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
3
560
CLIライブラリ開発を支える技術
htnabe
0
110
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
1.9k
DEFCON_CHV_CTF_Write-up.pdf
bata_24
0
150
iOSDC Japan 2026 day1 TrackC 10:50
feedtailor
1
160
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
4
1.7k
GoにおけるFFIのこれまでとこれから
goccy
5
3.4k
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
740
WENDY [Excerpt]
tessaabrams
14
39k
From π to Pie charts
rasagy
1
370
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Bash Introduction
62gerente
615
220k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
The SEO identity crisis: Don't let AI make you average
varn
0
560
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Paper Plane
katiecoart
PRO
4
53k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Transcript
フロントエンドがTypeScriptなら、 バックエンドはPHPでもいいじゃない @hanhan1978 TSKaigi 2025
@hanhan1978 名前 富所 亮 所属 株式会社カオナビ CTO室 エキスパート BackEnd Re-architecturing
Team (BERT) Blog https://blog.hanhans.net Podcast https://podcasters.spotify.com/pod/show/yokohama-north-am 2
このトークなんなの?
バックエンドに興味をもってもらう
バックエンドに興味をもってもらう PHPの話はオマケ
例えば、弊社の場合
PHPのフルスタックフレームワーク製 Multi Page Application + jQuery
アプリケーション構成の変遷 既存機能 MPA (jQuery) 新規機能 SPA (React) 一部はSPAにリプレース 既存アプリケーションは APIとして利用
チーム構成の変遷 バックエンドエンジニア多数 フロントエンドエンジニアがじわじわ増加 職能単位のチーム プロジェクト単位の混成チーム
フロントエンドエンジニアの状況 • React部分の実装がメイン • UI周り、デザインシステムのメンテ • アクセシビリティの対応
フロントエンドエンジニアの状況 • React部分の実装がメイン • UI周り、デザインシステムのメンテ • アクセシビリティの対応 バックエンドへの関与がほぼ無い
というわけで
バックエンドに興味をもってもらいたい (切実)
目次 1. フロントエンドとは?バックエンドとは? 2. バックエンドは何で必要なのか? 3. システム構成例 4. フロントエンドとバックエンドは分離すべきか? 5.
バックエンドの技術選定 6. あなたにPHPをおすすめする100の理由
1. フロントエンドとは?バックエンドとは?
昔、フロントエンドエンジニアは いなかった
バックエンドエンジニアが JavaScriptも書いていた 今ほどリッチな要素が求められていなかった
フロントエンドはいつ生まれた?
2010年代前半説 エッジはフロントエンドなのか? バックエンドなのか? について考えてみる - Speaker Deck https://speakerdeck.com/aiji42/etuzihahurontondonanoka-batukuendonanoka-nituitekao-etemiru
昔は革命だったインクリメンタルサーチ
WEB+DB PRESS • 2006年10月 Vol.35 Ajaxの定石 • 2010年12月 Vol.60 jQuery実践入門
• 2011年8月 Vol.64 JavaScript最前線 • 2012年4月 Vol.68 Node.js実践入門
こうしてフロントエンドは 高度・複雑化して専門分野として確立
このような歴史的経緯があるため それぞれの強みが異なる
バックエンドエンジニアの強み • インフラ • データベース • サーバー構築 • CI/CD
バックエンドエンジニアの強み • インフラ • データベース • サーバー構築 • CI/CD ※単純にこれらの分野が職域だという話
...
フロントエンドエンジニアの強み • HTML/JS/CSS • アクセシビリティ • UI/UX
フロントエンドエンジニアの強み • HTML/JS/CSS • アクセシビリティ • UI/UX 変化が激しく、キャッチアップも大変。 バックエンドまで領域を伸ばせる人は、そう そういない
2. バックエンドは何で必要なのか?
BaaS, IDaaSがあれば不要なのでは?
バックエンドがないとつらいこと • セキュリティの担保 • 非同期処理・ジョブ実行 • ビジネスロジックの隠蔽 • 外部システム連携
バックエンドがないとつらいこと • セキュリティの担保 • 非同期処理・ジョブ実行 • ビジネスロジックの隠蔽 • 外部システム連携 時間のかかること、秘密にしたいこと
BaaS, IDaaSについて • メリット・デメリットの慎重な検討が必須 • アプリケーションの性質や運用体制によって 正解が異なる
話の都合上 以降はバックエンドは必要という前提
3. システム構成例
フロントエンドファーストでの構成例 Next.js
バックエンドファーストでの構成例 Laravel + Laravel Vite
バックエンドファーストでの構成例 Laravel + Laravel Vite 密結合
明確な分離を目指した構成例 シンプル!
4. フロントエンドとバックエ ンドは分離すべきか?
基本的には分離すべきと考える
分離しておく理由 • Information Leakage • あとから分けるの無理 • アーキテクチャーの柔軟性
Information Leakage 「モジュールが、自分の責任範囲を超えて 他のモジュールの知識や制約に依存してし まっている状態」 FE と BE が癒着するとツライ
あとから分けるの無理 無理
アーキテクチャーの柔軟性 • アーキテクチャー構成が柔軟 • ビルドプロセスの分割 • バージョンアップ、脆弱性対応などなど
よし、じゃあバックエンドを分離しよう! どの言語にしたらいい?
ぶっちゃけどれでもいい • 要点は責任分離 • プログラミング言語そのものは次点
一回目のまとめ • フロントエンドの重要性は今後も増す • バックエンドも依然として重要 • 特別な場合をのぞき、初手の分離が吉
5. PHPをおすすめする100の 理由
注意 この先はPHPを安心して選んでもらうた めのPRです 残り10分くらいだとちょうどいい
PHPを一言で表現すると 現代におけるプロダクト開発とPHPを選定するワケ #phpkansai - Speaker Deck https://speakerdeck.com/potato4d/xian-dai-niokerupurodakutokai-fa-tophpwoxuan-ding-suruwake-number-phpkansai?slide=58
PHPの歴史 JetBrains PHPverse 2025 – Online Event Celebrating 30 Years
of PHP https://lp.jetbrains.com/phpverse-2025/
PHPの歴史 JetBrains PHPverse 2025 – Online Event Celebrating 30 Years
of PHP https://lp.jetbrains.com/phpverse-2025/ 30周年
ウェブサイトの言語割合 Usage statistics of server-side programming languages for websites https://w3techs.com/technologies/overview/programming_language
ウェブサイトの言語割合 Usage statistics of server-side programming languages for websites https://w3techs.com/technologies/overview/programming_language
2025
PHPはハンマーのような単純な道具 PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp https://gihyo.jp/news/report/2015/12/1401
PHPの学習曲線(イメージ) 諸説ある
機能面
シェアードナッシング PHP & Shared Nothing Architecture: The Benefits and Downsides
– Tideways https://tideways.com/profiler/blog/php-shared-nothing-architecture-the-benefits-and-downsides
モダン化の流れ • 交差型、合併型、false型... • Immutable classes, properties • Attribute
モダン化の流れ • 非対称可視性 • Property hooks • レイジーオブジェクト • などなど....
けっこうモダンでしょ?
Composer Composer https://getcomposer.org/
PHPUnit PHPUnit: The PHP Testing Framework https://phpunit.de/index.html
PHPStan Find Bugs Without Writing Tests | PHPStan https://phpstan.org/
PHP-CS-Fixer PHP Coding Standards Fixer https://cs.symfony.com/
開発状況
The PHP Foundation The PHP Foundation — The PHP Foundation
— Supporting, Advancing, and Developing the PHP Language https://thephp.foundation/
年1回のアップデート PHP: Supported Versions https://www.php.net/supported-versions
php.internals php.internals mailing list https://news-web.php.net/group.php?group=php.internals
RFCによる機能変更議論 PHP: rfc:immutability https://wiki.php.net/rfc/immutability
PHPコミュニティ
PHPコミュニティ • 海外はある程度一定している • 日本では2023年から謎の盛り上がり... • 若手も流入してきおり活発
ユーザーコミュニティ world-phpcons-history.pdf - Google Drive https://drive.google.com/file/d/14wKvKtVPNtssGyFmlHndsFI3cgp7Uweo/view
ほぼ毎月カンファレンス 2025年に開催される全国のPHPカンファレンスのまとめ #PHP - Qiita https://qiita.com/akase244/items/00323a1bfbb6575f0c94
これから開催 • 2025/5/31 PHPカンファレンス新潟 • 2025/6/28 PHPカンファレンス • 2025/7/19 PHPカンファレンス関西2025
• 2025/11/8 PHPカンファレンス福岡2025 • 2025/11/24 PHPカンファレンス香川2025
• 2025/5/31 PHPカンファレンス新潟 • 2025/6/28 PHPカンファレンス • 2025/7/19 PHPカンファレンス関西2025 •
2025/11/8 PHPカンファレンス福岡2025 • 2025/11/24 PHPカンファレンス香川2025 これから開催 僕と握手!
二回目のまとめ PHP、けっこういいやつじゃん?