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
フロントエンドがTypeScriptなら、バックエンドはPHPでもいいじゃない/php-is-...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ryo Tomidokoro
May 24, 2025
Technology
8
14k
フロントエンドがTypeScriptなら、バックエンドはPHPでもいいじゃない/php-is-not-bad
TSKaigi2025の登壇資料です
Ryo Tomidokoro
May 24, 2025
Tweet
Share
More Decks by Ryo Tomidokoro
See All by Ryo Tomidokoro
開発者が知っておきたい複雑さの正体/where-the-complexity-comes-from
hanhan1978
8
3.4k
Spec Driven Development入門/spec_driven_development_for_learners
hanhan1978
2
1.6k
どうすると生き残れないのか/how-not-to-survive
hanhan1978
17
14k
100分で本番デプロイ!Laravelで作るWebアプリケーション作成/100min_web_app_cicd
hanhan1978
1
240
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
8
3.5k
集中して作業する技術/how_to_work_deeply
hanhan1978
65
55k
PHPでデータベースを作ってみた/create-data-with-php
hanhan1978
11
11k
ADRを一年運用してみた/adr_after_a_year
hanhan1978
8
4.8k
B+木入門:PHPで理解する データベースインデックスの仕組み/b-plus-tree-101
hanhan1978
5
6.1k
Other Decks in Technology
See All in Technology
【PyCon mini Shizuoka 2026】生成AI時代に画像処理やオーディオ処理のノードエディターを作る理由
kazuhitotakahashi
0
180
Exadata Fleet Update
oracle4engineer
PRO
0
1.3k
AI が Approve する開発フロー / How AI Reviewers Accelerate Our Development
zaimy
1
220
男(監査)はつらいよ - Policy as CodeからAIエージェントへ
ken5scal
4
580
競争優位を生み出す戦略的内製開発の実践技法
masuda220
PRO
2
490
バクラクのSREにおけるAgentic AIへの挑戦/Our Journey with Agentic AI
taddy_919
1
410
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
4
6.3k
Microsoft Fabric のワークスペースと容量の設計原則
ryomaru0825
2
200
AWS Bedrock Guardrails / 機密情報の入力・出力をブロックする — Blocking Sensitive Information Input/Output
kazuhitonakayama
2
180
Agentic Codingの実践とチームで導入するための工夫
lycorptech_jp
PRO
0
190
技術キャッチアップ効率化を実現する記事推薦システムの構築
yudai00
2
150
もう怖くないバックグラウンド処理 Background Tasks のすべて - Hakodate.swift #1
kantacky
0
190
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
110
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Prompt Engineering for Job Search
mfonobong
0
180
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
250
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
82
Bash Introduction
62gerente
615
210k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
140
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
840
Deep Space Network (abreviated)
tonyrice
0
79
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
170
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
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、けっこういいやつじゃん?