SlideShare a Scribd company logo
On Technologies and
            languages

Pierre Joye
2012/09/17
Pierre Joye
@pierrejoye
pierre@php.net




                   PHP Core developer
 Contributors to numerous OSS projects
          Works with the ex-Dark Force
                         Portability fan
Webdevcon Keynote hh-2012-09-18
Topics
•History
•Status
•Some useless stats
•Tools, pointers and directions
Any PHP users around?
Any Python users around?
Any Ruby users around?
Any Go users around?
Any Scala users around?
Any Red users around?
b: 1
a: context [
         b: 2
         inc: func [i [integer!] return: [integer!]][
                    i+b
         ]
]
a/inc 5 ;-- will return 7
“You are not a good developer if you
 know only one language, even as
              expert.”
Languages do not matter.
Any Linux users around?
Any Windows users around?
Any Mac users around?
Any Solaris users around?
Any Android users around?
Any i* users around?
OSes do not matter.
Growing amount of clients
http://www.asymco.com/2012/06/19/the-evolution-of-the-computing-value-chain/
http://www.asymco.com/2012/06/19/the-evolution-of-the-computing-value-chain/
Mobile
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
http://www.asymco.com/2012/06/19/the-
evolution-of-the-computing-value-chain/
“No need for DOM abstraction libraries.”

    “You don't have IE6 on mobile.”
                               PhoneGap Day Quote
“Most mobile players are contributing to PhoneGap
   except Apple. Something wrong with them?”

                     “Yep.”
                                        PhoneGap Day Quote
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
OSes do not matter anymore.
         (take #2)
The Web is the (Open) Platform
HTML5
HTML5
          ==
(better)HTML + CSS3 + JS
•phonegap
•Jquery
•Dojo
•Titanium
•Sencha (touch, extjs, etc.)
Phonegap goals

. Make web 1st class app dev platform

. Cease to exist by becoming unnecessary shim
Server Anyone?
Platforms matter.
Cloud Computing!
(the new holly Grail)
Azure, AWS, Openstack, Linode,
     SliceHost, AppEngine

      More to come }:->
