SlideShare a Scribd company logo
Riza Fahmi - ElixirDose.com - @rizafahmi22 - riza@ hacktiv8.com
PRODUCTIVE. RELIABLE. FAST.
SPONSOR
THANKS!
INTRODUCTION
YOU’RE MY REGULATOR, MY COMPILER
▸ Scream when things go too fast / slow / are unclear
▸ Scream when cool things happen
▸ Help me when live coding, I’m suck at it. Find errors for me
before the compiler do
▸ Similar to Phoenix channel, this is two way communication
channel. Don’t let me do all the talking!
INTRODUCTION
SLIDES ARE UP!
https://slideshare.net
INTRODUCTION
WHO AM I
▸ Was at CitizenLab, a Belgium-based early stage startup. As
a CTO
▸ Now at Hacktiv8, a startup for dev bootcamp
▸ Run ElixirDose — an Elixir-focused blog since November
2013
INTRODUCTION
WHAT WE’LL SEE
▸ The Awesomeness of Phoenix
▸ Build something with Phoenix
▸ Some live coding
SOME GLOSSARY
Web Framework
Programming Language
Erlang Virtual Machine
WHAT IS PHOENIX
“Framework for building HTML5 apps, API backends
and distributed systems to take on the modern web.”
Chris McCord
HOW IS PHOENIX DIFFERENT?
PRODUCTIVITYPERFORMANCE VS
LET’S TALK PRODUCTIVITY
PRODUCTIVITY
SHORT TERM
▸ Documentation / Guides / Generators
▸ Eliminates trivial choices
PRODUCTIVITY
LONG TERM
▸ Maintainability
▸ Tried and true architecture patterns
▸ Let it crash mentality
“IF I HAVE TO BUILD SKYNET,
KILLER ARTIFICIAL INTELLIGENT
FROM TERMINATOR MOVIES, I
WOULD USE ERLANG AND
ERLANG VM. MOSTLY BECAUSE
IT’S UNKILLABLE AND KEEP
COMING BACK!”
Simon St.Laurent from MostlyErlang Podcast
MORE FEATURES PLEASE…
FEATURES
STATIC BUILD TOOLS WITH ES6 AS DEFAULT
Ultra fast HTML5 build tools
Compiles/lints your scripts and styles
Concatenates your scripts and styles
Minifies it
Watches for file changes
FEATURES
PRETTY AND HELPFUL ERROR PAGES
FEATURES
CHANNELS
▸ The main reason why Phoenix exists in the first place
▸ It’s websocket with steroid
▸ Cross-platform, cross-languages
▸ For creating modern, real-time apps
▸ Beyond HTML
FEATURES
MORE…
▸ Form builder
▸ Live reloading
▸ MCV with twist
▸ much more…
LET’S TALK PERFORMANCE NOW
Introduction to Phoenix Web Framework
PERFORMANCE
VIEWS & TEMPLATES
▸ Precompiled and pretty fast!
▸ Views render templates
▸ It’s beyond HTML
PERFORMANCE
WHAT ABOUT SOME BENCHMARK
Frameworks Throughput (req/s) Latency (ms)
Plug (Elixir) 54,948.14 3.83
Gin (Go) 51,483.20 1.94
Phoenix (Elixir) 43,063.45 2.82
Express Cluster (Nodejs) 27,669.46 3.73
Martini (Go) 14,798.46 6.81
Express (Nodejs) 9,965.56 10.07
Sinatra (Ruby) 9,182.86 6.55
Rails (Ruby) 3,274.81 17.25
https://github.com/mroth/phoenix-showdown
PERFORMANCE
ROBUST CONCURRENCY MODEL
▸ “processes” is extremely lightweight units of concurrency
▸ Garbage collection is per process, no global pauses
“ WE DO NOT HAVE ONE
WEB-SERVER
HANDLING 2 MILLIONS
SESSIONS. WE HAVE 2
MILLION WEBSERVERS
HANDLING ONE
SESSION EACH.”
Joe Armstrong - Erlang Father
http://goo.gl/DprVTC
LET’S BUILD SOMETHING
WHAT WE’LL BUILD
ELIXIR VIDEO PORTAL
▸ CRUD app for collecting Elixir-related video
▸ Similar confreaks.tv or pyvideo.org
OFF ROAD… WE GO!
WANT MORE?
WANT MORE…
READ SOME BOOKS
WANT MORE…
WATCH AND LEARN
I’M DONE. THANKS FOR TUNING IN!

