SlideShare a Scribd company logo
Riza Fahmi - ElixirDose.com - @rizafahmi22 - riza@ hacktiv8.com
PRODUCTIVE. RELIABLE. FAST.
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!
slideshare.net/rizafahmi
speakerdeck.com/rizafahmi
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
Brief Intro to Phoenix - Elixir Meetup at BukaLapak
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 TALKS VIDEO PORTAL
▸ CRUD app for collecting Elixir-related video talk
▸ Similar confreaks.tv or pyvideo.org
OFF ROAD… WE GO!
INSTALLING…
INSTALL PHOENIX
$ mix archive.install https://github.com/
phoenixframework/archives/raw/master/
phoenix_new.ez
$ mix phoenix.new -v
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
Node.js with Express
Gergely Németh
 
PDF
WordCamp IL 2016 - WordPress Scale on AWS
Boaz Ziniman
 
PDF
NodeSummit - MEAN Stack
Valeri Karpov
 
PDF
Understand How Node.js and Core Features Works
Hengki Sihombing
 
PDF
Intro to Node.js
Jamal Sinclair O'Garro
 
PDF
Golang @ Tokopedia
Qasim Zaidi
 
PDF
The MEAN Stack
Md. Ziaul Haq
 
PPTX
MEAN stack
Iryney Baran
 
PDF
Using Minikube for Node.js development
Troy Connor
 
PDF
Serverless NodeJS With AWS Lambda
Riza Fahmi
 
PPT
Fast Slim Correct: The History and Evolution of JavaScript.
John Dalziel
 
PPTX
Node.Js: Basics Concepts and Introduction
Kanika Gera
 
PDF
Modern Web Development in 2015
Oliver N
 
PDF
WebAssembly vs JavaScript: What is faster?
Alexandr Skachkov
 
PPTX
Blazor
Sandun Perera
 
PPTX
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
Irfan Maulana
 
PDF
Native Desktop App with Node.js Webkit (HTML, CSS & Javascript)
Eddie Lau
 
PDF
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Murat Yener
 
PPTX
Blazor - An Introduction
JamieTaylor112
 
PDF
Web Assembly (W3C TPAC presentation)
Kenneth Rohde Christiansen
 
Node.js with Express
Gergely Németh
 
WordCamp IL 2016 - WordPress Scale on AWS
Boaz Ziniman
 
NodeSummit - MEAN Stack
Valeri Karpov
 
Understand How Node.js and Core Features Works
Hengki Sihombing
 
Intro to Node.js
Jamal Sinclair O'Garro
 
Golang @ Tokopedia
Qasim Zaidi
 
The MEAN Stack
Md. Ziaul Haq
 
MEAN stack
Iryney Baran
 
Using Minikube for Node.js development
Troy Connor
 
Serverless NodeJS With AWS Lambda
Riza Fahmi
 
Fast Slim Correct: The History and Evolution of JavaScript.
John Dalziel
 
Node.Js: Basics Concepts and Introduction
Kanika Gera
 
Modern Web Development in 2015
Oliver N
 
WebAssembly vs JavaScript: What is faster?
Alexandr Skachkov
 
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
Irfan Maulana
 
Native Desktop App with Node.js Webkit (HTML, CSS & Javascript)
Eddie Lau
 
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Murat Yener
 
Blazor - An Introduction
JamieTaylor112
 
Web Assembly (W3C TPAC presentation)
Kenneth Rohde Christiansen
 

Viewers also liked (20)

PDF
Mobile Programming - Network Universitas Budi Luhur
Riza Fahmi
 
PDF
Intro to elixir and phoenix
Jared Smith
 
PDF
Elixir - Easy fun for busy developers @ Devoxx 2016
David Schmitz
 
PDF
Elixir and OTP
Pedro Medeiros
 
PDF
Flow-based programming with Elixir
Anton Mishchuk
 
PDF
Elixir & Phoenix 推坑
Chao-Ju Huang
 
PDF
Build Your Own Real-Time Web Service with Elixir Phoenix
Chi-chi Ekweozor
 
PDF
Hello elixir (and otp)
Abel Muíño
 
PDF
Elixir intro
Anton Mishchuk
 
PDF
How Elixir helped us scale our Video User Profile Service for the Olympics
Emerson Macedo
 
ODP
Elixir basics-2
Ruben Amortegui
 
PDF
Elixir – Peeking into Elixir's Processes, OTP and Supervisors
Benjamin Tan
 
PDF
ITB2016 - Mixing up the front end with ColdBox elixir
Ortus Solutions, Corp
 
ODP
First encounter with Elixir - Some random things
Samuel Lampa
 
PPTX
BioContainers on ELIXIR All Hands 2017
Yasset Perez-Riverol
 
PDF
Meteor Talk At TokoPedia
Riza Fahmi
 
PDF
APPSCoast Pitch Deck
Riza Fahmi
 
PPTX
Sony lazuardi native mobile app with javascript
PHP Indonesia
 
PDF
Muhammad azamuddin introduction-to-reactjs
PHP Indonesia
 
PDF
React Fundamentals - Jakarta JS, Apr 2016
Simon Sturmer
 
Mobile Programming - Network Universitas Budi Luhur
Riza Fahmi
 