Aw Jeez, not this shit again! (take #2)
Moment of solitude
One goal, One Process, One team
DevOps

(or bringing Agility to all teams)
This is a file from the Wikimedia Commons.
This is a file from the Wikimedia Commons.
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
Virtualization for the masses
Webdevcon Keynote hh-2012-09-18
$> vagrant box add base http://files.vagrantup.com/deb64.box
$> vagrant init
$> vagrant up
VeeWee
https://github.com/jedi4ever/veewee
$> vagrant basebox templates
The following templates are available:
vagrant basebox define '' 'archlinux-i686'
vagrant basebox define '' 'CentOS-4.8-i386'
vagrant basebox define '' 'CentOS-5.6-i386'
vagrant basebox define '' 'CentOS-5.6-i386-netboot'
$>   vagrant   basebox define 'debian-60' 'Debian-6.0.1a-amd64'
$>   vagrant   basebox build 'debian-60‚
$>   vagrant   box add 'debian-60' debian-60.box
$>   vagrant   init 'debian-60'
StatsD
https://github.com/etsy/statsd
Fix the apps
Service   Service
           Opera   Firefox     IE
                                          Client    Client




                                                             NoSql
                      SOAP   Tpl    BL

Services
                             App




                                                             DBs
Consumers (apps, browsers, services)




                                              JSON
                   Services
Node   Node            Nginx        Rails   Couch
               DNode                                 SAP
 app    app             php         +Thin    base




DBs    NoSql
                               Services
Smaller, faster, flexible
More Controls. More Releases.
Adapt or die.
Decoupled
(content, storage, service, etc.)
Decoupled CMS
    Demo
create.js
http://createjs.org/
Javascript
•Jasmine
•Jasmine-node
•require.js
•common.js
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
Questions?
Resources

References
http://www.asymco.com/2012/06/19/the-evolution-of-the-computing-value-chain/

Toolkits (mobile, desktop, JS, app)
• http://phonegap.com/
• http://jquery.org/
• http://dojotoolkit.org/
• http://www.appcelerator.com/
• http://www.sencha.com/
Resources

Languages (mobile, desktop, JS, app)
• http://www.php.net/
• http://python.org/
• http://www.ruby-lang.org/
• http://www.red-lang.org/
• http://golang.org/
Resources

Node.js/Javascript
• DNode introduction, http://substack.net/posts/85e1bd/DNode-Asynchronous-Remote-
  Method-Invocation-for-Node-js-and-the-Browser
• DNode for PHP, http://bergie.iki.fi/blog/dnode-make_php_and_node-
  js_talk_to_each_other/
• https://github.com/substack/dnode-ruby
• https://github.com/substack/dnode-perl
• https://github.com/jesusabdullah/dnode-python
• https://github.com/aslakhellesoy/dnode-java
• http://mustache.github.com/
• http://backbonejs.org/
Resources

Node.js/Javascript
• https://github.com/substack/node-browserify
• http://www.commonjs.org/
• http://xcambar.github.com/shepherd-js/
• http://requirejs.org/
• http://backbonejs.org/
• http://mustache.github.com/
• http://createjs.org/
• https://github.com/wikidocs/wikidocs-examples
• http://uxebu.com/blog/2012/09/17/bonsai-fresh-from-the-pixelplant/
  https://www.pixelplant.com/
Resources

Server/Dev/Infrastructure
• http://vagrantup.com/
• https://github.com/jedi4ever/veewee
• https://github.com/capistrano/capistrano
• http://fabfile.org/ (fabric)
• https://github.com/etsy/statsd
• http://codeascraft.etsy.com/2011/02/15/measure-anything-measure-everything/
Resources

Server/Dev/Infrastructure/QA/Misc
• http://lists.w3.org/Archives/Public/public-coremob/2012Sep/0021.html
  (why html is slow for Facebook)
• http://travis-ci.org/
• http://vimeo.com/45633052 (Decoupled CMS talk, by @bergie)

More Related Content

What's hot (20)

PDF
Be a microservices hero
OpenRestyCon
 
PDF
Writing a fast HTTP parser
fukamachi
 
PDF
Regex Considered Harmful: Use Rosie Pattern Language Instead
All Things Open
 
PDF
The Integration of Laravel with Swoole
Albert Chen
 
KEY
About Clack
fukamachi
 
PPTX
The tale of 100 cve's
Prajal Kulkarni
 
ODP
Developing high-performance network servers in Lisp
Vladimir Sedach
 
PDF
解密解密
Tom Chen
 
ODP
Rex - Lightning Talk yapc.eu 2013
Jan Gehring
 
PDF
Php Dependency Management with Composer ZendCon 2016
Clark Everetts
 
PDF
OpenRestyを用いてイケイケなサービスを作る方法
Sho Yoshida
 
PDF
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
Po-Jen Lai
 
PPTX
Иван Новиков «Elastic search»
Mail.ru Group
 
PDF
Per beginners2
Junichi Ishida
 
PDF
Building GUI App with Electron and Lisp
fukamachi
 
PPT
Don’t turn your logs into cuneiform
Andrey Rebrov
 
PPTX
Andres Gutierrez "Phalcon 3.0, Zephir & PHP7"
Fwdays
 
PPTX
A Forgotten HTTP Invisibility Cloak
Soroush Dalili
 
PDF
Building Awesome CLI apps in Go
Steven Francia
 
PDF
[drupalday2017] - REST in pieces
DrupalDay
 
Be a microservices hero
OpenRestyCon
 
Writing a fast HTTP parser
fukamachi
 
Regex Considered Harmful: Use Rosie Pattern Language Instead
All Things Open
 
The Integration of Laravel with Swoole
Albert Chen
 
About Clack
fukamachi
 
The tale of 100 cve's
Prajal Kulkarni
 
Developing high-performance network servers in Lisp
Vladimir Sedach
 
解密解密
Tom Chen
 
Rex - Lightning Talk yapc.eu 2013
Jan Gehring
 
Php Dependency Management with Composer ZendCon 2016
Clark Everetts
 
OpenRestyを用いてイケイケなサービスを作る方法
Sho Yoshida
 
COSCUP 2016 - ROS + Gazebo機器人模擬器工作坊
Po-Jen Lai
 
Иван Новиков «Elastic search»
Mail.ru Group
 
Per beginners2
Junichi Ishida
 
Building GUI App with Electron and Lisp
fukamachi
 
Don’t turn your logs into cuneiform
Andrey Rebrov
 
Andres Gutierrez "Phalcon 3.0, Zephir & PHP7"
Fwdays
 
A Forgotten HTTP Invisibility Cloak
Soroush Dalili
 
Building Awesome CLI apps in Go
Steven Francia
 
[drupalday2017] - REST in pieces
DrupalDay
 

Similar to Webdevcon Keynote hh-2012-09-18 (20)

KEY
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
davyjones
 
KEY
Google App Engine Java, Groovy and Gaelyk
Guillaume Laforge
 
PDF
Node.js
Matt Simonis
 
KEY
Txjs
Brian LeRoux
 
PPT
The future of server side JavaScript
Oleg Podsechin
 
PDF
Developing realtime apps with Drupal and NodeJS
drupalcampest
 
PDF
Web Development using Ruby on Rails
Avi Kedar
 
PPTX
Be faster then rabbits
Vladislav Bauer
 
PPTX
Ionic Framework - get up and running to build hybrid mobile apps
Andreas Sahle
 
KEY
Titanium Desktop Intro
Marshall Culpepper
 
KEY
PhoneGap at Facebook Mobile Hack
PhoneGap
 
KEY
Practical Use of MongoDB for Node.js
async_io
 
KEY
20120306 dublin js
Richard Rodger
 
KEY
Benefits of an Open environment with Wakanda
Alexandre Morgaut
 
PDF
Cannibalising The Google App Engine
catherinewall
 
DOC
Venkata
Venkata Kumar
 
PDF
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
Edward Wilde
 
PDF
OpenShift Overview
roundman
 
PDF
1.6 米嘉 gobuildweb
Leo Zhou
 
PPTX
UNC Chapel Hill 2014 CTC Retreat - Carolina Cloudapps / RedHat OpenShift Ente...
Jonathan Pletzke
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
davyjones
 
Google App Engine Java, Groovy and Gaelyk
Guillaume Laforge
 
Node.js
Matt Simonis
 
The future of server side JavaScript
Oleg Podsechin
 
Developing realtime apps with Drupal and NodeJS
drupalcampest
 
Web Development using Ruby on Rails
Avi Kedar
 
Be faster then rabbits
Vladislav Bauer
 
Ionic Framework - get up and running to build hybrid mobile apps
Andreas Sahle
 
Titanium Desktop Intro
Marshall Culpepper
 
PhoneGap at Facebook Mobile Hack
PhoneGap
 
Practical Use of MongoDB for Node.js
async_io
 
20120306 dublin js
Richard Rodger
 
Benefits of an Open environment with Wakanda
Alexandre Morgaut
 
Cannibalising The Google App Engine
catherinewall
 
Venkata
Venkata Kumar
 
Docker and serverless Randstad Jan 2019: OpenFaaS Serverless: when functions ...
Edward Wilde
 
OpenShift Overview
roundman
 
1.6 米嘉 gobuildweb
Leo Zhou
 
UNC Chapel Hill 2014 CTC Retreat - Carolina Cloudapps / RedHat OpenShift Ente...
Jonathan Pletzke
 
Ad

More from Pierre Joye (14)

PPTX
Php 7.x 8.0 and hhvm and
Pierre Joye
 
PPTX
Extending php (7), the basics
Pierre Joye
 
PPTX
Php 7 hhvm and co
Pierre Joye
 
PPTX
Short Intro talk to IPC/Berlin 2012
Pierre Joye
 
PPTX
Intro ipcberlin2012
Pierre Joye
 
PPTX
Webdevcon pierrejoye-php54-and-other
Pierre Joye
 
PPTX
Php symfony and software lifecycle
Pierre Joye
 
PPTX
Webplatform And Php
Pierre Joye
 
PPTX
Keynote, PHP World Kongress Munich
Pierre Joye
 
PPTX
Php On Windows
Pierre Joye
 
PPTX
Php On Windows Internals
Pierre Joye
 
PPTX
Test Fest 2009
Pierre Joye
 
PPT
PHP Worl Kongress Munich
Pierre Joye
 
PPT
Developing PHP internals on Windows
Pierre Joye
 
Php 7.x 8.0 and hhvm and
Pierre Joye
 
Extending php (7), the basics
Pierre Joye
 
Php 7 hhvm and co
Pierre Joye
 
Short Intro talk to IPC/Berlin 2012
Pierre Joye
 
Intro ipcberlin2012
Pierre Joye
 
Webdevcon pierrejoye-php54-and-other
Pierre Joye
 
Php symfony and software lifecycle
Pierre Joye
 
Webplatform And Php
Pierre Joye
 
Keynote, PHP World Kongress Munich
Pierre Joye
 
Php On Windows
Pierre Joye
 
Php On Windows Internals
Pierre Joye
 
Test Fest 2009
Pierre Joye
 
PHP Worl Kongress Munich
Pierre Joye
 
Developing PHP internals on Windows
Pierre Joye
 
Ad

Recently uploaded (20)

PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
PDF
introduction to computer hardware and sofeware
chauhanshraddha2007
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
introduction to computer hardware and sofeware
chauhanshraddha2007
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 

Webdevcon Keynote hh-2012-09-18

Editor's Notes

  • #4: Werdeuber PHP sprechen…..Neh, nichtwirklich
  • #5: jQuery Mobile
  • #6: Nutztjemand PHP?Anyone using PHP in the room?If not, which primary language?javascript, dart?, Python, ruby, java, c#, scala?
  • #7: For the fun of it, a Red example Ask: Who knows one language? Two? More? (gut genugetwaszubauen)
  • #8: Esgibtetwas positives, and we can blame the old dark force
  • #9: (gibtsowieso standing neue)
  • #13: Next slide is video, wait a bit before switching, need live conn.
  • #17: There is hope.Facebook presenter“HTML5 is not useable for mobile devices”
  • #19: Esgibtetwas positives, and we can blame the old dark force
  • #20: Aberauch negatives, wirsindschuld.
  • #21: World Domination plan seiterste Tag!
  • #22: New company (on the block),gleicheZiele. Dark Force
  • #24: Take #2
  • #27: http://lists.w3.org/Archives/Public/public-coremob/2012Sep/0021.html(why html is slow for Facebook)Scrolling performance, GPU support, touch solltemehr features habenCrazy things like gifsocket
  • #28: jQuery Mobile
  • #29: jQuery Mobile
  • #31: Vendor platforms, Microsoft, linux, oracle, etc.
  • #33: Cloud platforms… und die so genannte standards
  • #34: Fail.
  • #35: Broken Old Methods fail.Alte toolsAlter processeJahres plan und dieseganze geschichte
  • #39: Wernutzt (schon) CI in seine Prjs? Wernicht hat irgendwieschonein Problem :>
  • #40: Oder selenium usw. Apps testing, etc.
  • #42: keine Entschuldigung mehr nicht zu arbeiten ;)Server, client (win/android/linux/etc) no idea about OSX on VM
  • #43: Vagrant, anyone uses it?
  • #44: Get your VM up and running
  • #45: keine Entschuldigung mehr nicht zu arbeiten ;)
  • #46: Get your VM up and running
  • #47: Get your VM up and running
  • #48: MonitoringZum beispielGraphite (time serie data store), console, repeater (cluster of statsd servers)
  • #49: keine Entschuldigung mehr nicht zu arbeiten ;)
  • #50: monolitic
  • #51: keine Entschuldigung mehr nicht zu arbeiten ;)Services, twitter, booking platform, finances, etc. etc.
  • #53: Deployment tools like capistrano, fabric
  • #57: Decoupled contentDemoWikidocs, collabaritive editing, html
  • #58: Backbone, moustache, require.js, jasmine (unit testing)
  • #59: Unit testing, manual durch browser, automationmoeglich via node
  • #60: Modulaer, loader, etc.
  • #61: Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions,views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
  • #62: Flash to html5 converter, underlying lib Banzai ist grade freigegeben
  • #64: Nutztjemand PHP?Anyone using PHP in the room?If not, which primary language?javascript, Python, ruby, java, c#, scala?
  • #65: Nutztjemand PHP?Anyone using PHP in the room?If not, which primary language?javascript, Python, ruby, java, c#, scala?
  • #66: Nutztjemand PHP?Anyone using PHP in the room?If not, which primary language?javascript, Python, ruby, java, c#, scala?
  • #67: Nutztjemand PHP?Anyone using PHP in the room?If not, which primary language?javascript, Python, ruby, java, c#, scala?
  • #68: Nutztjemand PHP?Anyone using PHP in the room?If not, which primary language?javascript, Python, ruby, java, c#, scala?
  • #69: Nutztjemand PHP?Anyone using PHP in the room?If not, which primary language?javascript, Python, ruby, java, c#, scala?