SlideShare a Scribd company logo
1 of 67
Dancer's ecosystem French Perl Workshop 2011 http://github.com/sukria http://twitter.com/sukria CPAN: sukria Alexis Sukrieh
The ecosystem
Dancer's ecosystem A selection of plugins FPW 2011 Alexis Sukrieh
Dancer's ecosystem A selection of plugins FPW 2011 Alexis Sukrieh
Dancer's ecosystem A story of a web developer... FPW 2011 Alexis Sukrieh
Dancer's ecosystem Once upon a time,  there was a company
Dancer's ecosystem And there was a guy, a Perl web developer
Dancer's ecosystem Wait. A  Perl  web developer we said.
Dancer's ecosystem So there was this guy, a Perl web developer we said. Joe.
Dancer's ecosystem There is this project...
Dancer's ecosystem It's top-priority
Dancer's ecosystem We don't know yet what it should do...
Dancer's ecosystem But it's very important that it does it well...
Dancer's ecosystem And of course,  it's already late
Dancer's ecosystem Joe will use Dancer
Dancer's ecosystem Because he want's to get things done
Dancer's ecosystem First of all, there are all these HTML templates sent by the designers
Dancer's ecosystem He wants to use Template Toolkit
Dancer's ecosystem Dancer::Template::TemplateToolkit Well, it's in the core
Dancer's ecosystem But the boss said we're gonna use Xslate Because it's faster
Dancer's ecosystem Well, there's a plugin for that Dancer::Template::Xslate
Dancer's ecosystem And we have to log lots of stuff to Syslog
Dancer's ecosystem There's a plugin for that Dancer::Logger::Syslog
Dancer's ecosystem But wait, we'll have to authenticate users
Dancer's ecosystem We'll need a session engine!
Dancer's ecosystem Joe wants YAML files!  It's so convienent during development
Dancer's ecosystem There's a plugin for that Dancer::Session::YAML
Dancer's ecosystem But, well in production,  we want Memcached
Dancer's ecosystem There's a plugin for that Dancer::Session::Memcached
Dancer's ecosystem Wait, something is very slow Joe wants to time the requests
Dancer's ecosystem There's a plugin for that Dancer::Plugin::TimeRequests
Dancer's ecosystem But during development, Joe wants the log  messages to be sent to Firebug
Dancer's ecosystem There's a plugin for that Dancer::Logger::PSGI + Plack::Middleware::ConsoleLogger
Dancer's ecosystem OK, but you know, we have a database We want to access...
Dancer's ecosystem There's a plugin for that Dancer::Plugin::Database
Dancer's ecosystem But, well we're modern right? We want DBIx::Class
Dancer's ecosystem There's a plugin for that Dancer::Plugin::DBIC
Dancer's ecosystem And we use Moose, because  we're actually post-modern! So we want to use KiokuDB
Dancer's ecosystem Again, there's a plugin for that Dancer::Session::KiokuDB
Dancer's ecosystem Joe's boss saw Ruby on Rails He really liked their ”flash” messages Boss wants that.
Dancer's ecosystem No worries Joe, there's a plugin for that Dancer::Plugin::FlashMessage
Dancer's ecosystem Oh, we'll have to plug our website  with a third-party entity We need an API webservice.
Dancer's ecosystem There's a plugin for that Dancer::Plugin::REST
Dancer's ecosystem But the API webservice is not ready And we want the third-party entity to start developing with it...
Dancer's ecosystem Let's make it a fake API, with static responses. There's a plugin for that. Dancer::Plugin::Fake::Response
Dancer's ecosystem And we have email notifications right?
Dancer's ecosystem There's a plugin for that Dancer::Plugin::Email
Dancer's ecosystem What about a Facebook app? It's so hype!
Dancer's ecosystem Well, guess what, there's a plugin for that Dancer::Plugin::Facebook
Dancer's ecosystem Well, even cooler than Facebook,  there is Twitter! Dancer::Plugin::Auth::Twitter
Dancer's ecosystem Joe's boss heard about  cookie-encrypted sessions It's hype, and he wants it.
Dancer's ecosystem There's a plugin for that Dancer::Session::Cookie
Dancer's ecosystem But wait, there is this other app  we should share our sessions with... ”Single-sign on” it's so hype
Dancer's ecosystem PSGI for the win!
Dancer's ecosystem There is a plugin for that: Dancer::Session::PSGI
Dancer's ecosystem What about mobile phones? We want a light layout for the app on smartphones
Dancer's ecosystem There's a plugin for that Dancer::Plugin::MobileDevice
Dancer's ecosystem Cool. Our freaky monster starts to look good...
Dancer's ecosystem But what if Joe needs a specific plugin?
Dancer's ecosystem What if there IS NOT a plugin for that?
Dancer's ecosystem Well, he can writes his own, piece of cake Dancer::Plugin
Dancer's ecosystem A specific session engine? There's Dancer::Session::Abstract for that
Dancer's ecosystem A specific logger engine? There's Dancer::Logger::Abstract for that
Dancer's ecosystem A new kickass template engine? There's Dancer::Template::Abstract for that
Dancer's ecosystem Dancer is modular
Dancer's ecosystem Everything is made to make  it simple to extend
Dancer's ecosystem Now it's time for Joe to code!