Intro to elixir and phoenix
Jared Smith
 
Elixir - Easy fun for busy developers @ Devoxx 2016
David Schmitz
 
Elixir and OTP
Pedro Medeiros
 
Flow-based programming with Elixir
Anton Mishchuk
 
Elixir & Phoenix 推坑
Chao-Ju Huang
 
Build Your Own Real-Time Web Service with Elixir Phoenix
Chi-chi Ekweozor
 
Hello elixir (and otp)
Abel Muíño
 
Elixir intro
Anton Mishchuk
 
How Elixir helped us scale our Video User Profile Service for the Olympics
Emerson Macedo
 
Elixir basics-2
Ruben Amortegui
 
Elixir – Peeking into Elixir's Processes, OTP and Supervisors
Benjamin Tan
 
ITB2016 - Mixing up the front end with ColdBox elixir
Ortus Solutions, Corp
 
First encounter with Elixir - Some random things
Samuel Lampa
 
BioContainers on ELIXIR All Hands 2017
Yasset Perez-Riverol
 
Meteor Talk At TokoPedia
Riza Fahmi
 
APPSCoast Pitch Deck
Riza Fahmi
 
Sony lazuardi native mobile app with javascript
PHP Indonesia
 
Muhammad azamuddin introduction-to-reactjs
PHP Indonesia
 
React Fundamentals - Jakarta JS, Apr 2016
Simon Sturmer
 
Ad

Similar to Brief Intro to Phoenix - Elixir Meetup at BukaLapak (20)

PDF
Introduction to Phoenix Web Framework
Riza Fahmi
 
PDF
Ansible meetup-0915
Pierre Mavro
 
PPTX
Introduction To Web Development & The New Digital Workplace
Jen Wei Lee
 
PDF
Cloud development and career path
Praveen Hanchinal
 
PDF
Unleash your Symfony projects with eZ Platform
Sébastien Morel
 
PPTX
Flask and Paramiko for Python VA
Enrique Valenzuela
 
PDF
Continuous Deployment - Developers Conference Hamburg #dchh
Dirk Hoerig
 
PDF
Scaling with Symfony - PHP UK
Ricard Clau
 
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
Become a webdeveloper - AKAICamp Beginner #1
Jacek Tomaszewski
 
PDF
How composer saved PHP
Ryan Kilfedder
 
PPTX
Getting Started with ASP.NET vNext
Lohith Goudagere Nagaraj
 
PPT
Tech talk: PHP
Jen Wei Lee
 
PDF
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
FalafelSoftware
 
PDF
Improving velocity through abstraction
VictorSzoltysek
 
PDF
Apache Flex and the imperfect Web
masuland
 
PDF
Deploying php applications
Niklas Modess
 
PPTX
A Developer Day 2014 - Durban
Robert MacLean
 
PDF
The JavaScript Delusion
JUGBD
 
Introduction to Phoenix Web Framework
Riza Fahmi
 
Ansible meetup-0915
Pierre Mavro
 
Introduction To Web Development & The New Digital Workplace
Jen Wei Lee
 
Cloud development and career path
Praveen Hanchinal
 
Unleash your Symfony projects with eZ Platform
Sébastien Morel
 
Flask and Paramiko for Python VA
Enrique Valenzuela
 
Continuous Deployment - Developers Conference Hamburg #dchh
Dirk Hoerig
 
Scaling with Symfony - PHP UK
Ricard Clau
 
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
 
Become a webdeveloper - AKAICamp Beginner #1
Jacek Tomaszewski
 
How composer saved PHP
Ryan Kilfedder
 
Getting Started with ASP.NET vNext
Lohith Goudagere Nagaraj
 
Tech talk: PHP
Jen Wei Lee
 
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
FalafelSoftware
 
Improving velocity through abstraction
VictorSzoltysek
 
Apache Flex and the imperfect Web
masuland
 
Deploying php applications
Niklas Modess
 
A Developer Day 2014 - Durban
Robert MacLean
 
The JavaScript Delusion
JUGBD
 
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
 

Recently uploaded (20)

PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
Upgrading to z_OS V2R4 Part 01 of 02.pdf
Flavio787771
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PPTX
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PPTX
Simplifying End-to-End Apache CloudStack Deployment with a Web-Based Automati...
ShapeBlue
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
PDF
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
PDF
Shuen Mei Parth Sharma Boost Productivity, Innovation and Efficiency wit...
AWS Chicago
 
PDF
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
PDF
How Current Advanced Cyber Threats Transform Business Operation
Eryk Budi Pratama
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPTX
The Yotta x CloudStack Advantage: Scalable, India-First Cloud
ShapeBlue
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Upgrading to z_OS V2R4 Part 01 of 02.pdf
Flavio787771
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Simplifying End-to-End Apache CloudStack Deployment with a Web-Based Automati...
ShapeBlue
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
Shuen Mei Parth Sharma Boost Productivity, Innovation and Efficiency wit...
AWS Chicago
 
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
How Current Advanced Cyber Threats Transform Business Operation
Eryk Budi Pratama
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
The Yotta x CloudStack Advantage: Scalable, India-First Cloud
ShapeBlue
 

Brief Intro to Phoenix - Elixir Meetup at BukaLapak