More Related Content

What's hot (20)

PDF
Don Wibier
CodeFest
 
PPTX
Deploy an Asp.Net Core App on Azure
Michele Aponte
 
PDF
The Dark Side of Single Page Applications
Dor Kalev
 
PDF
Don't screw it up! How to build durable API
Alessandro Cinelli (cirpo)
 
PDF
PHP is the King, nodejs the prince and python the fool
Alessandro Cinelli (cirpo)
 
PDF
Build your first Monster APP
2600Hz
 
PDF
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
CodeOps Technologies LLP
 
PDF
Dev112 let's calendar that
Howard Greenberg
 
PDF
Using eZ Platform as a Headless CMS (with Vue.js)
Jani Tarvainen
 
PDF
Symfony vs. Message Brokers
Gaetano Giunta
 
PPTX
Proxying DBI with DBD::Gofer and App::Staticperl
nohuhu
 
PPTX
KazooCon 2014 - WebRTC
2600Hz
 
PDF
TechXLR8 - XLR8 your cloud with Docker and Serverless FaaS
Alex Ellis
 
PPTX
Developing Rich Internet Applications with Perl and JavaScript
nohuhu
 
PDF
Blazor - The New Silverlight?
Christian Nagel
 
PPT
Web assembly overview by Mikhail Sorokovsky
Valeriia Maliarenko
 
PPTX
Testing your Single Page Application
Wekoslav Stefanovski
 
PDF
Symfony4 - Deep dive
Salma Ghareeb
 
PPTX
.Net Core - not your daddy's dotnet
Rick van den Bosch
 
PPTX
DevOps for Scala
Michele Sciabarrà
 
Don Wibier
CodeFest
 
Deploy an Asp.Net Core App on Azure
Michele Aponte
 
The Dark Side of Single Page Applications
Dor Kalev
 
Don't screw it up! How to build durable API
Alessandro Cinelli (cirpo)
 
PHP is the King, nodejs the prince and python the fool
Alessandro Cinelli (cirpo)
 
Build your first Monster APP
2600Hz
 
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
CodeOps Technologies LLP
 
Dev112 let's calendar that
Howard Greenberg
 
Using eZ Platform as a Headless CMS (with Vue.js)
Jani Tarvainen
 
Symfony vs. Message Brokers
Gaetano Giunta
 
Proxying DBI with DBD::Gofer and App::Staticperl
nohuhu
 
KazooCon 2014 - WebRTC
2600Hz
 
TechXLR8 - XLR8 your cloud with Docker and Serverless FaaS
Alex Ellis
 
Developing Rich Internet Applications with Perl and JavaScript
nohuhu
 
Blazor - The New Silverlight?
Christian Nagel
 
Web assembly overview by Mikhail Sorokovsky
Valeriia Maliarenko
 
Testing your Single Page Application
Wekoslav Stefanovski
 
Symfony4 - Deep dive
Salma Ghareeb
 
.Net Core - not your daddy's dotnet
Rick van den Bosch
 
DevOps for Scala
Michele Sciabarrà
 

Similar to Introduction to Phoenix Web Framework (20)

PDF
Brief Intro to Phoenix - Elixir Meetup at BukaLapak
Riza Fahmi
 
PPTX
Introduction To Web Development & The New Digital Workplace
Jen Wei Lee
 
PPTX
Flask and Paramiko for Python VA
Enrique Valenzuela
 
PDF
Scaling with Symfony - PHP UK
Ricard Clau
 
PDF
Tech Thursdays: Building Products
Hayden Bleasel
 
PDF
Cloud development and career path
Praveen Hanchinal
 
PDF
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Systems
 
PDF
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
Sébastien Morel
 
PDF
Continuous Deployment - Developers Conference Hamburg #dchh
Dirk Hoerig
 
PDF
Unleash your Symfony projects with eZ Platform
Sébastien Morel
 
PDF
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Michael Lihs
 
PDF
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
PDF
Improving velocity through abstraction
VictorSzoltysek
 
PDF
Stapling and patching the web of now - ForwardJS3, San Francisco
Christian Heilmann
 
PDF
The JavaScript Delusion
JUGBD
 
PDF
Varnishtest
Varnish Software
 
PDF
Apache Flex and the imperfect Web
masuland
 
PDF
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
FalafelSoftware
 
