language barriers
DESCRIPTION
Common language barriers in web development and how to bend/break them.TRANSCRIPT
![Page 1: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/1.jpg)
Ă
![Page 2: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/2.jpg)
![Page 3: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/3.jpg)
…
![Page 4: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/4.jpg)
Language Barriers
![Page 5: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/5.jpg)
![Page 6: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/6.jpg)
![Page 7: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/7.jpg)
![Page 8: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/8.jpg)
![Page 9: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/9.jpg)
PHP vs. JavaJava vs. PHPRails vs. PHPPython vs. RailsEtc..
![Page 10: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/10.jpg)
Enter Web-Development
![Page 11: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/11.jpg)
Language Barriers
![Page 12: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/12.jpg)
Client-Side (Everyone)
HTML,XHTML,CSS,JavaScript,Flash, Flex …
![Page 13: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/13.jpg)
Server-Side (Normal People)
PHP(Cake/Zend/other), Perl, Python(Zope/Turbogears/etc.),
Ruby(Rails/Merb)
![Page 14: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/14.jpg)
Server-Side (“Enterprise”)
Java (JSP,JSF,Seam), ASP.NET(C#,…)
![Page 15: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/15.jpg)
Clear limits to most people
![Page 16: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/16.jpg)
…
![Page 17: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/17.jpg)
Let’s bend (break) them.
![Page 18: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/18.jpg)
Who here programmed in PHP?
![Page 19: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/19.jpg)
Who here hates PHP ?
By free-will or other reasons.
![Page 20: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/20.jpg)
Introducing Quercus
http://quercus.caucho.com/
![Page 21: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/21.jpg)
Quercus
• PHP5 Interpreter implementation• …• IN JAVA!
![Page 22: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/22.jpg)
Quercus
• Open Source (GPL)• Implements most common php extension
functions.• Can run non-trivial php apps:
Wordpress,Drupal,MediaWiki,phpMyAdmin
![Page 23: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/23.jpg)
Why use it?
![Page 24: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/24.jpg)
1. It’s FAST
Same as PHP+APC, but with more potential for improvement
![Page 25: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/25.jpg)
2. It’s “Enterprisey”
Deploy on your company’s existing J2EE servers/infrastructure.
![Page 26: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/26.jpg)
3. Java Integration
Plays well with your company’s existing java code/modules.
Easy to write extensions in java (hell of a lot easier than c extensions.. )
![Page 27: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/27.jpg)
Code Samples/Workshop
![Page 29: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/29.jpg)
Moving on…
![Page 30: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/30.jpg)
Who here has programmed in JavaScript?
![Page 31: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/31.jpg)
JavaScript +
• Nice language• Multi-paradigm, prototype-based, functional,
imperative, scripting..• Very powerful but very easy entrance level.
![Page 32: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/32.jpg)
JavaScript -
• Browser-incompatibilities• You only use it in the front-end• Can be disabled on some clients.• A lot of libraries (problem of too many choices)• And did I mention.. Browser incompatibilities ?
![Page 33: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/33.jpg)
Introducing SSJS
Server-Side-JavaScript
![Page 34: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/34.jpg)
For the love of God, WHY?!
Geeky reason: Because we can.
![Page 35: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/35.jpg)
![Page 36: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/36.jpg)
Actual Reasons
• You already know JavaScript– Why use it only on the client? Make your skill
more valuable.
• Become a better programming by knowing server-side programming.
• Access to: databases, files, system commands, server-side DOM, etc.
• NO Browser-incompatibilities!
![Page 37: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/37.jpg)
Two major players
• Rhino (by Mozilla, Java)
• SpiderMonkey (by Mozilla, C/C++, APIs for a lot of languages )
![Page 38: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/38.jpg)
Some more advanced solutions
• Aptana JAXER
• AppJet
• Phobos
![Page 39: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/39.jpg)
Code Samples/Workshop
![Page 40: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/40.jpg)
Questions?
![Page 41: Language Barriers](https://reader034.vdocument.in/reader034/viewer/2022052601/559461af1a28ab9f6a8b46f2/html5/thumbnails/41.jpg)
The end.
Of the presentation and of common language barriers.