68
On Technologies and languages Pierre Joye 2012/09/17

Webdevcon Keynote hh-2012-09-18

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Webdevcon Keynote hh-2012-09-18

On Technologies and languages

Pierre Joye2012/09/17

Page 2: Webdevcon Keynote hh-2012-09-18

Pierre Joye@[email protected]

PHP Core developerContributors to numerous OSS projects

Works with the ex-Dark ForcePortability fan

Page 3: Webdevcon Keynote hh-2012-09-18
Page 4: Webdevcon Keynote hh-2012-09-18

Topics•History•Status•Some useless stats•Tools, pointers and directions

Page 5: Webdevcon Keynote hh-2012-09-18

Any PHP users around?Any Python users around?Any Ruby users around?Any Go users around?Any Scala users around?Any Red users around?

Page 6: Webdevcon Keynote hh-2012-09-18

b: 1a: context [

b: 2 inc: func [i [integer!] return: [integer!]][

i + b ]

] a/inc 5 ;-- will return 7

Page 7: Webdevcon Keynote hh-2012-09-18

“You are not a good developer if you

know only one language, even as

expert.”

Page 8: Webdevcon Keynote hh-2012-09-18

Languages do not matter.

Page 9: Webdevcon Keynote hh-2012-09-18

Any Linux users around?Any Windows users around?Any Mac users around?Any Solaris users around?Any Android users around?Any i* users around?

Page 10: Webdevcon Keynote hh-2012-09-18

OSes do not matter.

Page 11: Webdevcon Keynote hh-2012-09-18

Growing amount of clients

Page 12: Webdevcon Keynote hh-2012-09-18

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

Page 13: Webdevcon Keynote hh-2012-09-18

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

Page 14: Webdevcon Keynote hh-2012-09-18

Mobile

Page 15: Webdevcon Keynote hh-2012-09-18
Page 16: Webdevcon Keynote hh-2012-09-18
Page 17: Webdevcon Keynote hh-2012-09-18

http://w

ww

.asymco.com

/2012/06/19/the-evolution-of-the-com

puting-value-chain/

Page 18: Webdevcon Keynote hh-2012-09-18

“No need for DOM abstraction libraries.”

“You don't have IE6 on mobile.”PhoneGap Day Quote

Page 19: Webdevcon Keynote hh-2012-09-18

“Most mobile players are contributing to PhoneGap

except Apple. Something wrong with them?”

“Yep.”PhoneGap Day Quote

Page 20: Webdevcon Keynote hh-2012-09-18
Pierre Joye
Page 21: Webdevcon Keynote hh-2012-09-18
Page 22: Webdevcon Keynote hh-2012-09-18
Page 23: Webdevcon Keynote hh-2012-09-18

OSes do not matter anymore.

(take #2)

Page 24: Webdevcon Keynote hh-2012-09-18

The Web is the (Open) Platform

Page 25: Webdevcon Keynote hh-2012-09-18

HTML5

Page 26: Webdevcon Keynote hh-2012-09-18

HTML5

(better)HTML + CSS3 + JS

==

Page 27: Webdevcon Keynote hh-2012-09-18

•phonegap•Jquery •Dojo•Titanium•Sencha (touch, extjs, etc.)

Page 28: Webdevcon Keynote hh-2012-09-18

Phonegap goals

. Make web 1st class app dev platform

. Cease to exist by becoming unnecessary shim

Page 29: Webdevcon Keynote hh-2012-09-18

Server Anyone?

Page 30: Webdevcon Keynote hh-2012-09-18

Platforms matter.

Page 31: Webdevcon Keynote hh-2012-09-18

Cloud Computing!

(the new holly Grail)

Page 32: Webdevcon Keynote hh-2012-09-18

Azure, AWS, Openstack, Linode,

SliceHost, AppEngine

More to come }:->

Page 33: Webdevcon Keynote hh-2012-09-18

Aw Jeez, not this shit again! (take #2)

Page 34: Webdevcon Keynote hh-2012-09-18

Moment of solitude

Page 35: Webdevcon Keynote hh-2012-09-18

One goal, One Process, One team

Page 36: Webdevcon Keynote hh-2012-09-18

DevOps

(or bringing Agility to all teams)

Page 37: Webdevcon Keynote hh-2012-09-18

This is a file from the Wikimedia Commons.

Page 38: Webdevcon Keynote hh-2012-09-18

This is a file from the Wikimedia Commons.

Page 39: Webdevcon Keynote hh-2012-09-18
Page 40: Webdevcon Keynote hh-2012-09-18
Page 41: Webdevcon Keynote hh-2012-09-18

Virtualization for the masses

Page 42: Webdevcon Keynote hh-2012-09-18
Page 43: Webdevcon Keynote hh-2012-09-18

$> vagrant box add base http://files.vagrantup.com/deb64.box$> vagrant init$> vagrant up

Page 44: Webdevcon Keynote hh-2012-09-18

VeeWeehttps://github.com/jedi4ever/veewee

Page 45: Webdevcon Keynote hh-2012-09-18

$> vagrant basebox templatesThe 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'

Page 46: Webdevcon Keynote hh-2012-09-18

$> 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'

Page 47: Webdevcon Keynote hh-2012-09-18

StatsD

https://github.com/etsy/statsd

Page 48: Webdevcon Keynote hh-2012-09-18

Fix the apps

Page 49: Webdevcon Keynote hh-2012-09-18

App DBs

Opera Firefox Service ClientIE Service

Client

Services

SOAP Tpl BL

NoSql

Page 50: Webdevcon Keynote hh-2012-09-18

Services

Node app

Node app SAPNginx

phpCouchbase

DBsServices

NoSql

Rails +ThinDNode

Consumers (apps, browsers, services)

JSON

Page 51: Webdevcon Keynote hh-2012-09-18

Smaller, faster, flexible

Page 52: Webdevcon Keynote hh-2012-09-18

More Controls. More Releases.

Page 53: Webdevcon Keynote hh-2012-09-18

Adapt or die.

Page 54: Webdevcon Keynote hh-2012-09-18

Decoupled

(content, storage, service, etc.)

Page 55: Webdevcon Keynote hh-2012-09-18

Decoupled CMS

Demo

Page 56: Webdevcon Keynote hh-2012-09-18

create.js

http://createjs.org/

Page 57: Webdevcon Keynote hh-2012-09-18

Javascript

Page 58: Webdevcon Keynote hh-2012-09-18

•Jasmine•Jasmine-node

Page 59: Webdevcon Keynote hh-2012-09-18

•require.js•common.js

Page 60: Webdevcon Keynote hh-2012-09-18
Page 61: Webdevcon Keynote hh-2012-09-18
Page 62: Webdevcon Keynote hh-2012-09-18

Questions?

Page 63: Webdevcon Keynote hh-2012-09-18

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/

Page 64: Webdevcon Keynote hh-2012-09-18

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/

Page 65: Webdevcon Keynote hh-2012-09-18

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/

Page 66: Webdevcon Keynote hh-2012-09-18

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/

Page 67: Webdevcon Keynote hh-2012-09-18

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/

Page 68: Webdevcon Keynote hh-2012-09-18

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)