Effective Android Programming                 with ObjectForms        Pavel Lahoda, droidcon Berlin 2011čtvrtek, 24. březn...
čtvrtek, 24. března 2011
2010 : year when demand for mobile     application development exploded.čtvrtek, 24. března 2011
čtvrtek, 24. března 2011
So many development projects                          So little timečtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Solution ?                           Be Effective !čtvrtek, 24. března 2011
čtvrtek, 24. března 2011
What effective means ?čtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Make less stepsčtvrtek, 24. března 2011
čtvrtek, 24. března 2011
No detoursčtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Releasing application is great feeling,                      but...čtvrtek, 24. března 2011
čtvrtek, 24. března 2011
...think about the entire lifecyclečtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Create no holesčtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Use right toolsčtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Java IDE is your best friendčtvrtek, 24. března 2011
čtvrtek, 24. března 2011
“The most powerful tool for detecting and revealing errors is your compiler.   No XML files should be used and code should ...
čtvrtek, 24. března 2011
Encapsulate your componentsčtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Strings are nasty beastsčtvrtek, 24. března 2011
XML Space invadersčtvrtek, 24. března 2011
Avoid excessive typing                           chevron                           noun                           a line o...
čtvrtek, 24. března 2011
Chevronitis hurtsčtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Alternative ?                           Meet custom ViewGroupčtvrtek, 24. března 2011
Empty ViewGroupčtvrtek, 24. března 2011
ViewGroup constructedčtvrtek, 24. března 2011
ViewGroup layout()čtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Not quite working yet...čtvrtek, 24. března 2011
ViewGroup onMeasure()čtvrtek, 24. března 2011
čtvrtek, 24. března 2011
That’s a lot of Java code !čtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Reflection to the rescuečtvrtek, 24. března 2011
Simplified ViewGroupčtvrtek, 24. března 2011
čtvrtek, 24. března 2011
How AVG worksčtvrtek, 24. března 2011
Inside ViewGroupHelperčtvrtek, 24. března 2011
AVG Usagečtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Need more declarative control ?                     Annotations !čtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Already learned a lot of principlesčtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Time to take it to the next levelčtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Keep it simplečtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Don’t repeat yourselfčtvrtek, 24. března 2011
Introducing ObjectForms                           www.objectforms.comčtvrtek, 24. března 2011
Trivial Examplečtvrtek, 24. března 2011
Trivial Examplečtvrtek, 24. března 2011
Trivial Examplečtvrtek, 24. března 2011
Hello Worldčtvrtek, 24. března 2011
Hello Worldčtvrtek, 24. března 2011
Hello Worldčtvrtek, 24. března 2011
Hello Worldčtvrtek, 24. března 2011
čtvrtek, 24. března 2011
More declarativečtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Sample applicationčtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Inside the Sample applicationčtvrtek, 24. března 2011
Both modes for freečtvrtek, 24. března 2011
Auto Portrait mode                              Both modes for freečtvrtek, 24. března 2011
Auto Portrait mode       Auto Landscape mode                              Both modes for freečtvrtek, 24. března 2011
Object Encapsulation Examplečtvrtek, 24. března 2011
Object Encapsulation Examplečtvrtek, 24. března 2011
Object Encapsulation Examplečtvrtek, 24. března 2011
Objects as members within Objectčtvrtek, 24. března 2011
Objects as members within Objectčtvrtek, 24. března 2011
Objects as members within Objectčtvrtek, 24. března 2011
Objects as members within Objectčtvrtek, 24. března 2011
Objects as members within Objectčtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Compare traditional approach                                vs.                     ObjectForms developmentčtvrtek, 24. bř...
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Traditional development approachčtvrtek, 24. března 2011
Development with ObjectFormsčtvrtek, 24. března 2011
Development with ObjectFormsčtvrtek, 24. března 2011
Development with ObjectFormsčtvrtek, 24. března 2011
Development with ObjectFormsčtvrtek, 24. března 2011
Development with ObjectFormsčtvrtek, 24. března 2011
Development with ObjectFormsčtvrtek, 24. března 2011
Development with ObjectFormsčtvrtek, 24. března 2011
Development with ObjectFormsčtvrtek, 24. března 2011
ObjectForms Demo App                           market://details?id=objectforms.androidčtvrtek, 24. března 2011
Cross platform (GWT)čtvrtek, 24. března 2011
čtvrtek, 24. března 2011
Don’t be afraid !čtvrtek, 24. března 2011
Thank you.čtvrtek, 24. března 2011
Questions & answers                                 @perpetumdesign                                    #objectforms       ...
Credits                             Some of the images are from Flickr using Creative Commons License, all credit goes to ...
Upcoming SlideShare
Loading in …5
×