PDF
ITB 2023 Real World ColdBox App Architecture - Nolan Erck.pdf
Ortus Solutions, Corp
 
PPTX
Getting Started with ASP.NET vNext
Lohith Goudagere Nagaraj
 
Brief Intro to Phoenix - Elixir Meetup at BukaLapak
Riza Fahmi
 
Introduction To Web Development & The New Digital Workplace
Jen Wei Lee
 
Flask and Paramiko for Python VA
Enrique Valenzuela
 
Scaling with Symfony - PHP UK
Ricard Clau
 
Tech Thursdays: Building Products
Hayden Bleasel
 
Cloud development and career path
Praveen Hanchinal
 
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Systems
 
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
Sébastien Morel
 
Continuous Deployment - Developers Conference Hamburg #dchh
Dirk Hoerig
 
Unleash your Symfony projects with eZ Platform
Sébastien Morel
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Michael Lihs
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
Improving velocity through abstraction
VictorSzoltysek
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Christian Heilmann
 
The JavaScript Delusion
JUGBD
 
Varnishtest
Varnish Software
 
Apache Flex and the imperfect Web
masuland
 
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
FalafelSoftware
 
ITB 2023 Real World ColdBox App Architecture - Nolan Erck.pdf
Ortus Solutions, Corp
 
Getting Started with ASP.NET vNext
Lohith Goudagere Nagaraj
 
Ad

More from Riza Fahmi (20)

PDF
Membangun Aplikasi Web dengan Elixir dan Phoenix
Riza Fahmi
 
PDF
Berbagai Pilihan Karir Developer
Riza Fahmi
 
PDF
Web dan Progressive Web Apps di 2020
Riza Fahmi
 
PDF
Remote Working/Learning
Riza Fahmi
 
PDF
How to learn programming
Riza Fahmi
 
PDF
Rapid App Development with AWS Amplify
Riza Fahmi
 
PDF
Menguak Misteri Module Bundler
Riza Fahmi
 
PDF
Beberapa Web API Menarik
Riza Fahmi
 
PDF
MVP development from software developer perspective
Riza Fahmi
 
PDF
Ekosistem JavaScript di Indonesia
Riza Fahmi
 
PDF
Perkenalan ReasonML
Riza Fahmi
 
PDF
How I Generate Idea
Riza Fahmi
 
PDF
Strategi Presentasi Untuk Developer Workshop Slide
Riza Fahmi
 
PDF
Lesson Learned from Prolific Developers
Riza Fahmi
 
PDF
Clean Code JavaScript
Riza Fahmi
 
PDF
The Future of AI
Riza Fahmi
 
PDF
Chrome Dev Summit 2018 - Personal Take Aways
Riza Fahmi
 
PDF
Essentials and Impactful Features of ES6
Riza Fahmi
 
PDF
Modern Static Site with GatsbyJS
Riza Fahmi
 
PDF
Introduction to ReasonML
Riza Fahmi
 
Membangun Aplikasi Web dengan Elixir dan Phoenix
Riza Fahmi
 
Berbagai Pilihan Karir Developer
Riza Fahmi
 
Web dan Progressive Web Apps di 2020
Riza Fahmi
 
Remote Working/Learning
Riza Fahmi
 
How to learn programming
Riza Fahmi
 
Rapid App Development with AWS Amplify
Riza Fahmi
 
Menguak Misteri Module Bundler
Riza Fahmi
 
Beberapa Web API Menarik
Riza Fahmi
 
MVP development from software developer perspective
Riza Fahmi
 
Ekosistem JavaScript di Indonesia
Riza Fahmi
 
Perkenalan ReasonML
Riza Fahmi
 
How I Generate Idea
Riza Fahmi
 
Strategi Presentasi Untuk Developer Workshop Slide
Riza Fahmi
 
Lesson Learned from Prolific Developers
Riza Fahmi
 
Clean Code JavaScript
Riza Fahmi
 
The Future of AI
Riza Fahmi
 
Chrome Dev Summit 2018 - Personal Take Aways
Riza Fahmi
 
Essentials and Impactful Features of ES6
Riza Fahmi
 
Modern Static Site with GatsbyJS
Riza Fahmi
 
Introduction to ReasonML
Riza Fahmi
 
Ad

Recently uploaded (20)

PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
July Patch Tuesday
Ivanti
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
July Patch Tuesday
Ivanti
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 

Introduction to Phoenix Web Framework