More Related Content

What's hot

Writing Friendly libraries for CodeIgniter
Writing Friendly libraries for CodeIgniterWriting Friendly libraries for CodeIgniter
Writing Friendly libraries for CodeIgniter
CodeIgniter Conference
 
Keeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro frameworkKeeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro framework
Jeremy Kendall
 
Keeping it Small: Getting to know the Slim Micro Framework
Keeping it Small: Getting to know the Slim Micro FrameworkKeeping it Small: Getting to know the Slim Micro Framework
Keeping it Small: Getting to know the Slim Micro Framework
Jeremy Kendall
 
Perl web frameworks
Perl web frameworksPerl web frameworks
Perl web frameworks
diego_k
 

What's hot (19)

How to develop modern web application framework
How to develop modern web application frameworkHow to develop modern web application framework
How to develop modern web application framework
 
Writing Friendly libraries for CodeIgniter
Writing Friendly libraries for CodeIgniterWriting Friendly libraries for CodeIgniter
Writing Friendly libraries for CodeIgniter
 
With a Mighty Hammer
With a Mighty HammerWith a Mighty Hammer
With a Mighty Hammer
 
Building Cloud Castles
Building Cloud CastlesBuilding Cloud Castles
Building Cloud Castles
 
Elegant APIs
Elegant APIsElegant APIs
Elegant APIs
 
Keeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro frameworkKeeping it small: Getting to know the Slim micro framework
Keeping it small: Getting to know the Slim micro framework
 
Intro to Rails
Intro to Rails Intro to Rails
Intro to Rails
 
Building Cloud Castles - LRUG
Building Cloud Castles - LRUGBuilding Cloud Castles - LRUG
Building Cloud Castles - LRUG
 
Great Developers Steal
Great Developers StealGreat Developers Steal
Great Developers Steal
 
Keeping it Small: Getting to know the Slim Micro Framework
Keeping it Small: Getting to know the Slim Micro FrameworkKeeping it Small: Getting to know the Slim Micro Framework
Keeping it Small: Getting to know the Slim Micro Framework
 
A Quick Introduction to Sinatra
A Quick Introduction to SinatraA Quick Introduction to Sinatra
A Quick Introduction to Sinatra
 
Slim RedBeanPHP and Knockout
Slim RedBeanPHP and KnockoutSlim RedBeanPHP and Knockout
Slim RedBeanPHP and Knockout
 
Keeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro framework
 
Developing apps using Perl
Developing apps using PerlDeveloping apps using Perl
Developing apps using Perl
 
10 tips for making Bash a sane programming language
10 tips for making Bash a sane programming language10 tips for making Bash a sane programming language
10 tips for making Bash a sane programming language
 
Functional Pearls 4 (YAPC::EU::2009 remix)
Functional Pearls 4 (YAPC::EU::2009 remix)Functional Pearls 4 (YAPC::EU::2009 remix)
Functional Pearls 4 (YAPC::EU::2009 remix)
 
Inside Bokete: Web Application with Mojolicious and others
Inside Bokete:  Web Application with Mojolicious and othersInside Bokete:  Web Application with Mojolicious and others
Inside Bokete: Web Application with Mojolicious and others
 
Nest v. Flat with EmberData
Nest v. Flat with EmberDataNest v. Flat with EmberData
Nest v. Flat with EmberData
 
Perl web frameworks
Perl web frameworksPerl web frameworks
Perl web frameworks
 

Viewers also liked (7)

PSGI/Plack OSDC.TW
PSGI/Plack OSDC.TWPSGI/Plack OSDC.TW
PSGI/Plack OSDC.TW
 