Droidcon 2011: Effective android programming with object forms

1,469 views

Published on

Pavel Lahoda, Perpetum Design

Mobile application development is one of most dynamically expanding areas, with hundreds of thousands of applications filling virtual shelves of various application stores. There are dozens of new devices every year with new capabilities, and often with different form factors, which makes the UI development across multiple devices quite challenging. Mobile platforms, such as Android, tends to aid there by introducing concepts brought over from the web applications development, where UI elements are declared in markup language and later glued to the (Java) code. This often results in software that is difficult to comprehend, expensive to maintain, next-to-impossible to reuse and most of all : inefficient.
ObjectForms provide an alternative approach. It relies on Java language features, such as introspection to completely eliminate many layers that older approaches deemed necessary to boost both efficiency and reliability of the mobile application development. This talk will look at several myths that are tied to "traditional" approach and provide alternatives. Presentation will explain following :
- how Java can be as declarative as XML
- removing unnecessary hooks will help the productivity
- variations are best handled by polymorphism and conditional statements
- reusing code is possible with sticking to OO principles
The talk is quite compact and has several demos and examples of real, working code.

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

  • Be the first to like this

No Downloads
Views
Total views
1,469
On SlideShare
0
From Embeds
0
Number of Embeds
53
Actions
Shares
0
Downloads
300
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Droidcon 2011: Effective android programming with object forms

  1. 1. Effective Android Programming with ObjectForms Pavel Lahoda, droidcon Berlin 2011čtvrtek, 24. března 2011
  2. 2. čtvrtek, 24. března 2011
  3. 3. 2010 : year when demand for mobile application development exploded.čtvrtek, 24. března 2011
  4. 4. čtvrtek, 24. března 2011
  5. 5. So many development projects So little timečtvrtek, 24. března 2011
  6. 6. čtvrtek, 24. března 2011
  7. 7. Solution ? Be Effective !čtvrtek, 24. března 2011
  8. 8. čtvrtek, 24. března 2011
  9. 9. What effective means ?čtvrtek, 24. března 2011
  10. 10. čtvrtek, 24. března 2011
  11. 11. Make less stepsčtvrtek, 24. března 2011
  12. 12. čtvrtek, 24. března 2011
  13. 13. No detoursčtvrtek, 24. března 2011
  14. 14. čtvrtek, 24. března 2011
  15. 15. Releasing application is great feeling, but...čtvrtek, 24. března 2011
  16. 16. čtvrtek, 24. března 2011
  17. 17. ...think about the entire lifecyclečtvrtek, 24. března 2011
  18. 18. čtvrtek, 24. března 2011
  19. 19. Create no holesčtvrtek, 24. března 2011
  20. 20. čtvrtek, 24. března 2011
  21. 21. Use right toolsčtvrtek, 24. března 2011
  22. 22. čtvrtek, 24. března 2011
  23. 23. Java IDE is your best friendčtvrtek, 24. března 2011
  24. 24. čtvrtek, 24. března 2011
  25. 25. “The most powerful tool for detecting and revealing errors is your compiler. No XML files should be used and code should be written in a way that gives the compiler the opportunity of performing this task as good as possible.” Apache.org The principle of string-free codingčtvrtek, 24. března 2011
  26. 26. čtvrtek, 24. března 2011
  27. 27. Encapsulate your componentsčtvrtek, 24. března 2011
  28. 28. čtvrtek, 24. března 2011
  29. 29. Strings are nasty beastsčtvrtek, 24. března 2011
  30. 30. XML Space invadersčtvrtek, 24. března 2011
  31. 31. Avoid excessive typing chevron noun a line or stripe in the shape of a V or an inverted V, esp. one on the sleeve of a uniform indicating rank or length of service. ORIGIN late Middle English (in heraldic use): from Old French, based on Latin caper ‘goat’ ; compare with Latin capreoli (diminutive of caper) used to mean ‘pair of rafters.’ -itis suffix forming names of inflammatory diseases : cystitis | hepatitis. • informal used with reference to a tendency or state of mind that is compared to a disease : creditcarditis. ORIGIN from Greek feminine form of adjectives ending in -itēs (combined with nosos ‘disease’ implied). chevronitis noun a a disease characterized by obsessive typing of strange characters on the computer keyboard, such as chevrons. ORIGIN late 20th century fell in love of typing enormous amounts of chevrons and other strange characters while “programming”, causing a lot of weird injuries to fingers and hands.čtvrtek, 24. března 2011
  32. 32. čtvrtek, 24. března 2011
  33. 33. Chevronitis hurtsčtvrtek, 24. března 2011
  34. 34. čtvrtek, 24. března 2011
  35. 35. Alternative ? Meet custom ViewGroupčtvrtek, 24. března 2011
  36. 36. Empty ViewGroupčtvrtek, 24. března 2011
  37. 37. ViewGroup constructedčtvrtek, 24. března 2011
  38. 38. ViewGroup layout()čtvrtek, 24. března 2011
  39. 39. čtvrtek, 24. března 2011
  40. 40. Not quite working yet...čtvrtek, 24. března 2011
  41. 41. ViewGroup onMeasure()čtvrtek, 24. března 2011
  42. 42. čtvrtek, 24. března 2011
  43. 43. That’s a lot of Java code !čtvrtek, 24. března 2011
  44. 44. čtvrtek, 24. března 2011
  45. 45. Reflection to the rescuečtvrtek, 24. března 2011
  46. 46. Simplified ViewGroupčtvrtek, 24. března 2011
  47. 47. čtvrtek, 24. března 2011
  48. 48. How AVG worksčtvrtek, 24. března 2011
  49. 49. Inside ViewGroupHelperčtvrtek, 24. března 2011
  50. 50. AVG Usagečtvrtek, 24. března 2011
  51. 51. čtvrtek, 24. března 2011
  52. 52. Need more declarative control ? Annotations !čtvrtek, 24. března 2011
  53. 53. čtvrtek, 24. března 2011
  54. 54. Already learned a lot of principlesčtvrtek, 24. března 2011
  55. 55. čtvrtek, 24. března 2011
  56. 56. Time to take it to the next levelčtvrtek, 24. března 2011
  57. 57. čtvrtek, 24. března 2011
  58. 58. Keep it simplečtvrtek, 24. března 2011
  59. 59. čtvrtek, 24. března 2011
  60. 60. Don’t repeat yourselfčtvrtek, 24. března 2011
  61. 61. Introducing ObjectForms www.objectforms.comčtvrtek, 24. března 2011
  62. 62. Trivial Examplečtvrtek, 24. března 2011
  63. 63. Trivial Examplečtvrtek, 24. března 2011
  64. 64. Trivial Examplečtvrtek, 24. března 2011
  65. 65. Hello Worldčtvrtek, 24. března 2011
  66. 66. Hello Worldčtvrtek, 24. března 2011
  67. 67. Hello Worldčtvrtek, 24. března 2011
  68. 68. Hello Worldčtvrtek, 24. března 2011
  69. 69. čtvrtek, 24. března 2011
  70. 70. More declarativečtvrtek, 24. března 2011
  71. 71. čtvrtek, 24. března 2011
  72. 72. Sample applicationčtvrtek, 24. března 2011
  73. 73. čtvrtek, 24. března 2011
  74. 74. Inside the Sample applicationčtvrtek, 24. března 2011
  75. 75. Both modes for freečtvrtek, 24. března 2011
  76. 76. Auto Portrait mode Both modes for freečtvrtek, 24. března 2011
  77. 77. Auto Portrait mode Auto Landscape mode Both modes for freečtvrtek, 24. března 2011
  78. 78. Object Encapsulation Examplečtvrtek, 24. března 2011
  79. 79. Object Encapsulation Examplečtvrtek, 24. března 2011
  80. 80. Object Encapsulation Examplečtvrtek, 24. března 2011
  81. 81. Objects as members within Objectčtvrtek, 24. března 2011
  82. 82. Objects as members within Objectčtvrtek, 24. března 2011
  83. 83. Objects as members within Objectčtvrtek, 24. března 2011
  84. 84. Objects as members within Objectčtvrtek, 24. března 2011
  85. 85. Objects as members within Objectčtvrtek, 24. března 2011
  86. 86. čtvrtek, 24. března 2011
  87. 87. Compare traditional approach vs. ObjectForms developmentčtvrtek, 24. března 2011
  88. 88. Traditional development approachčtvrtek, 24. března 2011
  89. 89. Traditional development approachčtvrtek, 24. března 2011
  90. 90. Traditional development approachčtvrtek, 24. března 2011
  91. 91. Traditional development approachčtvrtek, 24. března 2011
  92. 92. Traditional development approachčtvrtek, 24. března 2011
  93. 93. Traditional development approachčtvrtek, 24. března 2011
  94. 94. Traditional development approachčtvrtek, 24. března 2011
  95. 95. Traditional development approachčtvrtek, 24. března 2011
  96. 96. Traditional development approachčtvrtek, 24. března 2011
  97. 97. Traditional development approachčtvrtek, 24. března 2011
  98. 98. Traditional development approachčtvrtek, 24. března 2011
  99. 99. Traditional development approachčtvrtek, 24. března 2011
  100. 100. Traditional development approachčtvrtek, 24. března 2011
  101. 101. Traditional development approachčtvrtek, 24. března 2011
  102. 102. Traditional development approachčtvrtek, 24. března 2011
  103. 103. Traditional development approachčtvrtek, 24. března 2011
  104. 104. Traditional development approachčtvrtek, 24. března 2011
  105. 105. Traditional development approachčtvrtek, 24. března 2011
  106. 106. Development with ObjectFormsčtvrtek, 24. března 2011
  107. 107. Development with ObjectFormsčtvrtek, 24. března 2011
  108. 108. Development with ObjectFormsčtvrtek, 24. března 2011
  109. 109. Development with ObjectFormsčtvrtek, 24. března 2011
  110. 110. Development with ObjectFormsčtvrtek, 24. března 2011
  111. 111. Development with ObjectFormsčtvrtek, 24. března 2011
  112. 112. Development with ObjectFormsčtvrtek, 24. března 2011
  113. 113. Development with ObjectFormsčtvrtek, 24. března 2011
  114. 114. ObjectForms Demo App market://details?id=objectforms.androidčtvrtek, 24. března 2011
  115. 115. Cross platform (GWT)čtvrtek, 24. března 2011
  116. 116. čtvrtek, 24. března 2011
  117. 117. Don’t be afraid !čtvrtek, 24. března 2011
  118. 118. Thank you.čtvrtek, 24. března 2011
  119. 119. Questions & answers @perpetumdesign #objectforms pavel@perpetumdesign.comčtvrtek, 24. března 2011
  120. 120. Credits Some of the images are from Flickr using Creative Commons License, all credit goes to their authors. Entire presentation can be freely distributed under Creative Commons license as well. Chevron definition taken from Dictionary application by Apple, Inc. ObjectForms is property of PerpetumDesign. Original idea of Java Bean introspection and UI generation came from BeanView by Will Iverson of CTG Current GWT version uses wonderful reflection package Gwittir from Robert “kebernet” Cooper All other products and trademarks are property of their respective owners. No chevrons were destroyed during preparing this presentation.čtvrtek, 24. března 2011

×