HTML5 - The Python Angle
What is this presentation about? <ul><li>A new platform for development is emerging in HTML5 </li><ul><li>What is HTML5?
What is the Python Angle? </li></ul></ul>
What is HTML5?
It's all about the HYPE <ul><li>HTML
DHTML
Web 2.0
Cloud Computing
HTML5 </li></ul>
HTML5 Features <ul><li>Core HTML5 Stuff
CSS3
APIs </li></ul>
HTML5 Javascript APIs <ul><li>Offline Application Cache
Canvas – 2D Context
Storage
Web-workers
Notifications
Cross doc Communications
Web Sockets
geolocation </li></ul>
1. Offline Applications Cache <ul><li>Define manifest in HTML tag
Firefox </li><ul><ul><li>about: cache
Upcoming SlideShare
Loading in...5
×

HTML5 - The Python Angle (PyCon Ireland 2010)

11,459

Published on

Presentation on HTML5 and Pyjamas for PyCon Ireland 2010

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
11,459
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
93
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Steve Jobs – we support two platforms at Apple – the first is HTML5, a fully open, uncontrolled platform. We fully support HTML5, love the technology in it and Apple&apos;s browsers are the lead in terms of HTML5 Support. June 7 th 2010
  • Introduce pyjamas at this point
  • Right now examples include gmail,, google docs or yahoo email on the iphone. scribd.com
  • You could use jython in java applets
  • HTML5 - The Python Angle (PyCon Ireland 2010)

    1. 1. HTML5 - The Python Angle
    2. 2. What is this presentation about? <ul><li>A new platform for development is emerging in HTML5 </li><ul><li>What is HTML5?
    3. 3. What is the Python Angle? </li></ul></ul>
    4. 4. What is HTML5?
    5. 5. It's all about the HYPE <ul><li>HTML
    6. 6. DHTML
    7. 7. Web 2.0
    8. 8. Cloud Computing
    9. 9. HTML5 </li></ul>
    10. 10. HTML5 Features <ul><li>Core HTML5 Stuff
    11. 11. CSS3
    12. 12. APIs </li></ul>
    13. 13. HTML5 Javascript APIs <ul><li>Offline Application Cache
    14. 14. Canvas – 2D Context
    15. 15. Storage
    16. 16. Web-workers
    17. 17. Notifications
    18. 18. Cross doc Communications
    19. 19. Web Sockets
    20. 20. geolocation </li></ul>
    21. 21. 1. Offline Applications Cache <ul><li>Define manifest in HTML tag
    22. 22. Firefox </li><ul><ul><li>about: cache
    23. 23. Edit -> Preferences -> Advanced -> Network </li></ul></ul></ul>IE Firefox Safari Chrome iPhone Android No Yes Yes Yes Yes Yes
    24. 24. 2. Canvas 2D Context <ul><li>Fast access for 2D drawing
    25. 25. 3D Context (Web-GL) </li></ul>IE Firefox Safari Chrome iPhone Android Yes* Yes Yes Yes Yes Yes * 3 rd party explorercanvas maps canvas to IE (VML)
    26. 26. 3. Storage <ul><li>Web-storage (localStorage/globalStorage)
    27. 27. Web SQL replaced by IndexedDB </li></ul>IE Firefox Safari Chrome iPhone Android Yes Yes Yes Yes Yes Yes
    28. 28. 4. Web Workers <ul><li>Background process with limited interaction </li></ul>IE Firefox Safari Chrome iPhone Android No Yes Yes Yes No Yes
    29. 29. 5. Notifications <ul><li>Server sent events – not going anywhere
    30. 30. Comms API – Cross window
    31. 31. Comms API – Channel </li></ul>IE Firefox Safari Chrome iPhone Android No Yes Yes Yes ? ?
    32. 32. 6. Web Sockets <ul><li>Long living sockets
    33. 33. Bi-directional
    34. 34. Green Unicorn </li></ul>IE Firefox Safari Chrome iPhone Android No Yes Yes Yes Yes ?
    35. 35. 7. Geolocation <ul><li>Locate the browser </li></ul>IE Firefox Safari Chrome iPhone Android No Yes Yes Yes Yes Yes
    36. 36. 8. Odds and Ends <ul><li>Drag and Drop
    37. 37. File API
    38. 38. Micro data
    39. 39. Form Fields
    40. 40. ARIA
    41. 41. Audio / Video tags </li></ul>
    42. 42. What is RIA?
    43. 43. RIA Characteristics <ul><li>Performance
    44. 44. Richness
    45. 45. Distributed (rather than thin client)
    46. 46. Searchability
    47. 47. Consistent user experience </li></ul>
    48. 48. RIA Frameworks <ul><li>Plugins </li><ul><ul><ul><li>Java Applets
    49. 49. Silverlight
    50. 50. Flash / Adobe Flex </li></ul></ul></ul><li>Javascript target (Client only) </li><ul><ul><ul><li>Javascript frameworks with GUI builders: </li><ul><li>qooxdoo, ExtJS (sencha), Prototype, UIZE, TurboWidgets, TIBCO and 100 more </li></ul><li>SproutCore (apple sponsored)
    51. 51. Cappuccino, (gianduia???)
    52. 52. JavascriptMVC </li></ul></ul></ul><li>Javascript target (Client and Server) </li><ul><ul><ul><li>OpenLaszlo
    53. 53. GWT (google sponsored)
    54. 54. Vaadin </li></ul></ul></ul></ul>
    55. 55. Python in HTML5/RIA Space <ul><li>Pyjamas </li><ul><ul><li>Pyjamas / GWT Widgets
    56. 56. Pyjamas / Pure MVC </li></ul></ul><li>Skulpt </li></ul>
    57. 57. What does Pyjamas Need? <ul><li>Positive: </li><ul><ul><ul><li>Documentation is good (but out of date)
    58. 58. It works, now
    59. 59. Uses python – good for large projects
    60. 60. Debuggable (in native Linux deployment)
    61. 61. Can get to most of the DOM
    62. 62. New java2python translator (Thomas Kalka) </li></ul></ul></ul><li>Not so good: </li><ul><ul><ul><li>Wysiwyg editor / IDE integration needed (learning curve)
    63. 63. Output Files are too large
    64. 64. Poor Integration to back end – needs single model
    65. 65. Insufficient Traction – needs more developers/money
    66. 66. Native tool chain support missing in Ubuntu 9.10+
    67. 67. Not JavaScript </li></ul></ul></ul></ul>
    68. 68. Critical Success Factors <ul><li>Jython found a niche... </li><ul><ul><li>Jython is an improvement over Java in that it is concise, avoiding all the static typing
    69. 69. Jython allows you to use both Java libraries and Python libraries e.g. beautiful soup
    70. 70. Jython can be used interactively
    71. 71. Don't need to recompile
    72. 72. Features in Jython such as lambda not in Java </li></ul></ul><li>Python's Client Side strengths could be... </li><ul><ul><li>Powerful and simple language
    73. 73. Rich source code base
    74. 74. Build from server successes – seamless environments needed </li></ul></ul></ul>
    75. 75. Python can't “beat” Javascript <ul><li>Server side JavaScript will grow
    76. 76. Developers need integration between client and server frameworks (rails/prototype)
    77. 77. There is not enough reason to replace JS with Python on Client </li></ul>
    78. 78. References <ul><li>Useful Sites: </li><ul><ul><ul><li>http://www.html5rocks.com
    79. 79. http://diveintohtml5.org
    80. 80. http://html5doctor.com
    81. 81. http://caniuse.com
    82. 82. http://www.ajaxian.com
    83. 83. http://www.crockford.com
    84. 84. http://www.roughlydrafted.com
    85. 85. http:// www.pyjs.org </li></ul></ul></ul></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×