Perl <b>5 Tutorial</b>, First Edition
Perl <b>5 Tutorial</b>, First EditionPerl <b>5 Tutorial</b>, First Edition
Perl <b>5 Tutorial</b>, First Edition
 
Your first website in under a minute with Dancer
Your first website in under a minute with DancerYour first website in under a minute with Dancer
Your first website in under a minute with Dancer
 
Perl in the Internet of Things
Perl in the Internet of ThingsPerl in the Internet of Things
Perl in the Internet of Things
 
Message passing
Message passingMessage passing
Message passing
 
Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011
 
Plack basics for Perl websites - YAPC::EU 2011
Plack basics for Perl websites - YAPC::EU 2011Plack basics for Perl websites - YAPC::EU 2011
Plack basics for Perl websites - YAPC::EU 2011
 

Similar to Dancer's Ecosystem

Akka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based ApplicationsAkka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based Applications
NLJUG
 
Moving Pictures - Web 2.0 Expo NYC
Moving Pictures - Web 2.0 Expo NYCMoving Pictures - Web 2.0 Expo NYC
Moving Pictures - Web 2.0 Expo NYC
Cal Henderson
 

Similar to Dancer's Ecosystem (20)

Nicolas Pastorino - The Open-source roar in the eZ Community
Nicolas Pastorino - The Open-source roar in the eZ CommunityNicolas Pastorino - The Open-source roar in the eZ Community
Nicolas Pastorino - The Open-source roar in the eZ Community
 
Anatomy of an APS 2 appication
Anatomy of an APS 2 appicationAnatomy of an APS 2 appication
Anatomy of an APS 2 appication
 
Akka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based ApplicationsAkka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based Applications
 
Life without CPAN
Life without CPANLife without CPAN
Life without CPAN
 
Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014
Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014
Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014
 
Shelby Tech Talk - The Early Days
Shelby Tech Talk - The Early DaysShelby Tech Talk - The Early Days
Shelby Tech Talk - The Early Days
 
redhat_intern
redhat_internredhat_intern
redhat_intern
 
RecordPlug & plugXchange
RecordPlug & plugXchangeRecordPlug & plugXchange
RecordPlug & plugXchange
 
Puppet 3: Present and Future Tense
Puppet 3: Present and Future TensePuppet 3: Present and Future Tense
Puppet 3: Present and Future Tense
 
Puppet 3: Present and Future Tense
Puppet 3: Present and Future TensePuppet 3: Present and Future Tense
Puppet 3: Present and Future Tense
 
Graphing the Second Screen - Glen Ford @ GraphConnect London 2013
Graphing the Second Screen - Glen Ford @ GraphConnect London 2013Graphing the Second Screen - Glen Ford @ GraphConnect London 2013
Graphing the Second Screen - Glen Ford @ GraphConnect London 2013
 
Boxen: How to Manage an Army of Laptops and Live to Talk About It
Boxen: How to Manage an Army of Laptops and Live to Talk About ItBoxen: How to Manage an Army of Laptops and Live to Talk About It
Boxen: How to Manage an Army of Laptops and Live to Talk About It
 
CPANTS: Kwalitative website and its tools
CPANTS: Kwalitative website and its toolsCPANTS: Kwalitative website and its tools
CPANTS: Kwalitative website and its tools
 
Operations: The Last Mile
Operations: The Last Mile Operations: The Last Mile
Operations: The Last Mile
 
SFSCON23 - Denver Gingerich - How do you really do GPL enforcement
SFSCON23 - Denver Gingerich - How do you really do GPL enforcementSFSCON23 - Denver Gingerich - How do you really do GPL enforcement
SFSCON23 - Denver Gingerich - How do you really do GPL enforcement
 
Tastypie: Easy APIs to Make Your Work Easier
Tastypie: Easy APIs to Make Your Work EasierTastypie: Easy APIs to Make Your Work Easier
Tastypie: Easy APIs to Make Your Work Easier
 
Offline of web applications
Offline of web applicationsOffline of web applications
Offline of web applications
 
Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014
 
Moving Pictures - Web 2.0 Expo NYC
Moving Pictures - Web 2.0 Expo NYCMoving Pictures - Web 2.0 Expo NYC
Moving Pictures - Web 2.0 Expo NYC
 
Powerpoint
PowerpointPowerpoint
Powerpoint
 

Recently uploaded

Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 

Recently uploaded (20)

Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 

Dancer's Ecosystem