Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Past, Present, and Future: The Evolution of PHP...
Search
fwdays
November 18, 2014
Programming
0
800
Past, Present, and Future: The Evolution of PHP Development. Nate Abele
fwdays
November 18, 2014
Tweet
Share
More Decks by fwdays
See All by fwdays
Symfony best practices и не только Олег Зинченко
fwdays
0
2.1k
Beyond Testing Михаил Боднарчук
fwdays
0
800
Yii2 - на пути от Alpha до GA. Взгляд с практической стороны Александр Бордун
fwdays
0
1.9k
Laravel 4: простота во всем. Евгений Косинский
fwdays
0
1k
Маленькая библиотека для большой компании. Антон Шевчук
fwdays
0
3.8k
Phalcon. Что нового? Александр Торош
fwdays
0
1.1k
Выбираем поисковик умом головы. Андрей Аксенов
fwdays
0
1.4k
Функциональный тулчейн Nix
fwdays
1
480
N2O самый мощный Erlang Web Framework
fwdays
0
4.5k
Other Decks in Programming
See All in Programming
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
260
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
210
ZOZOにおけるAI活用の現在 ~モバイルアプリ開発でのAI活用状況と事例~
zozotech
PRO
8
4.1k
tparseでgo testの出力を見やすくする
utgwkk
1
130
[SF Ruby Conf 2025] Rails X
palkan
0
430
エディターってAIで操作できるんだぜ
kis9a
0
640
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
140
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
17
6.6k
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
24
21k
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
210
分散DBって何者なんだ... Spannerから学ぶRDBとの違い
iwashi623
0
170
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
140
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.3k
Facilitating Awesome Meetings
lara
57
6.7k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Unsuck your backbone
ammeep
671
58k
Six Lessons from altMBA
skipperchong
29
4.1k
Designing Experiences People Love
moore
142
24k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Become a Pro
speakerdeck
PRO
30
5.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
For a Future-Friendly Web
brad_frost
180
10k
Transcript
Past, Present, and Future The Evolution of PHP Development November
15th — Kyiv, Ukraine Nate Abele Radify, Inc @nateabele
[email protected]
The Vanity Slide • Former lead developer, CakePHP • Founder,
Li3 (a.k.a. Lithium) • Member, AngularUI team • Lead Developer, AngularUI Router • Architect-in-Chief, Radify • Highly opinionated, sometimes right • @nateabele /
[email protected]
Consulting · Training · Development http://radify.io
“It’s difficult to make predictions, especially about the future.” —
Niels Bohr
“Americans have no past and no future. They live in
an extended present.” — Alexis de Tocqueville
“Americans have no past and no future. They live in
an extended present.” — Alexis de Tocqueville Programmers
Why study the past?
2000 — 2004 • Smarty • PEAR • Web Application
Component Toolkit
2005 — 2008 • CakePHP • …etc.
2009 — 2012 • Li3 (Lithium) • Symfony 2 /
Symfony Components • Composer / Packagist
2011 — 2013 • AngularJS • EmberJS • BackboneJS •
etc.
2013 — 2014 • HackLang • ReactPHP / Ratchet
Trends • Real-time • Mobile • Apps: mobile + web
+ desktop • More all the things
Back to basics
Back to basics • What makes PHP great? • How
do we do our jobs?
PHP • Simple, get moving quickly • Large community /
talent pool • Mature, good resources • Many high-quality tools
Our Jobs http://blog.ircmaxell.com/search/label/Beyond
Our Jobs Data Data Data Data Data UI UI UI
UI UI
Our Jobs Data Data Data Data Data UI UI UI
UI UI PHP
Our Jobs Data Data Data Data Data UI UI UI
UI UI PHP
Our Jobs Data Data Data Data Data UI UI UI
UI UI PHP
Architecture vs. Engineering
How should we code? • One part of one problem
How should we code? • One part of one problem
• Composable • Clean boundaries
https://destroyallsoftware.com/talks/boundaries
Frameworks?
https://www.youtube.com/watch?v=WpkDN78P884
• Libraries • Design conventions Frameworks?
• Libraries • Design conventions Frameworks?
Where to go from here? • Better tools for working
efficiently with large datasets • Better tools for designing hypermedia systems • Functional programming concepts
Thanks! •
[email protected]
• @nateabele
Bonus
Programming is not math!?!?
x2 + 10x = 39 vs. http://worrydream.com/MediaForThinkingTheUnthinkable/ Programming is not
math!?!?
“Language is a user interface for ideas.”
Writing unit tests sucks
Set Theory: Domains { Set } => f(x) => {
Domain }
Set Theory: Domains { Internet } => OpenSSL(x) => {
… … }
Set Theory: Domains { Internet } => Bash(x) => {
… … }
Thanks! •
[email protected]
• @nateabele